All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.neo4j.ogm.drivers.bolt.response.GraphRowModelResponse Maven / Gradle / Ivy

Go to download

Neo4j-OGM transport that uses the official Java-Driver to connect to Neo4j via the Bolt-protocol.

There is a newer version: 4.0.14
Show newest version
/*
 * Copyright (c) 2002-2016 "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 {

	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;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy