API updates
This commit is contained in:
@@ -19,13 +19,17 @@ package org.springframework.data.graph.neo4j.rest.support;
|
||||
import com.sun.jersey.api.client.ClientResponse;
|
||||
import org.neo4j.graphdb.*;
|
||||
import org.neo4j.graphdb.Traverser.Order;
|
||||
import org.neo4j.helpers.collection.CombiningIterable;
|
||||
import org.neo4j.helpers.collection.IterableWrapper;
|
||||
import org.neo4j.helpers.collection.IteratorUtil;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
|
||||
public class RestNode extends RestEntity implements Node {
|
||||
public RestNode( URI uri, RestGraphDatabase graphDatabase ) {
|
||||
super( uri, graphDatabase );
|
||||
@@ -98,13 +102,34 @@ public class RestNode extends RestEntity implements Node {
|
||||
return wrapRelationships( restRequest.get( "relationships/" + RestDirection.from( direction ).pathName ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Relationship> getRelationships(final Direction direction, RelationshipType... types) {
|
||||
return new CombiningIterable<Relationship>(new IterableWrapper<Iterable<Relationship>, RelationshipType>(asList(types)) {
|
||||
@Override
|
||||
protected Iterable<Relationship> underlyingObjectToObject(RelationshipType relationshipType) {
|
||||
return getRelationships(direction, relationshipType);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasRelationship(Direction direction, RelationshipType... types) {
|
||||
for (RelationshipType relationshipType : types) {
|
||||
if (hasRelationship(direction,relationshipType)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Iterable<Relationship> getRelationships( RelationshipType type,
|
||||
Direction direction ) {
|
||||
String relationshipsKey = RestDirection.from( direction ).dataName + "_relationships";
|
||||
Object relationship = getStructuralData().get( relationshipsKey );
|
||||
Object relationship = getStructuralData().get(directionParameter(direction));
|
||||
return wrapRelationships( restRequest.get( relationship + "/" + type.name() ) );
|
||||
}
|
||||
|
||||
private String directionParameter(Direction direction) {
|
||||
return RestDirection.from(direction).dataName + "_relationships";
|
||||
}
|
||||
|
||||
public Relationship getSingleRelationship( RelationshipType type,
|
||||
Direction direction ) {
|
||||
return IteratorUtil.singleOrNull( getRelationships( type, direction ) );
|
||||
|
||||
@@ -19,7 +19,8 @@ package org.springframework.data.graph.neo4j.rest.support;
|
||||
import org.apache.commons.configuration.Configuration;
|
||||
import org.neo4j.graphdb.GraphDatabaseService;
|
||||
import org.neo4j.kernel.AbstractGraphDatabase;
|
||||
import org.neo4j.kernel.ImpermanentGraphDatabase;
|
||||
import org.neo4j.server.configuration.PropertyFileConfigurator;
|
||||
import org.neo4j.test.ImpermanentGraphDatabase;
|
||||
import org.neo4j.server.AddressResolver;
|
||||
import org.neo4j.server.Bootstrapper;
|
||||
import org.neo4j.server.NeoServerWithEmbeddedWebServer;
|
||||
@@ -97,7 +98,7 @@ public class LocalTestServer {
|
||||
}
|
||||
};
|
||||
neoServer = new NeoServerWithEmbeddedWebServer(bootstrapper
|
||||
, addressResolver, new StartupHealthCheck(), new File(url.getPath()), new Jetty6WebServer(), serverModules) {
|
||||
, addressResolver, new StartupHealthCheck(), new PropertyFileConfigurator(new File(url.getPath())), new Jetty6WebServer(), serverModules) {
|
||||
@Override
|
||||
protected int getWebServerPort() {
|
||||
return port;
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.neo4j.graphdb.*;
|
||||
import org.neo4j.graphdb.index.Index;
|
||||
import org.neo4j.kernel.ImpermanentGraphDatabase;
|
||||
import org.neo4j.test.ImpermanentGraphDatabase;
|
||||
import org.neo4j.kernel.Traversal;
|
||||
import org.neo4j.kernel.impl.transaction.SpringTransactionManager;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.data.graph.neo4j.template;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.neo4j.graphdb.GraphDatabaseService;
|
||||
import org.neo4j.kernel.ImpermanentGraphDatabase;
|
||||
import org.neo4j.test.ImpermanentGraphDatabase;
|
||||
import org.neo4j.kernel.impl.transaction.SpringTransactionManager;
|
||||
import org.springframework.data.graph.core.GraphDatabase;
|
||||
import org.springframework.data.graph.neo4j.support.DelegatingGraphDatabase;
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="graphDatabaseService" class="org.neo4j.kernel.ImpermanentGraphDatabase"
|
||||
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase"
|
||||
destroy-method="shutdown" scope="singleton">
|
||||
<constructor-arg index="0" value="target/data/recommendation" />
|
||||
</bean>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<property name="relationshipEntityStateFactory" ref="relationshipEntityStateFactory"/>
|
||||
</bean>
|
||||
|
||||
<bean id="graphDatabaseService" class="org.neo4j.kernel.ImpermanentGraphDatabase"
|
||||
<bean id="graphDatabaseService" class="org.neo4j.test.ImpermanentGraphDatabase"
|
||||
destroy-method="shutdown" scope="singleton">
|
||||
<!--constructor-arg index="0" value="${neo4j.databaseDirectory}" /-->
|
||||
</bean>
|
||||
|
||||
Reference in New Issue
Block a user