API updates

This commit is contained in:
Michael Hunger
2011-06-13 01:09:41 +02:00
parent 60fdb92757
commit 06cd3d3834
6 changed files with 34 additions and 8 deletions

View File

@@ -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 ) );

View File

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

View File

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

View File

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

View File

@@ -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>

View File

@@ -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>