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

COVERAGE SUMMARY FOR SOURCE FILE [Utils.java]

nameclass, %method, %block, %line, %
Utils.java100% (1/1)80%  (4/5)88%  (92/104)77%  (13.9/18)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Utils100% (1/1)80%  (4/5)88%  (92/104)77%  (13.9/18)
Utils (): void 0%   (0/1)0%   (0/3)0%   (0/1)
newError (Map): VCloudError 100% (1/1)84%  (48/57)69%  (6.9/10)
newReferenceType (Map): ReferenceType 100% (1/1)100% (4/4)100% (1/1)
newReferenceType (Map, String): ReferenceType 100% (1/1)100% (31/31)100% (4/4)
putReferenceType (Map, Map): void 100% (1/1)100% (9/9)100% (2/2)

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.vcloud.util;
20 
21import java.net.URI;
22import java.util.Map;
23 
24import org.jclouds.vcloud.domain.ReferenceType;
25import org.jclouds.vcloud.domain.VCloudError;
26import org.jclouds.vcloud.domain.VCloudError.MinorCode;
27import org.jclouds.vcloud.domain.internal.ErrorImpl;
28import org.jclouds.vcloud.domain.internal.ReferenceTypeImpl;
29 
30/**
31 * 
32 * @author Adrian Cole
33 */
34public class Utils {
35 
36   public static ReferenceType newReferenceType(Map<String, String> attributes, String defaultType) {
37      String uri = attributes.get("href");
38      String type = attributes.get("type");
39      // savvis org has null href
40      URI href = (uri != null) ? URI.create(uri) : null;
41      return new ReferenceTypeImpl(attributes.get("name"), type != null ? type : defaultType, href);
42   }
43 
44   public static ReferenceType newReferenceType(Map<String, String> attributes) {
45      return newReferenceType(attributes, null);
46   }
47 
48   public static VCloudError newError(Map<String, String> attributes) {
49 
50      String vendorSpecificErrorCode = attributes.get("vendorSpecificErrorCode");
51      int errorCode;
52      // remove this logic when vcloud 0.8 is gone
53      try {
54         errorCode = Integer.parseInt(attributes.get("majorErrorCode"));
55      } catch (NumberFormatException e) {
56         errorCode = 500;
57         vendorSpecificErrorCode = attributes.get("majorErrorCode");
58      }
59      MinorCode minorErrorCode = attributes.containsKey("minorErrorCode") ? MinorCode.fromValue(attributes
60               .get("minorErrorCode")) : null;
61      if (minorErrorCode == null || minorErrorCode == MinorCode.UNRECOGNIZED) {
62         vendorSpecificErrorCode = attributes.get("minorErrorCode");
63      }
64 
65      return new ErrorImpl(attributes.get("message"), errorCode, minorErrorCode, vendorSpecificErrorCode, attributes
66               .get("stackTrace"));
67   }
68 
69   public static void putReferenceType(Map<String, ReferenceType> map, Map<String, String> attributes) {
70      map.put(attributes.get("name"), newReferenceType(attributes));
71   }
72}

[all classes][org.jclouds.vcloud.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov