package org.opendaylight.ovsdb.lib.operations;
import java.util.Map;
-import java.util.Set;
-import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
-import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
import org.opendaylight.ovsdb.lib.schema.TableSchema;
}
public <D, C extends TableSchema<C>> Insert<E> value(ColumnSchema<C, D> columnSchema, D value) {
- Object untypedValue = null;
- if (columnSchema.getType().isMultiValued()) {
- if (value instanceof Set) {
- untypedValue = OvsDBSet.fromSet((Set) value);
- } else if (value instanceof Map) {
- untypedValue = OvsDBMap.fromMap((Map)value);
- }
- } else {
- untypedValue = value;
- }
+ Object untypedValue = columnSchema.getNormalizeData(value);
row.put(columnSchema.getName(), untypedValue);
return this;
}
package org.opendaylight.ovsdb.lib.operations;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
import org.opendaylight.ovsdb.lib.notation.Condition;
import org.opendaylight.ovsdb.lib.notation.Mutation;
import org.opendaylight.ovsdb.lib.notation.Mutator;
-import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
-import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
import org.opendaylight.ovsdb.lib.schema.TableSchema;
public <T extends TableSchema<T>, D> Mutate<E> addMutation(ColumnSchema<T, D> columnSchema, Mutator mutator, D value) {
columnSchema.validate(value);
- Object untypedValue = null;
- if (columnSchema.getType().isMultiValued()) {
- if (value instanceof Set) {
- untypedValue = OvsDBSet.fromSet((Set) value);
- } else if (value instanceof Map) {
- untypedValue = OvsDBMap.fromMap((Map)value);
- }
- } else {
- untypedValue = value;
- }
+ Object untypedValue = columnSchema.getNormalizeData(value);
mutations.add(new Mutation(columnSchema.getName(), mutator, untypedValue));
return this;
}
public <T extends TableSchema<T>, D> Update<E> set(ColumnSchema<T, D> columnSchema, D value) {
columnSchema.validate(value);
- this.row.put(columnSchema.getName(), value);
+ Object untypedValue = columnSchema.getNormalizeData(value);
+ this.row.put(columnSchema.getName(), untypedValue);
return this;
}
*/
package org.opendaylight.ovsdb.lib.schema;
-import com.fasterxml.jackson.databind.JsonNode;
+import java.util.Map;
+import java.util.Set;
+
import org.opendaylight.ovsdb.lib.notation.Condition;
import org.opendaylight.ovsdb.lib.notation.Function;
+import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
+import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
+
+import com.fasterxml.jackson.databind.JsonNode;
public class ColumnSchema<E extends TableSchema<E>, D> {
return (D) this.getType().valueFromJson(value);
}
+ public Object getNormalizeData(D value) {
+ Object untypedValue = null;
+ if (value instanceof Set) {
+ untypedValue = OvsDBSet.fromSet((Set) value);
+ } else if (value instanceof Map) {
+ untypedValue = OvsDBMap.fromMap((Map)value);
+ } else {
+ untypedValue = value;
+ }
+ return untypedValue;
+ }
}