1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.trmk.ecloud.xml;
20
21 import static org.jclouds.trmk.vcloud_0_8.util.Utils.newReferenceType;
22 import static org.jclouds.util.SaxUtils.cleanseAttributes;
23
24 import java.util.Map;
25
26 import org.jclouds.trmk.ecloud.domain.ECloudOrg;
27 import org.jclouds.trmk.ecloud.domain.internal.ECloudOrgImpl;
28 import org.jclouds.trmk.vcloud_0_8.domain.ReferenceType;
29 import org.jclouds.trmk.vcloud_0_8.xml.OrgHandler;
30 import org.xml.sax.Attributes;
31 import org.xml.sax.SAXException;
32
33
34
35
36 public class ECloudOrgHandler extends OrgHandler {
37
38 private ReferenceType dataCentersList;
39 private ReferenceType deviceTags;
40 private ReferenceType vAppCatalog;
41
42 public ECloudOrg getResult() {
43 return new ECloudOrgImpl(org.getName(), org.getType(), org.getHref(), description, catalogs, vdcs, tasksLists,
44 keys, dataCentersList, deviceTags, vAppCatalog);
45 }
46
47 @Override
48 public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
49 Map<String, String> attributes = cleanseAttributes(attrs);
50 super.startElement(uri, localName, qName, attrs);
51 if (qName.equals("Link")) {
52 if (attributes.containsKey("type")) {
53 String type = attributes.get("type");
54 if (type != null && type.endsWith("dataCentersList+xml")) {
55 dataCentersList = newReferenceType(attributes);
56 } else if (type != null && type.endsWith("tagsList+xml")) {
57 deviceTags = newReferenceType(attributes);
58 } else if (type != null && type.endsWith("VAppCatalogList+xml")) {
59 vAppCatalog = newReferenceType(attributes);
60 }
61 }
62 }
63 }
64 }