package org.opennaas.extensions.opendaylight.vtn.protocol.client.serializers.json.deserialize; import java.io.IOException; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.JsonToken; import org.codehaus.jackson.map.DeserializationContext; import org.codehaus.jackson.map.JsonDeserializer; import org.opennaas.extensions.opendaylight.vtn.model.PortMap; public class PortMapJSONDeserializer extends JsonDeserializer<PortMap> { /*{ "portmap":{ "logical_port_id":"PP-OF:00:00:00:00:00:00:00:05-s5-eth2","tagged":"false"}} */ @Override public PortMap deserialize(JsonParser jp, DeserializationContext dc) throws IOException, JsonProcessingException { PortMap portMap = new PortMap(); JsonToken current = jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldName = jp.getCurrentName(); if (fieldName.equals("portmap")) { while (jp.nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentName().equals("logical_port_id")) { portMap.setLogical_port_id(jp.getText()); } } } } return portMap; } }