EMMA Coverage Report (generated Fri Aug 26 14:14:05 EDT 2011)
[all classes][org.jclouds.aws.ec2.config]

COVERAGE SUMMARY FOR SOURCE FILE [AWSEC2RestClientModule.java]

nameclass, %method, %block, %line, %
AWSEC2RestClientModule.java100% (1/1)27%  (3/11)72%  (58/80)47%  (7/15)

COVERAGE BREAKDOWN BY CLASS AND METHOD

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

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