1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.vcloud.terremark.xml;
20
21 import static org.jclouds.util.SaxUtils.cleanseAttributes;
22 import static org.jclouds.vcloud.util.Utils.newReferenceType;
23
24 import java.util.Map;
25
26 import org.jclouds.vcloud.domain.ReferenceType;
27 import org.jclouds.vcloud.terremark.domain.TerremarkCatalogItem;
28 import org.jclouds.vcloud.terremark.domain.internal.TerremarkCatalogItemImpl;
29 import org.jclouds.vcloud.xml.CatalogItemHandler;
30 import org.xml.sax.Attributes;
31 import org.xml.sax.SAXException;
32
33
34
35
36 public class TerremarkCatalogItemHandler extends CatalogItemHandler {
37
38 private ReferenceType customizationOptions;
39 private ReferenceType computeOptions;
40
41 public TerremarkCatalogItem getResult() {
42 return new TerremarkCatalogItemImpl(catalogItem.getName(), catalogItem.getHref(), description, computeOptions,
43 customizationOptions, entity, properties);
44 }
45
46 @Override
47 public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
48 Map<String, String> attributes = cleanseAttributes(attrs);
49 super.startElement(uri, localName, qName, attrs);
50 if (qName.equals("Link")) {
51 if (attributes.containsKey("name")) {
52 if (attributes.get("name").equals("Customization Options")) {
53 customizationOptions = newReferenceType(attributes);
54 } else if (attributes.get("name").equals("Compute Options")) {
55 computeOptions = newReferenceType(attributes);
56 }
57 }
58
59 }
60 }
61 }