EMMA Coverage Report (generated Tue Jun 21 05:51:52 EDT 2011)
[all classes][org.jclouds.compute.domain.os]

COVERAGE SUMMARY FOR SOURCE FILE [CIMOperatingSystem.java]

nameclass, %method, %block, %line, %
CIMOperatingSystem.java100% (2/2)40%  (6/15)83%  (647/775)68%  (55/81)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class CIMOperatingSystem100% (1/1)17%  (1/6)14%  (15/107)12%  (3/24)
CIMOperatingSystem (): void 0%   (0/1)0%   (0/3)0%   (0/2)
equals (Object): boolean 0%   (0/1)0%   (0/39)0%   (0/13)
getOsType (): CIMOperatingSystem$OSType 0%   (0/1)0%   (0/3)0%   (0/1)
hashCode (): int 0%   (0/1)0%   (0/20)0%   (0/4)
toString (): String 0%   (0/1)0%   (0/27)0%   (0/1)
CIMOperatingSystem (CIMOperatingSystem$OSType, String, String, String): void 100% (1/1)100% (15/15)100% (3/3)
     
class CIMOperatingSystem$OSType100% (1/1)56%  (5/9)95%  (632/668)91%  (52/57)
fromValue (int): CIMOperatingSystem$OSType 0%   (0/1)0%   (0/24)0%   (0/4)
getCode (): int 0%   (0/1)0%   (0/3)0%   (0/1)
valueOf (String): CIMOperatingSystem$OSType 0%   (0/1)0%   (0/5)0%   (0/1)
values (): CIMOperatingSystem$OSType [] 0%   (0/1)0%   (0/4)0%   (0/1)
<static initializer> 100% (1/1)100% (606/606)100% (43/43)
CIMOperatingSystem$OSType (String, int, int, String, OsFamily, boolean): void 100% (1/1)100% (17/17)100% (6/6)
getFamily (): OsFamily 100% (1/1)100% (3/3)100% (1/1)
getValue (): String 100% (1/1)100% (3/3)100% (1/1)
is64Bit (): boolean 100% (1/1)100% (3/3)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.compute.domain.os;
20 
21import org.jclouds.compute.domain.OperatingSystem;
22import org.jclouds.compute.domain.OsFamily;
23 
24import com.google.common.annotations.Beta;
25 
26/**
27 * Operating system based on DMTF CIM model.
28 * 
29 * @author Adrian Cole
30 * @see <a href="http://dmtf.org/standards/cim/cim_schema_v2260">DMTF CIM model</a>
31 */
32@Beta
33public class CIMOperatingSystem extends OperatingSystem {
34 
35   public enum OSType {
36      /**
37       * Other
38       */
39      OTHER(1, "Other", OsFamily.UNRECOGNIZED, false),
40      /**
41       * MACOS
42       */
43      MACOS(2, "MACOS", OsFamily.DARWIN, false),
44      /**
45       * Solaris
46       */
47      SOLARIS(29, "Solaris", OsFamily.SOLARIS, false),
48      /**
49       * LINUX
50       */
51      LINUX(36, "LINUX", OsFamily.LINUX, false),
52      /**
53       * FreeBSD
54       */
55      FREEBSD(42, "FreeBSD", OsFamily.FREEBSD, false),
56      /**
57       * NetBSD
58       */
59      NETBSD(43, "NetBSD", OsFamily.NETBSD, false),
60      /**
61       * OpenBSD
62       */
63      OPENBSD(65, "OpenBSD", OsFamily.OPENBSD, false),
64      /**
65       * Not Applicable
66       */
67      NOT_APPLICABLE(66, "Not Applicable", OsFamily.UNRECOGNIZED, false),
68      /**
69       * Microsoft Windows Server 2003
70       */
71      WINDOWS_SERVER_2003(69, "Microsoft Windows Server 2003", OsFamily.WINDOWS, false),
72      /**
73       * Microsoft Windows Server 2003 64-Bit
74       */
75      WINDOWS_SERVER_2003_64(70, "Microsoft Windows Server 2003 64-Bit", OsFamily.WINDOWS, true),
76      /**
77       * Microsoft Windows Server 2008
78       */
79      WINDOWS_SERVER_2008(76, "Microsoft Windows Server 2008", OsFamily.WINDOWS, false),
80      /**
81       * Microsoft Windows Server 2008 64-Bit
82       */
83      WINDOWS_SERVER_2008_64(77, "Microsoft Windows Server 2008 64-Bit", OsFamily.WINDOWS, true),
84      /**
85       * FreeBSD 64-Bit
86       */
87      FREEBSD_64(78, "FreeBSD 64-Bit", OsFamily.FREEBSD, true),
88      /**
89       * RedHat Enterprise Linux
90       */
91      RHEL(79, "RedHat Enterprise Linux", OsFamily.RHEL, false),
92      /**
93       * RedHat Enterprise Linux 64-Bit
94       */
95      RHEL_64(80, "RedHat Enterprise Linux 64-Bit", OsFamily.RHEL, true),
96      /**
97       * Solaris 64-Bit
98       */
99      SOLARIS_64(81, "Solaris 64-Bit", OsFamily.SOLARIS, true),
100      /**
101       * SUSE
102       */
103      SUSE(82, "SUSE", OsFamily.SUSE, false),
104      /**
105       * SUSE 64-Bit
106       */
107      SUSE_64(83, "SUSE 64-Bit", OsFamily.SUSE, true),
108      /**
109       * SLES
110       */
111      SLES(84, "SLES", OsFamily.SUSE, false),
112      /**
113       * SLES 64-Bit
114       */
115      SLES_64(85, "SLES 64-Bit", OsFamily.SUSE, true),
116      /**
117       * Novell OES
118       */
119      NOVELL_OES(86, "Novell OES", OsFamily.SUSE, true),
120      /**
121       * Mandriva
122       */
123      MANDRIVA(89, "Mandriva", OsFamily.MANDRIVA, false),
124      /**
125       * Mandriva 64-Bit
126       */
127      MANDRIVA_64(90, "Mandriva 64-Bit", OsFamily.MANDRIVA, true),
128      /**
129       * TurboLinux
130       */
131      TURBOLINUX(91, "TurboLinux", OsFamily.TURBOLINUX, false),
132      /**
133       * TurboLinux 64-Bit
134       */
135      TURBOLINUX_64(92, "TurboLinux 64-Bit", OsFamily.TURBOLINUX, true),
136      /**
137       * Ubuntu
138       */
139      UBUNTU(93, "Ubuntu", OsFamily.UBUNTU, false),
140      /**
141       * Ubuntu 64-Bit
142       */
143      UBUNTU_64(94, "Ubuntu 64-Bit", OsFamily.UBUNTU, true),
144      /**
145       * Debian
146       */
147      DEBIAN(95, "Debian", OsFamily.DEBIAN, false),
148      /**
149       * Debian 64-Bit
150       */
151      DEBIAN_64(96, "Debian 64-Bit", OsFamily.DEBIAN, false),
152      /**
153       * Linux 2.4.x
154       */
155      LINUX_2_4(97, "Linux 2.4.x", OsFamily.LINUX, false),
156      /**
157       * Linux 2.4.x 64-Bi
158       */
159      LINUX_2_4_64(98, "Linux 2.4.x 64-Bit", OsFamily.LINUX, true),
160      /**
161       * Linux 2.6.x
162       */
163      LINUX_2_6(99, "Linux 2.6.x", OsFamily.LINUX, false),
164      /**
165       * Linux 2.6.x 64-Bit
166       */
167      LINUX_2_6_64(100, "Linux 2.6.x 64-Bit", OsFamily.LINUX, true),
168      /**
169       * Linux 64-Bit
170       */
171      LINUX_64(101, "Linux 64-Bit", OsFamily.LINUX, true),
172      /**
173       * Other 64-Bit
174       */
175      OTHER_64(102, "Other 64-Bit", OsFamily.UNRECOGNIZED, true),
176      /**
177       * Microsoft Windows Server 2008 R2
178       */
179      WINDOWS_SERVER_2008_R2(103, "Microsoft Windows Server 2008 R2", OsFamily.WINDOWS, true),
180      /**
181       * VMware ESXi
182       */
183      ESXI(104, "VMware ESXi", OsFamily.ESX, true),
184      /**
185       * Microsoft Windows 7
186       */
187      WINDOWS_7(105, "Microsoft Windows 7", OsFamily.WINDOWS, false),
188      /**
189       * CentOS 32-bit
190       */
191      CENTOS(106, "CentOS 32-bit", OsFamily.CENTOS, false),
192      /**
193       * CentOS 64-bit
194       */
195      CENTOS_64(107, "CentOS 64-bit", OsFamily.CENTOS, true),
196      /**
197       * Oracle Enterprise Linux 32-bit
198       */
199      ORACLE_ENTERPRISE_LINUX(108, "Oracle Enterprise Linux 32-bit", OsFamily.OEL, false),
200      /**
201       * Oracle Enterprise Linux 64-bit
202       */
203      ORACLE_ENTERPRISE_LINUX_64(109, "Oracle Enterprise Linux 64-bit", OsFamily.OEL, true), UNRECOGNIZED(
204               Integer.MAX_VALUE, "UNRECOGNIZED", null, true);
205 
206      private final int code;
207 
208      public int getCode() {
209         return code;
210      }
211 
212      public String getValue() {
213         return value;
214      }
215 
216      public OsFamily getFamily() {
217         return family;
218      }
219 
220      public boolean is64Bit() {
221         return is64Bit;
222      }
223 
224      private final String value;
225      private final OsFamily family;
226      private final boolean is64Bit;
227 
228      OSType(int code, String value, OsFamily family, boolean is64Bit) {
229         this.code = code;
230         this.value = value;
231         this.family = family;
232         this.is64Bit = is64Bit;
233      }
234 
235      public static OSType fromValue(int code) {
236         for (OSType type : values()) {
237            if (type.code == code)
238               return type;
239         }
240         return UNRECOGNIZED;
241      }
242 
243   }
244 
245   private OSType osType;
246 
247   protected CIMOperatingSystem() {
248      super();
249   }
250 
251   public CIMOperatingSystem(OSType osType, String version, String arch, String description) {
252      super(osType.getFamily(), osType.getValue(), version, arch, description, osType.is64Bit());
253      this.osType = osType;
254   }
255 
256   /**
257    * CIM OSType of the image
258    */
259   public OSType getOsType() {
260      return osType;
261   }
262 
263   @Override
264   public int hashCode() {
265      final int prime = 31;
266      int result = super.hashCode();
267      result = prime * result + ((osType == null) ? 0 : osType.hashCode());
268      return result;
269   }
270 
271   @Override
272   public boolean equals(Object obj) {
273      if (this == obj)
274         return true;
275      if (!super.equals(obj))
276         return false;
277      if (getClass() != obj.getClass())
278         return false;
279      CIMOperatingSystem other = (CIMOperatingSystem) obj;
280      if (osType == null) {
281         if (other.osType != null)
282            return false;
283      } else if (!osType.equals(other.osType))
284         return false;
285      return true;
286   }
287 
288   @Override
289   public String toString() {
290      return "[osType=" + osType + ", version=" + getVersion() + ", arch=" + getArch() + ", description="
291               + getDescription() + "]";
292   }
293}

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