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

COVERAGE SUMMARY FOR SOURCE FILE [DriveInfo.java]

nameclass, %method, %block, %line, %
DriveInfo.java100% (2/2)58%  (15/26)44%  (212/482)55%  (45/82)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DriveInfo100% (1/1)20%  (2/10)33%  (105/320)44%  (26/59)
getClaimed (): Set 0%   (0/1)0%   (0/3)0%   (0/1)
getEncryptionCipher (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getImaging (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getMetrics (): DriveMetrics 0%   (0/1)0%   (0/3)0%   (0/1)
getStatus (): DriveStatus 0%   (0/1)0%   (0/3)0%   (0/1)
getUser (): String 0%   (0/1)0%   (0/3)0%   (0/1)
hashCode (): int 0%   (0/1)0%   (0/85)0%   (0/9)
toString (): String 0%   (0/1)0%   (0/72)0%   (0/1)
equals (Object): boolean 100% (1/1)64%  (70/110)51%  (18/35)
DriveInfo (String, String, long, ClaimType, Iterable, Iterable, Map, DriveSta... 100% (1/1)100% (35/35)100% (8/8)
     
class DriveInfo$Builder100% (1/1)81%  (13/16)66%  (107/162)83%  (19/23)
fromDriveInfo (DriveInfo): DriveInfo$Builder 0%   (0/1)0%   (0/43)0%   (0/1)
imaging (String): DriveInfo$Builder 0%   (0/1)0%   (0/5)0%   (0/2)
tags (Iterable): DriveInfo$Builder 0%   (0/1)0%   (0/7)0%   (0/1)
DriveInfo$Builder (): void 100% (1/1)100% (6/6)100% (2/2)
build (): DriveInfo 100% (1/1)100% (30/30)100% (1/1)
claimType (ClaimType): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/1)
claimed (Iterable): DriveInfo$Builder 100% (1/1)100% (9/9)100% (2/2)
encryptionCipher (String): DriveInfo$Builder 100% (1/1)100% (5/5)100% (2/2)
metrics (DriveMetrics): DriveInfo$Builder 100% (1/1)100% (5/5)100% (2/2)
name (String): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/1)
readers (Iterable): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/1)
size (long): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/1)
status (DriveStatus): DriveInfo$Builder 100% (1/1)100% (5/5)100% (2/2)
user (String): DriveInfo$Builder 100% (1/1)100% (5/5)100% (2/2)
userMetadata (Map): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/1)
uuid (String): DriveInfo$Builder 100% (1/1)100% (7/7)100% (1/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.elasticstack.domain;
20 
21import static com.google.common.base.Preconditions.checkNotNull;
22 
23import java.util.Map;
24import java.util.Set;
25 
26import org.jclouds.javax.annotation.Nullable;
27 
28 
29import com.google.common.collect.ImmutableSet;
30 
31/**
32 * 
33 * @author Adrian Cole
34 */
35public class DriveInfo extends Drive {
36   public static class Builder extends Drive.Builder {
37 
38      protected DriveStatus status;
39      protected String user;
40      protected Set<String> claimed = ImmutableSet.of();
41      @Nullable
42      protected String encryptionCipher;
43      @Nullable
44      protected String imaging;
45      protected DriveMetrics metrics;
46 
47      public Builder status(DriveStatus status) {
48         this.status = status;
49         return this;
50      }
51 
52      public Builder user(String user) {
53         this.user = user;
54         return this;
55      }
56 
57      public Builder claimed(Iterable<String> claimed) {
58         this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
59         return this;
60      }
61 
62      public Builder imaging(String imaging) {
63         this.imaging = imaging;
64         return this;
65      }
66 
67      public Builder metrics(DriveMetrics metrics) {
68         this.metrics = metrics;
69         return this;
70      }
71 
72      public Builder encryptionCipher(String encryptionCipher) {
73         this.encryptionCipher = encryptionCipher;
74         return this;
75      }
76 
77      /**
78       * {@inheritDoc}
79       */
80      @Override
81      public Builder claimType(ClaimType claimType) {
82         return Builder.class.cast(super.claimType(claimType));
83      }
84 
85      /**
86       * {@inheritDoc}
87       */
88      @Override
89      public Builder readers(Iterable<String> readers) {
90         return Builder.class.cast(super.readers(readers));
91      }
92 
93      /**
94       * {@inheritDoc}
95       */
96      @Override
97      public Builder size(long size) {
98         return Builder.class.cast(super.size(size));
99      }
100 
101      /**
102       * {@inheritDoc}
103       */
104      @Override
105      public Builder uuid(String uuid) {
106         return Builder.class.cast(super.uuid(uuid));
107      }
108 
109      /**
110       * {@inheritDoc}
111       */
112      @Override
113      public Builder name(String name) {
114         return Builder.class.cast(super.name(name));
115      }
116 
117      /**
118       * {@inheritDoc}
119       */
120      @Override
121      public Builder tags(Iterable<String> tags) {
122         return Builder.class.cast(super.tags(tags));
123      }
124 
125      /**
126       * {@inheritDoc}
127       */
128      @Override
129      public Builder userMetadata(Map<String, String> userMetadata) {
130         return Builder.class.cast(super.userMetadata(userMetadata));
131      }
132 
133      public static Builder fromDriveInfo(DriveInfo driveInfo) {
134         return new Builder().uuid(driveInfo.getUuid()).name(driveInfo.getName()).size(driveInfo.getSize())
135               .claimType(driveInfo.getClaimType()).readers(driveInfo.getReaders()).tags(driveInfo.getTags())
136               .userMetadata(driveInfo.getUserMetadata()).status(driveInfo.getStatus()).user(driveInfo.getUser())
137               .claimed(driveInfo.getClaimed()).encryptionCipher(driveInfo.getEncryptionCipher())
138               .imaging(driveInfo.getImaging()).metrics(driveInfo.getMetrics());
139      }
140 
141      /**
142       * {@inheritDoc}
143       */
144      @Override
145      public DriveInfo build() {
146         return new DriveInfo(uuid, name, size, claimType, readers, tags, userMetadata, status, user, claimed,
147               encryptionCipher, imaging, metrics);
148      }
149 
150   }
151 
152   protected final DriveStatus status;
153   protected final String user;
154   protected final Set<String> claimed;
155   @Nullable
156   protected final String encryptionCipher;
157   @Nullable
158   protected final String imaging;
159   protected final DriveMetrics metrics;
160 
161   public DriveInfo(String uuid, String name, long size, ClaimType claimType, Iterable<String> readers,
162         Iterable<String> tags, Map<String, String> userMetadata, DriveStatus status, String user, Set<String> claimed,
163         String encryptionCipher, String imaging, DriveMetrics metrics) {
164      super(uuid, name, size, claimType, readers, tags, userMetadata);
165      this.status = status;
166      this.user = user;
167      this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
168      this.encryptionCipher = encryptionCipher;
169      this.imaging = imaging;
170      this.metrics = checkNotNull(metrics, "metrics");
171   }
172 
173   /**
174    * 
175    * @return current status of the drive
176    */
177   public DriveStatus getStatus() {
178      return status;
179   }
180 
181   /**
182    * 
183    * @return owner of the drive
184    */
185   public String getUser() {
186      return user;
187   }
188 
189   /**
190    * 
191    * @return if drive is in use by a server, values are the server uuids
192    */
193   public Set<String> getClaimed() {
194      return claimed;
195   }
196 
197   /**
198    * 
199    * @return either 'none' or 'aes-xts-plain' (the default)
200    */
201   @Nullable
202   public String getEncryptionCipher() {
203      return encryptionCipher;
204   }
205 
206   /**
207    * 
208    * @return percentage completed of drive imaging if this is underway, or 'queued' if waiting for
209    *         another imaging operation to complete first
210    */
211   public String getImaging() {
212      return imaging;
213   }
214 
215   /**
216    * 
217    * @return i/o and request metrics for read and write ops
218    */
219   public DriveMetrics getMetrics() {
220      return metrics;
221   }
222 
223   @Override
224   public int hashCode() {
225      final int prime = 31;
226      int result = super.hashCode();
227      result = prime * result + ((claimed == null) ? 0 : claimed.hashCode());
228      result = prime * result + ((metrics == null) ? 0 : metrics.hashCode());
229      result = prime * result + ((encryptionCipher == null) ? 0 : encryptionCipher.hashCode());
230      result = prime * result + ((imaging == null) ? 0 : imaging.hashCode());
231      result = prime * result + ((status == null) ? 0 : status.hashCode());
232      result = prime * result + ((user == null) ? 0 : user.hashCode());
233      return result;
234   }
235 
236   @Override
237   public boolean equals(Object obj) {
238      if (this == obj)
239         return true;
240      if (!super.equals(obj))
241         return false;
242      if (getClass() != obj.getClass())
243         return false;
244      DriveInfo other = (DriveInfo) obj;
245      if (claimed == null) {
246         if (other.claimed != null)
247            return false;
248      } else if (!claimed.equals(other.claimed))
249         return false;
250      if (metrics == null) {
251         if (other.metrics != null)
252            return false;
253      } else if (!metrics.equals(other.metrics))
254         return false;
255      if (encryptionCipher == null) {
256         if (other.encryptionCipher != null)
257            return false;
258      } else if (!encryptionCipher.equals(other.encryptionCipher))
259         return false;
260      if (imaging == null) {
261         if (other.imaging != null)
262            return false;
263      } else if (!imaging.equals(other.imaging))
264         return false;
265      if (status != other.status)
266         return false;
267      if (user == null) {
268         if (other.user != null)
269            return false;
270      } else if (!user.equals(other.user))
271         return false;
272      return true;
273   }
274 
275   @Override
276   public String toString() {
277      return "[size=" + size + ", claimType=" + claimType + ", readers=" + readers + ", uuid=" + uuid + ", name="
278            + name + ", tags=" + tags + ", userMetadata=" + userMetadata + ", status=" + status + ", user=" + user
279            + ", claimed=" + claimed + ", encryptionCipher=" + encryptionCipher + ", imaging=" + imaging
280            + ", metrics=" + metrics + "]";
281   }
282 
283}

[all classes][org.jclouds.elasticstack.domain]
EMMA 2.0.5312 (C) Vladimir Roubtsov