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

COVERAGE SUMMARY FOR SOURCE FILE [OrgURIToEndpoint.java]

nameclass, %method, %block, %line, %
OrgURIToEndpoint.java0%   (0/2)0%   (0/4)0%   (0/62)0%   (0/10)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class OrgURIToEndpoint0%   (0/1)0%   (0/2)0%   (0/53)0%   (0/9)
OrgURIToEndpoint (Supplier, ReferenceType): void 0%   (0/1)0%   (0/9)0%   (0/4)
apply (Object): URI 0%   (0/1)0%   (0/44)0%   (0/5)
     
class OrgURIToEndpoint$10%   (0/1)0%   (0/2)0%   (0/9)0%   (0/2)
OrgURIToEndpoint$1 (OrgURIToEndpoint): void 0%   (0/1)0%   (0/6)0%   (0/1)
apply (Org): URI 0%   (0/1)0%   (0/3)0%   (0/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.trmk.vcloud_0_8.functions;
20 
21import java.net.URI;
22import java.util.Map;
23 
24import org.jclouds.rest.ResourceNotFoundException;
25import org.jclouds.trmk.vcloud_0_8.domain.Org;
26import org.jclouds.trmk.vcloud_0_8.domain.ReferenceType;
27 
28import com.google.common.base.Function;
29import com.google.common.base.Supplier;
30import com.google.common.collect.Maps;
31 
32/**
33 * 
34 * @author Adrian Cole
35 */
36public abstract class OrgURIToEndpoint implements Function<Object, URI> {
37 
38   protected final Supplier<Map<String, ? extends Org>> orgMap;
39   protected final ReferenceType defaultOrg;
40 
41   public OrgURIToEndpoint(Supplier<Map<String, ? extends Org>> orgMap,
42         @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultUri) {
43      this.orgMap = orgMap;
44      this.defaultOrg = defaultUri;
45   }
46 
47   public URI apply(Object from) {
48      Map<URI, ? extends Org> uriToOrg = Maps.uniqueIndex(orgMap.get().values(), new Function<Org, URI>() {
49 
50         @Override
51         public URI apply(Org from) {
52            return from.getHref();
53         }
54 
55      });
56      try {
57         Org org = uriToOrg.get(from == null ? defaultOrg.getHref() : from);
58         return getUriFromOrg(org);
59      } catch (NullPointerException e) {
60         throw new ResourceNotFoundException("org " + from + " not found in: " + uriToOrg, e);
61      }
62   }
63 
64   protected abstract URI getUriFromOrg(Org org);
65 
66}

[all classes][org.jclouds.trmk.vcloud_0_8.functions]
EMMA 2.0.5312 (C) Vladimir Roubtsov