import java.util.List;
import java.util.Map;
+import org.opendaylight.ovsdb.lib.notation.json.RowSerializer;
import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
import org.opendaylight.ovsdb.lib.schema.TableSchema;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.google.common.collect.Maps;
+@JsonSerialize(using = RowSerializer.class)
public class Row<E extends TableSchema<E>> {
@JsonIgnore
private TableSchema<E> tableSchema;
--- /dev/null
+/*
+ * Copyright (C) 2013 Red Hat, Inc.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Authors : Madhu Venugopal
+ */
+package org.opendaylight.ovsdb.lib.notation.json;
+
+import java.io.IOException;
+import java.util.Collection;
+
+import org.opendaylight.ovsdb.lib.notation.Column;
+import org.opendaylight.ovsdb.lib.notation.Row;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+public class RowSerializer extends JsonSerializer<Row> {
+ @Override
+ public void serialize(Row row, JsonGenerator generator,
+ SerializerProvider provider) throws IOException,
+ JsonProcessingException {
+ generator.writeStartObject();
+ Collection<Column> columns = row.getColumns();
+ for (Column<?,?> column : columns) {
+ generator.writeObjectField(column.getSchema().getName(), column.getData());
+ }
+ generator.writeEndObject();
+ }
+}
*/
package org.opendaylight.ovsdb.lib.schema;
-import java.util.Set;
-
import org.opendaylight.ovsdb.lib.error.TyperException;
import org.opendaylight.ovsdb.lib.jsonrpc.JsonUtils;
import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
+import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.JsonNode;
-import com.google.common.collect.Sets;
public abstract class ColumnType {
@Override
public Object valueFromJson(JsonNode value) {
if (isMultiValued()) {
- Set<Object> result = Sets.newHashSet();
+ OvsDBSet<Object> result = new OvsDBSet<Object>();
if(value.isArray()) {
if (value.size() == 2) {
if (value.get(0).isTextual() && "set".equals(value.get(0).asText())) {