use of com.fasterxml.jackson.core.JsonParser in project rest.li by linkedin.
the class JacksonDataCodec method readMap.
@Override
public DataMap readMap(Reader in) throws IOException {
final Parser parser = new Parser();
JsonParser jsonParser = null;
try {
jsonParser = _jsonFactory.createParser(in);
return parser.parse(jsonParser, DataMap.class);
} catch (IOException e) {
throw e;
} finally {
closeJsonParserQuietly(jsonParser);
}
}
use of com.fasterxml.jackson.core.JsonParser in project rest.li by linkedin.
the class JacksonDataCodec method readList.
@Override
public DataList readList(Reader in) throws IOException {
final Parser parser = new Parser();
JsonParser jsonParser = null;
try {
jsonParser = _jsonFactory.createParser(in);
return parser.parse(jsonParser, DataList.class);
} catch (IOException e) {
throw e;
} finally {
closeJsonParserQuietly(jsonParser);
}
}
use of com.fasterxml.jackson.core.JsonParser in project orientdb by orientechnologies.
the class OGraphSONReader method inputGraph.
/**
* Input the JSON stream data into the graph. More control over how data is streamed is provided by this method.
*
* @param jsonInputStream
* an InputStream of JSON data
* @param bufferSize
* the amount of elements to hold in memory before committing a transactions (only valid for TransactionalGraphs)
* @throws IOException
* thrown when the JSON data is not correctly formatted
*/
public void inputGraph(final InputStream jsonInputStream, int bufferSize, final Set<String> edgePropertyKeys, final Set<String> vertexPropertyKeys) throws IOException {
final JsonParser jp = jsonFactory.createJsonParser(jsonInputStream);
// if this is a transactional localGraph then we're buffering
final BatchGraph batchGraph = BatchGraph.wrap(graph, bufferSize);
final ElementFactory elementFactory = new GraphElementFactory(batchGraph);
OGraphSONUtility graphson = new OGraphSONUtility(GraphSONMode.NORMAL, elementFactory, vertexPropertyKeys, edgePropertyKeys);
long importedVertices = 0;
long importedEdges = 0;
while (jp.nextToken() != JsonToken.END_OBJECT) {
final String fieldname = jp.getCurrentName() == null ? "" : jp.getCurrentName();
if (fieldname.equals(GraphSONTokens.MODE)) {
jp.nextToken();
final GraphSONMode mode = GraphSONMode.valueOf(jp.getText());
graphson = new OGraphSONUtility(mode, elementFactory, vertexPropertyKeys, edgePropertyKeys);
} else if (fieldname.equals(GraphSONTokens.VERTICES)) {
jp.nextToken();
while (jp.nextToken() != JsonToken.END_ARRAY) {
final JsonNode node = jp.readValueAsTree();
graphson.vertexFromJson(node);
importedVertices++;
printStatus(jp, importedVertices, importedEdges);
}
} else if (fieldname.equals(GraphSONTokens.EDGES)) {
jp.nextToken();
while (jp.nextToken() != JsonToken.END_ARRAY) {
final JsonNode node = jp.readValueAsTree();
final Vertex inV = batchGraph.getVertex(OGraphSONUtility.getTypedValueFromJsonNode(node.get(GraphSONTokens._IN_V)));
final Vertex outV = batchGraph.getVertex(OGraphSONUtility.getTypedValueFromJsonNode(node.get(GraphSONTokens._OUT_V)));
graphson.edgeFromJson(node, outV, inV);
importedEdges++;
printStatus(jp, importedVertices, importedEdges);
}
}
}
jp.close();
batchGraph.commit();
}
use of com.fasterxml.jackson.core.JsonParser in project orientdb by orientechnologies.
the class OGraphSONUtility method edgeFromJson.
/**
* Creates an edge from GraphSON using settings supplied in the constructor.
*/
public Edge edgeFromJson(final InputStream json, final Vertex out, final Vertex in) throws IOException {
final JsonParser jp = jsonFactory.createParser(json);
final JsonNode node = jp.readValueAsTree();
return this.edgeFromJson(node, out, in);
}
use of com.fasterxml.jackson.core.JsonParser in project orientdb by orientechnologies.
the class OGraphSONUtility method edgeFromJson.
/**
* Creates an edge from GraphSON using settings supplied in the constructor.
*/
public Edge edgeFromJson(final String json, final Vertex out, final Vertex in) throws IOException {
final JsonParser jp = jsonFactory.createParser(json);
final JsonNode node = jp.readValueAsTree();
return this.edgeFromJson(node, out, in);
}
Aggregations