EMMA Coverage Report (generated Wed Jun 22 19:47:49 EDT 2011)
[all classes][org.jclouds.vcloud.compute.config]

COVERAGE SUMMARY FOR SOURCE FILE [VCloudExpressComputeServiceContextModule.java]

nameclass, %method, %block, %line, %
VCloudExpressComputeServiceContextModule.java100% (9/9)93%  (13/14)98%  (121/123)94%  (15/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VCloudExpressComputeServiceContextModule100% (1/1)83%  (5/6)97%  (73/75)92%  (12/13)
provideCommonVCloudComputeClient (VCloudExpressComputeClient): CommonVCloudCo... 0%   (0/1)0%   (0/2)0%   (0/1)
VCloudExpressComputeServiceContextModule (): void 100% (1/1)100% (3/3)100% (1/1)
bindVAppConverter (): void 100% (1/1)100% (10/10)100% (2/2)
configure (): void 100% (1/1)100% (52/52)100% (7/7)
defineComputeStrategyModule (): BindComputeStrategiesByClass 100% (1/1)100% (4/4)100% (1/1)
defineComputeSupplierModule (): BindComputeSuppliersByClass 100% (1/1)100% (4/4)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$1100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$1 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$2100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$2 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$3100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$3 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$4100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$4 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$5100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$5 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$6100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$6 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$7100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$7 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)
     
class VCloudExpressComputeServiceContextModule$8100% (1/1)100% (1/1)100% (6/6)100% (1/1)
VCloudExpressComputeServiceContextModule$8 (VCloudExpressComputeServiceContex... 100% (1/1)100% (6/6)100% (1/1)

1/**
2 *
3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4 *
5 * ====================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * 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, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ====================================================================
18 */
19package org.jclouds.vcloud.compute.config;
20 
21import javax.inject.Singleton;
22 
23import org.jclouds.compute.ComputeServiceContext;
24import org.jclouds.compute.config.BindComputeStrategiesByClass;
25import org.jclouds.compute.config.BindComputeSuppliersByClass;
26import org.jclouds.compute.domain.Image;
27import org.jclouds.compute.domain.NodeMetadata;
28import org.jclouds.compute.domain.OperatingSystem;
29import org.jclouds.compute.internal.ComputeServiceContextImpl;
30import org.jclouds.rest.RestContext;
31import org.jclouds.rest.internal.RestContextImpl;
32import org.jclouds.vcloud.VCloudExpressClient;
33import org.jclouds.vcloud.compute.CommonVCloudComputeClient;
34import org.jclouds.vcloud.compute.VCloudExpressComputeClient;
35import org.jclouds.vcloud.compute.functions.ImagesInVCloudExpressOrg;
36import org.jclouds.vcloud.compute.functions.ParseOsFromVAppTemplateName;
37import org.jclouds.vcloud.compute.functions.VCloudExpressVAppToNodeMetadata;
38import org.jclouds.vcloud.compute.internal.VCloudExpressComputeClientImpl;
39import org.jclouds.vcloud.domain.Org;
40import org.jclouds.vcloud.domain.VCloudExpressVApp;
41 
42import com.google.common.base.Function;
43import com.google.inject.Provides;
44import com.google.inject.Scopes;
45import com.google.inject.TypeLiteral;
46 
47/**
48 * Configures the {@link VCloudComputeServiceContext}; requires
49 * {@link VCloudExpressComputeClientImpl} bound.
50 * 
51 * @author Adrian Cole
52 */
53public class VCloudExpressComputeServiceContextModule extends CommonVCloudComputeServiceContextModule {
54 
55   @Override
56   protected void configure() {
57      super.configure();
58      bindVAppConverter();
59      bind(new TypeLiteral<ComputeServiceContext>() {
60      }).to(new TypeLiteral<ComputeServiceContextImpl<VCloudExpressClient, VCloudExpressClient>>() {
61      }).in(Scopes.SINGLETON);
62      bind(new TypeLiteral<RestContext<VCloudExpressClient, VCloudExpressClient>>() {
63      }).to(new TypeLiteral<RestContextImpl<VCloudExpressClient, VCloudExpressClient>>() {
64      }).in(Scopes.SINGLETON);
65      bind(new TypeLiteral<Function<Org, Iterable<? extends Image>>>() {
66      }).to(new TypeLiteral<ImagesInVCloudExpressOrg>() {
67      });
68      bind(new TypeLiteral<Function<String, OperatingSystem>>() {
69      }).to(ParseOsFromVAppTemplateName.class);
70   }
71 
72   protected void bindVAppConverter() {
73      bind(new TypeLiteral<Function<VCloudExpressVApp, NodeMetadata>>() {
74      }).to(VCloudExpressVAppToNodeMetadata.class);
75   }
76 
77   @Provides
78   @Singleton
79   CommonVCloudComputeClient provideCommonVCloudComputeClient(VCloudExpressComputeClient in) {
80      return in;
81   }
82 
83   @Override
84   public BindComputeStrategiesByClass defineComputeStrategyModule() {
85      return new VCloudExpressBindComputeStrategiesByClass();
86   }
87 
88   @Override
89   public BindComputeSuppliersByClass defineComputeSupplierModule() {
90      return new CommonVCloudBindComputeSuppliersByClass();
91   }
92}

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