private void handleSpecialInsertCase(OvsdbClient client, String databaseName,
String tableName, String uuid, Row<GenericTableSchema> row, TransactionBuilder transactionBuilder) {
Port port = client.getTypedRowWrapper(Port.class, null);
if (databaseName.equals(OvsVswitchdSchemaConstants.DATABASE_NAME) && tableName.equals(port.getSchema().getName())) {
port = client.getTypedRowWrapper(Port.class, row);
DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
TableSchema<GenericTableSchema> tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
ColumnSchema<GenericTableSchema, Set<UUID>> columnSchema = tableSchema.multiValuedColumn("interfaces", UUID.class);
String namedUuid = "Special_"+tableName;
List<Operation> priorOperations = transactionBuilder.getOperations();
Insert portOperation = (Insert)priorOperations.get(0);
portOperation.value(columnSchema, new UUID(namedUuid));
Column<GenericTableSchema, ?> nameColumn = port.getNameColumn();
List<Column<GenericTableSchema, ?>> columns = new ArrayList<Column<GenericTableSchema, ?>>();
columns.add(nameColumn);
Row<GenericTableSchema> intfRow = new Row<GenericTableSchema>(tableSchema, columns);
this.processTypedInsertTransaction(client, databaseName, "Interface", null, null, null, namedUuid, intfRow, transactionBuilder);
}
}