EMMA Coverage Report (generated Mon Dec 09 15:12:29 EST 2013)
[all classes][org.jclouds.glesys.functions.internal]

COVERAGE SUMMARY FOR SOURCE FILE [GleSYSTypeAdapters.java]

nameclass, %method, %block, %line, %
GleSYSTypeAdapters.java67%  (2/3)57%  (4/7)59%  (36/61)47%  (7.5/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class GleSYSTypeAdapters0%   (0/1)0%   (0/1)0%   (0/3)0%   (0/2)
GleSYSTypeAdapters (): void 0%   (0/1)0%   (0/3)0%   (0/2)
     
class GleSYSTypeAdapters$ServerStateAdapter100% (1/1)67%  (2/3)52%  (11/21)43%  (3/7)
write (JsonWriter, Server$State): void 0%   (0/1)0%   (0/6)0%   (0/2)
read (JsonReader): Server$State 100% (1/1)67%  (8/12)50%  (2/4)
GleSYSTypeAdapters$ServerStateAdapter (): void 100% (1/1)100% (3/3)100% (1/1)
     
class GleSYSTypeAdapters$GleSYSBooleanAdapter100% (1/1)67%  (2/3)68%  (25/37)62%  (5/8)
write (JsonWriter, GleSYSBoolean): void 0%   (0/1)0%   (0/10)0%   (0/2)
read (JsonReader): GleSYSBoolean 100% (1/1)92%  (22/24)80%  (4/5)
GleSYSTypeAdapters$GleSYSBooleanAdapter (): void 100% (1/1)100% (3/3)100% (1/1)

1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17package org.jclouds.glesys.functions.internal;
18 
19import java.io.IOException;
20 
21import org.jclouds.glesys.domain.GleSYSBoolean;
22import org.jclouds.glesys.domain.Server;
23 
24import com.google.common.base.Objects;
25import com.google.gson.TypeAdapter;
26import com.google.gson.stream.JsonReader;
27import com.google.gson.stream.JsonToken;
28import com.google.gson.stream.JsonWriter;
29 
30/**
31 * @author Adam Lowe
32 */
33public class GleSYSTypeAdapters {
34 
35   public static class ServerStateAdapter extends TypeAdapter<Server.State> {
36      @Override
37      public void write(JsonWriter writer, Server.State value) throws IOException {
38         writer.value(value.value());
39      }
40 
41      @Override
42      public Server.State read(JsonReader reader) throws IOException {
43         if (reader.peek() == JsonToken.NULL) {
44            reader.nextNull();
45            return Server.State.UNRECOGNIZED;
46         }
47         return Server.State.fromValue(reader.nextString());
48      }
49   }
50 
51   public static class GleSYSBooleanAdapter extends TypeAdapter<GleSYSBoolean> {
52 
53      @Override
54      public void write(JsonWriter writer, GleSYSBoolean value) throws IOException {
55         writer.value(value.getValue() ? "yes" : "no");
56      }
57 
58      @Override
59      public GleSYSBoolean read(JsonReader in) throws IOException {
60         if (in.peek() == JsonToken.BOOLEAN) {
61            return new GleSYSBoolean(in.nextBoolean());
62         } else if (in.peek() == JsonToken.NULL) {
63            return GleSYSBoolean.FALSE;
64         } else {
65            return new GleSYSBoolean(Objects.equal(in.nextString(), "yes"));
66         }
67      }
68 
69   }
70 
71}

[all classes][org.jclouds.glesys.functions.internal]
EMMA 2.0.5312 (C) Vladimir Roubtsov