lishuai
Committed by Gerrit Code Review

[ONOS-2545]Add the deserialization of UUID.

When converting the operation result of insert into POJO, it need the
deserialization of UUID.

Change-Id: I04f30dd044ddc0963d3f59bda62a9fc469e55e1e
......@@ -22,9 +22,7 @@ import java.util.List;
import org.onosproject.ovsdb.rfc.notation.Row;
import org.onosproject.ovsdb.rfc.notation.UUID;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* All results of ovs table operations. refer to RFC7047 5.2.
......@@ -32,7 +30,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public final class OperationResult {
private int count;
@JsonIgnore
private UUID uuid;
private List<Row> rows;
private String error;
......@@ -95,7 +92,6 @@ public final class OperationResult {
* Return uuid.
* @return uuid
*/
@JsonProperty("uuid")
public UUID getUuid() {
return uuid;
}
......@@ -104,9 +100,9 @@ public final class OperationResult {
* Set uuid value.
* @param uuid the Operation message of uuid
*/
public void setUuid(String uuid) {
public void setUuid(UUID uuid) {
checkNotNull(uuid, "uuid cannot be null");
this.uuid = UUID.uuid(uuid);
this.uuid = uuid;
}
/**
......
......@@ -20,14 +20,17 @@ import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Objects;
import org.onosproject.ovsdb.rfc.notation.json.UUIDConverter;
import org.onosproject.ovsdb.rfc.notation.json.UUIDSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* Handles both uuid and named-uuid.
*/
@JsonSerialize(using = UUIDSerializer.class)
@JsonDeserialize(converter = UUIDConverter.class)
public final class UUID {
private final String value;
......
/*
* Copyright 2015 Open Networking Laboratory
*
* 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.onosproject.ovsdb.rfc.notation.json;
import org.onosproject.ovsdb.rfc.notation.UUID;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.util.StdConverter;
/**
* UUIDConverter Converter.
*/
public class UUIDConverter extends StdConverter<JsonNode, UUID> {
@Override
public UUID convert(JsonNode json) {
return UUID.uuid(json.get(1).asText());
}
}