1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.vcloud.xml;
20
21 import static org.jclouds.vcloud.util.Utils.putReferenceType;
22
23 import java.util.Map;
24
25 import org.jclouds.http.functions.ParseSax;
26 import org.jclouds.util.SaxUtils;
27 import org.jclouds.vcloud.domain.ReferenceType;
28 import org.xml.sax.Attributes;
29 import org.xml.sax.SAXException;
30
31 import com.google.common.collect.Maps;
32
33
34
35
36 public class OrgListHandler extends ParseSax.HandlerWithResult<Map<String, ReferenceType>> {
37
38 private Map<String, ReferenceType> org = Maps.newHashMap();
39
40 public Map<String, ReferenceType> getResult() {
41 return org;
42 }
43
44 @Override
45 public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
46 Map<String, String> attributes = SaxUtils.cleanseAttributes(attrs);
47 if (qName.endsWith("Org")) {
48 String type = attributes.get("type");
49 if (type != null) {
50 if (type.indexOf("org+xml") != -1) {
51 putReferenceType(org, attributes);
52 }
53 }
54 }
55 }
56 }