EMMA Coverage Report (generated Mon Oct 17 05:41:20 EDT 2011)
[all classes][org.jclouds.slicehost.xml]

COVERAGE SUMMARY FOR SOURCE FILE [SliceHandler.java]

nameclass, %method, %block, %line, %
SliceHandler.java100% (1/1)100% (4/4)95%  (217/228)95%  (42.8/45)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SliceHandler100% (1/1)100% (4/4)95%  (217/228)95%  (42.8/45)
endElement (String, String, String): void 100% (1/1)95%  (195/206)94%  (36.8/39)
SliceHandler (): void 100% (1/1)100% (11/11)100% (3/3)
characters (char [], int, int): void 100% (1/1)100% (8/8)100% (2/2)
getResult (): Slice 100% (1/1)100% (3/3)100% (1/1)

1/**
2 * Licensed to jclouds, Inc. (jclouds) under one or more
3 * contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  jclouds licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied.  See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19package org.jclouds.slicehost.xml;
20 
21import java.util.Set;
22 
23import org.jclouds.javax.annotation.Nullable;
24 
25import org.jclouds.http.functions.ParseSax;
26import org.jclouds.slicehost.domain.Slice;
27import org.jclouds.slicehost.domain.Slice.Status;
28import org.xml.sax.SAXException;
29 
30import com.google.common.collect.Sets;
31 
32/**
33 * @author Adrian Cole
34 */
35public class SliceHandler extends ParseSax.HandlerWithResult<Slice> {
36   private StringBuilder currentText = new StringBuilder();
37 
38   private int id;
39   private String name;
40   private int flavorId;
41   @Nullable
42   private Integer imageId;
43   @Nullable
44   private Integer backupId;
45   private Status status;
46   @Nullable
47   private Integer progress;
48   private float bandwidthIn;
49   private float bandwidthOut;
50   private Set<String> addresses = Sets.newLinkedHashSet();
51   @Nullable
52   private String rootPassword;
53 
54   private Slice slice;
55 
56   public Slice getResult() {
57      return slice;
58   }
59 
60   @Override
61   public void endElement(String uri, String localName, String qName) throws SAXException {
62      if (qName.equalsIgnoreCase("id")) {
63         id = Integer.parseInt(currentText.toString().trim());
64      } else if (qName.equalsIgnoreCase("name")) {
65         this.name = currentText.toString().trim();
66      } else if (qName.equalsIgnoreCase("flavor-id")) {
67         flavorId = Integer.parseInt(currentText.toString().trim());
68      } else if (qName.equalsIgnoreCase("image-id")) {
69         imageId = Integer.parseInt(currentText.toString().trim());
70      } else if (qName.equalsIgnoreCase("backup-id")) {
71         backupId = Integer.parseInt(currentText.toString().trim());
72      } else if (qName.equalsIgnoreCase("status")) {
73         this.status = Slice.Status.fromValue(currentText.toString().trim());
74      } else if (qName.equalsIgnoreCase("progress")) {
75         try {
76            progress = Integer.parseInt(currentText.toString().trim());
77         } catch (NumberFormatException e) {
78 
79         }
80      } else if (qName.equalsIgnoreCase("bw-in")) {
81         bandwidthIn = Float.parseFloat(currentText.toString().trim());
82      } else if (qName.equalsIgnoreCase("bw-out")) {
83         bandwidthOut = Float.parseFloat(currentText.toString().trim());
84      } else if (qName.equalsIgnoreCase("address")) {
85         this.addresses.add(currentText.toString().trim());
86      } else if (qName.equalsIgnoreCase("root-password")) {
87         this.rootPassword = currentText.toString().trim();
88      } else if (qName.equalsIgnoreCase("slice")) {
89         this.slice = new Slice(id, name, flavorId, imageId, backupId, status, progress, bandwidthIn, bandwidthOut,
90                  addresses, rootPassword);
91         this.id = -1;
92         this.name = null;
93         this.flavorId = -1;
94         this.imageId = null;
95         this.backupId = null;
96         this.status = null;
97         this.progress = null;
98         this.bandwidthIn = 0;
99         this.bandwidthOut = 0;
100         this.addresses = Sets.newLinkedHashSet();
101         this.rootPassword = null;
102      }
103      currentText = new StringBuilder();
104   }
105 
106   public void characters(char ch[], int start, int length) {
107      currentText.append(ch, start, length);
108   }
109}

[all classes][org.jclouds.slicehost.xml]
EMMA 2.0.5312 (C) Vladimir Roubtsov