protected GraphDatabaseService getEngine() { return getServer().getDb(); }
protected Store getStore() { if (store == null) { AppShellServer server = getServer(); if (!(server instanceof GraphDatabaseShellServer)) { throw new IllegalStateException("Unexpected server type " + server); } GraphDatabaseService db = ((GraphDatabaseShellServer) server).getDb(); store = new GraphDbStore(db); } return store; }
protected Node getNodeById( long id ) { return this.getServer().getDb().getNodeById( id ); }
private DependencyResolver getDependencyResolver() { return getServer().getDb().getDependencyResolver(); }
private ThreadToStatementContextBridge getThreadToStatementContextBridge() { return getDb().getDependencyResolver().resolveDependency( ThreadToStatementContextBridge.class ); }
private int execute(CSVWriter writer) { return writeResult(writer,true, getServer().getDb()); }
@Override protected void handleResult( Output out, Result result, long startTime ) { final SubGraph subGraph = CypherResultSubGraph.from( result, getServer().getDb(), false ); export( subGraph, out ); } }
public static KernelTransaction currentTransaction( GraphDatabaseShellServer server ) { return server.getDb().getDependencyResolver().resolveDependency( ThreadToStatementContextBridge.class ) .getTopLevelTransactionBoundToThisThread( false ); } }
private Relationship findRel( Node currentNode, long relId ) throws ShellException { Relationship rel = getServer().getDb().getRelationshipById( relId ); if ( rel.getStartNode().equals( currentNode ) || rel.getEndNode().equals( currentNode ) ) { return rel; } throw new ShellException( "No relationship " + relId + " connected to " + currentNode ); } }
@Override protected String getPrompt( Session session ) throws ShellException { try ( org.neo4j.graphdb.Transaction transaction = this.getDb().beginTx() ) { Object rawCustomPrompt = session.get( PROMPT_KEY ); String customPrompt = rawCustomPrompt != null ? rawCustomPrompt.toString() : getDefaultPrompt(); String output = bashInterpreter.interpret( customPrompt, this, session ); transaction.success(); return output; } }
@Override public final List<String> completionCandidates( String partOfLine, Session session ) throws ShellException { try ( Transaction tx = getServer().getDb().beginTx() ) { List<String> result = completionCandidatesInTx( partOfLine, session ); tx.success(); return result; } }
public void addDefaultContext( Object scriptEngine, Session session, Output out ) throws Exception, ShellException { addToContext( scriptEngine, "db", server.getDb(), "out", out, "current", session.getCurrent() == null ? null : getCurrent( server, session ).asPropertyContainer() ); }
private int execute(CountingReader reader, ProgressReporter reporter, Config config) throws IOException { GraphDatabaseService db = getServer().getDb(); return new GeoffFormat(db).load(reader, reporter, config).getNodes(); } }
private SubGraph cypherResultSubGraph(String query, boolean relsBetween) { GraphDatabaseAPI db = getServer().getDb(); try (Transaction tx = db.beginTx()) { Result result = db.execute(query); SubGraph subGraph = CypherResultSubGraph.from(result, db, relsBetween); tx.success(); return subGraph; } }
private SubGraph cypherResultSubGraph(String query, boolean relsBetween) { GraphDatabaseAPI db = getServer().getDb(); try (Transaction tx = db.beginTx()) { Result result = db.execute(query); SubGraph subGraph = CypherResultSubGraph.from(result, db, relsBetween); tx.success(); return subGraph; } } }
private SubGraph cypherResultSubGraph(String query, boolean relsBetween) { GraphDatabaseService db = getServer().getDb(); try (Transaction tx = db.beginTx()) { Result result = db.execute(query); SubGraph subGraph = CypherResultSubGraph.from(result, db, relsBetween); tx.success(); return subGraph; } }
private void setConfig( AppCommandParser parser, Output out ) throws ShellException, RemoteException { String indexName = getIndexName( parser ); String key = parser.argument( 1, "Key not supplied" ); String value = parser.arguments().size() > 2 ? parser.arguments().get( 2 ) : null; Class<? extends PropertyContainer> entityType = getEntityType( parser ); Index<? extends PropertyContainer> index = getIndex( indexName, entityType, out ); if ( index == null ) { return; } String oldValue = value != null ? getServer().getDb().index().setConfiguration( index, key, value ) : getServer().getDb().index().removeConfiguration( index, key ); printWarning( out ); }
private void index( AppCommandParser parser, Session session, Output out ) throws ShellException { NodeOrRelationship current = getCurrent( session ); String index = getIndexName( parser ); String key = parser.argument( 1, "Key not supplied" ); Object value = parser.arguments().size() > 2 ? parser.arguments().get( 2 ) : current.getProperty( key, null ); if ( value == null ) { throw new ShellException( "No value to index" ); } Index theIndex = current.isNode() ? getServer().getDb().index().forNodes( index ) : getServer().getDb().index().forRelationships( index ); theIndex.add( current.asPropertyContainer(), key, value ); }
private void listIndexes( Output out ) throws RemoteException { out.println( "Node indexes:" ); for ( String name : getServer().getDb().index().nodeIndexNames() ) { out.println( " " + name ); } out.println( "" ); out.println( "Relationship indexes:" ); for ( String name : getServer().getDb().index().relationshipIndexNames() ) { out.println( " " + name ); } }
private long execute(CountingReader reader, int batchSize, String relType, boolean diskSpillCache, boolean readLabels, Output out) throws XMLStreamException, IOException { try { GraphDatabaseService db = getServer().getDb(); ProgressReporter reporter = new ProgressReporter(reader, out); XmlGraphMLReader graphMLReader = new XmlGraphMLReader(db) .batchSize(batchSize).relType(relType) .nodeLabels(readLabels) .reporter(reporter); NodeCache cache = diskSpillCache ? MapNodeCache.<String, Long>usingMapDb() : MapNodeCache.<String, Long>usingHashMap(); return graphMLReader.parseXML(reader, cache); } finally { reader.close(); } }