org.project.openbaton.nubomedia.paas.model.openshift.PodDeserializer.java Source code

Java tutorial

Introduction

Here is the source code for org.project.openbaton.nubomedia.paas.model.openshift.PodDeserializer.java

Source

/*
 *
 *  * (C) Copyright 2016 NUBOMEDIA (http://www.nubomedia.eu)
 *  *
 *  * Licensed under the Apache License, Version 2.0 (the "License");
 *  * you may not use this file except in compliance with the License.
 *  * You may obtain a copy of the License at
 *  *
 *  *   http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  * Unless required by applicable law or agreed to in writing, software
 *  * distributed under the License is distributed on an "AS IS" BASIS,
 *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  * See the License for the specific language governing permissions and
 *  * limitations under the License.
 *  *
 *
 */

package org.project.openbaton.nubomedia.paas.model.openshift;

import com.google.gson.*;

import java.lang.reflect.Type;

/**
 * Created by maa on 15.10.15.
 */
public class PodDeserializer implements JsonDeserializer<Pod> {
    @Override
    public Pod deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
            throws JsonParseException {

        JsonObject obj = json.getAsJsonObject();

        String phase = "", hostIP = "", podIP = "";
        Metadata metadata = context.deserialize(obj.get("metadata"), Metadata.class);

        if (obj.has("status")) {
            JsonObject status = obj.get("status").getAsJsonObject();
            phase = status.get("phase").getAsString();
            hostIP = status.get("hostIP").getAsString();
            podIP = status.get("podIP").getAsString();
        }

        return new Pod(metadata, new Pod.PodStatus(phase, hostIP, podIP));
    }
}