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

COVERAGE SUMMARY FOR SOURCE FILE [AWSEC2RestClientModule.java]

nameclass, %method, %block, %line, %
AWSEC2RestClientModule.java100% (1/1)33%  (3/9)78%  (58/74)54%  (7/13)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AWSEC2RestClientModule100% (1/1)33%  (3/9)78%  (58/74)54%  (7/13)
getAMIServices (AWSEC2AsyncClient): AMIAsyncClient 0%   (0/1)0%   (0/3)0%   (0/1)
getAMIServices (AWSEC2Client): AMIClient 0%   (0/1)0%   (0/3)0%   (0/1)
getInstanceServices (AWSEC2AsyncClient): InstanceAsyncClient 0%   (0/1)0%   (0/3)0%   (0/1)
getInstanceServices (AWSEC2Client): InstanceClient 0%   (0/1)0%   (0/3)0%   (0/1)
provide (AWSEC2AsyncClient): EC2AsyncClient 0%   (0/1)0%   (0/2)0%   (0/1)
provide (AWSEC2Client): EC2Client 0%   (0/1)0%   (0/2)0%   (0/1)
<static initializer> 100% (1/1)100% (37/37)100% (1/1)
AWSEC2RestClientModule (): void 100% (1/1)100% (6/6)100% (2/2)
configure (): void 100% (1/1)100% (15/15)100% (4/4)

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.aws.ec2.config;
20 
21import java.util.Map;
22 
23import javax.inject.Singleton;
24 
25import org.jclouds.aws.ec2.AWSEC2AsyncClient;
26import org.jclouds.aws.ec2.AWSEC2Client;
27import org.jclouds.aws.ec2.domain.AWSRunningInstance;
28import org.jclouds.aws.ec2.options.AWSRunInstancesOptions;
29import org.jclouds.aws.ec2.services.AWSAMIAsyncClient;
30import org.jclouds.aws.ec2.services.AWSAMIClient;
31import org.jclouds.aws.ec2.services.AWSInstanceAsyncClient;
32import org.jclouds.aws.ec2.services.AWSInstanceClient;
33import org.jclouds.aws.ec2.services.AWSKeyPairAsyncClient;
34import org.jclouds.aws.ec2.services.AWSKeyPairClient;
35import org.jclouds.aws.ec2.services.MonitoringAsyncClient;
36import org.jclouds.aws.ec2.services.MonitoringClient;
37import org.jclouds.aws.ec2.services.PlacementGroupAsyncClient;
38import org.jclouds.aws.ec2.services.PlacementGroupClient;
39import org.jclouds.aws.ec2.services.SpotInstanceAsyncClient;
40import org.jclouds.aws.ec2.services.SpotInstanceClient;
41import org.jclouds.ec2.EC2AsyncClient;
42import org.jclouds.ec2.EC2Client;
43import org.jclouds.ec2.config.EC2RestClientModule;
44import org.jclouds.ec2.domain.RunningInstance;
45import org.jclouds.ec2.options.RunInstancesOptions;
46import org.jclouds.ec2.services.AMIAsyncClient;
47import org.jclouds.ec2.services.AMIClient;
48import org.jclouds.ec2.services.AvailabilityZoneAndRegionAsyncClient;
49import org.jclouds.ec2.services.AvailabilityZoneAndRegionClient;
50import org.jclouds.ec2.services.ElasticBlockStoreAsyncClient;
51import org.jclouds.ec2.services.ElasticBlockStoreClient;
52import org.jclouds.ec2.services.ElasticIPAddressAsyncClient;
53import org.jclouds.ec2.services.ElasticIPAddressClient;
54import org.jclouds.ec2.services.InstanceAsyncClient;
55import org.jclouds.ec2.services.InstanceClient;
56import org.jclouds.ec2.services.SecurityGroupAsyncClient;
57import org.jclouds.ec2.services.SecurityGroupClient;
58import org.jclouds.ec2.services.WindowsAsyncClient;
59import org.jclouds.ec2.services.WindowsClient;
60import org.jclouds.http.RequiresHttp;
61import org.jclouds.rest.ConfiguresRestClient;
62 
63import com.google.common.collect.ImmutableMap;
64import com.google.inject.Provides;
65 
66/**
67 * Configures the EC2 connection.
68 * 
69 * @author Adrian Cole
70 */
71@RequiresHttp
72@ConfiguresRestClient
73public class AWSEC2RestClientModule extends EC2RestClientModule<AWSEC2Client, AWSEC2AsyncClient> {
74 
75   public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap.<Class<?>, Class<?>> builder()//
76            .put(AWSAMIClient.class, AWSAMIAsyncClient.class)//
77            .put(ElasticIPAddressClient.class, ElasticIPAddressAsyncClient.class)//
78            .put(AWSInstanceClient.class, AWSInstanceAsyncClient.class)//
79            .put(AWSKeyPairClient.class, AWSKeyPairAsyncClient.class)//
80            .put(SecurityGroupClient.class, SecurityGroupAsyncClient.class)//
81            .put(PlacementGroupClient.class, PlacementGroupAsyncClient.class)//
82            .put(MonitoringClient.class, MonitoringAsyncClient.class)//
83            .put(WindowsClient.class, WindowsAsyncClient.class)//
84            .put(AvailabilityZoneAndRegionClient.class, AvailabilityZoneAndRegionAsyncClient.class)//
85            .put(ElasticBlockStoreClient.class, ElasticBlockStoreAsyncClient.class)//
86            .put(SpotInstanceClient.class, SpotInstanceAsyncClient.class)//
87            .build();
88 
89   public AWSEC2RestClientModule() {
90      super(AWSEC2Client.class, AWSEC2AsyncClient.class, DELEGATE_MAP);
91   }
92 
93   @Singleton
94   @Provides
95   EC2Client provide(AWSEC2Client in) {
96      return in;
97   }
98 
99   @Singleton
100   @Provides
101   EC2AsyncClient provide(AWSEC2AsyncClient in) {
102      return in;
103   }
104 
105   @Singleton
106   @Provides
107   InstanceClient getInstanceServices(AWSEC2Client in) {
108      return in.getInstanceServices();
109   }
110 
111   @Singleton
112   @Provides
113   InstanceAsyncClient getInstanceServices(AWSEC2AsyncClient in) {
114      return in.getInstanceServices();
115   }
116 
117   @Singleton
118   @Provides
119   AMIClient getAMIServices(AWSEC2Client in) {
120      return in.getAMIServices();
121   }
122 
123   @Singleton
124   @Provides
125   AMIAsyncClient getAMIServices(AWSEC2AsyncClient in) {
126      return in.getAMIServices();
127   }
128 
129   @Override
130   protected void configure() {
131      bind(RunningInstance.Builder.class).to(AWSRunningInstance.Builder.class);
132      bind(RunInstancesOptions.class).to(AWSRunInstancesOptions.class);
133      super.configure();
134   }
135}

[all classes][org.jclouds.aws.ec2.config]
EMMA 2.0.5312 (C) Vladimir Roubtsov