/* * Copyright (c) 2002-2017 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This product is licensed to you under the Apache License, Version 2.0 (the "License"). * You may not use this product except in compliance with the License. * * This product may include a number of subcomponents with * separate copyright notices and license terms. Your use of the source * code for these subcomponents is subject to the terms and * conditions of the subcomponent's license, as noted in the LICENSE file. */ package org.neo4j.ogm.drivers.bolt.response; import java.util.Arrays; import org.neo4j.driver.v1.StatementResult; import org.neo4j.ogm.model.GraphRowListModel; import org.neo4j.ogm.response.model.DefaultGraphRowListModel; import org.neo4j.ogm.transaction.TransactionManager; /** * @author Luanne Misquitta */ public class GraphRowModelResponse extends BoltResponse<GraphRowListModel> { private BoltGraphRowModelAdapter adapter = new BoltGraphRowModelAdapter(new BoltGraphModelAdapter()); public GraphRowModelResponse(StatementResult result, TransactionManager transactionManager) { super(result, transactionManager); adapter.setColumns(Arrays.asList(columns())); } @Override public GraphRowListModel fetchNext() { if (result.hasNext()) { DefaultGraphRowListModel model = new DefaultGraphRowListModel(); model.add(adapter.adapt(result.next().asMap())); while (result.hasNext()) { model.add(adapter.adapt(result.next().asMap())); } return model; } return null; } }