Statistics
| Branch: | Revision:

root / src / com / rackspace / cloud / loadbalancer / api / parsers / NetworkItemXMLParser.java @ c25e8fa0

History | View | Annotate | Download (2.3 kB)

1
/**
2
 * 
3
 */
4
package com.rackspace.cloud.loadbalancer.api.parsers;
5

    
6
import java.util.ArrayList;
7

    
8
import org.xml.sax.Attributes;
9
import org.xml.sax.helpers.DefaultHandler;
10

    
11
import android.util.Log;
12

    
13
import com.rackspace.cloud.loadbalancer.api.client.NetworkItem;
14

    
15
public class NetworkItemXMLParser extends DefaultHandler {
16
        private NetworkItem networkItem;
17
        private ArrayList<NetworkItem> networkItems;
18
        private StringBuffer currentData;
19

    
20
        public void startDocument() {
21
        }
22

    
23
        public void endDocument() {
24
        }
25

    
26
        public void startElement(String uri, String name, String qName, Attributes atts) {
27

    
28
                currentData = new StringBuffer();
29
                if ("accessList".equals(name)) {
30
                        networkItems = new ArrayList<NetworkItem>();
31
                } else if ("networkItem".equals(name)) {
32
                        networkItem = new NetworkItem();
33
                        networkItem.setId(atts.getValue("id"));
34
                        networkItem.setAddress(atts.getValue("address"));
35
                        networkItem.setType(atts.getValue("type"));
36
                }
37
        }
38

    
39
        public void endElement(String uri, String name, String qName) {
40
                if ("networkItem".equals(name)) {
41
                        if (networkItem != null) {
42
                                networkItems.add(networkItem);
43
                        }
44
                }                
45
        }
46

    
47
        public void characters(char ch[], int start, int length) {
48
                Log.d("Rackspace-Cloud", "Characters:    \"");
49
                for (int i = start; i < start + length; i++) {
50
                        switch (ch[i]) {
51
                        case '\\':
52
                                Log.d("Rackspace-Cloud", "\\\\");
53
                                break;
54
                        case '"':
55
                                Log.d("Rackspace-Cloud", "\\\"");
56
                                break;
57
                        case '\n':
58
                                Log.d("Rackspace-Cloud", "\\n");
59
                                break;
60
                        case '\r':
61
                                Log.d("Rackspace-Cloud", "\\r");
62
                                break;
63
                        case '\t':
64
                                Log.d("Rackspace-Cloud", "\\t");
65
                                break;
66
                        default:
67
                                Log.d("Rackspace-Cloud", String.valueOf(ch[i]));
68
                                break;
69
                        }
70
                }
71
                Log.d("Rackspace-Cloud", "\"\n");
72

    
73

    
74
                for (int i = start; i < (start + length); i++) {
75
                        currentData.append(ch[i]);
76
                }
77
        }
78

    
79
        /**
80
         * @return the networkItem
81
         */
82
        public NetworkItem getNetworkItem() {
83
                return networkItem;
84
        }
85

    
86
        /**
87
         * @param networkItem the networkItem to set
88
         */
89
        public void setBetworkItem(NetworkItem networkItem) {
90
                this.networkItem = networkItem;
91
        }
92

    
93
        /**
94
         * @return the networkItems
95
         */
96
        public ArrayList<NetworkItem> getNetworkItems() {
97
                return networkItems;
98
        }
99

    
100
        /**
101
         * @param networkItems the networkItems to set
102
         */
103
        public void setNetworkItems(ArrayList<NetworkItem> networkItems) {
104
                this.networkItems = networkItems;
105
        }
106

    
107
}