/**
* {@inheritDoc}
*/
@Override
public void prepareDatabase(GraphDatabaseService database, final Map<String, Object> params) {
new NoInputBatchTransactionExecutor(database, 1000, NO_NODES, new UnitOfWork<NullItem>() {
@Override
public void execute(GraphDatabaseService database, NullItem input, int batchNumber, int stepNumber) {
database.createNode();
}
}).execute();
final BatchTransactionExecutor executor = new NoInputBatchTransactionExecutor(database, 1000, NO_RELATIONSHIPS, new UnitOfWork<NullItem>() {
@Override
public void execute(GraphDatabaseService database, NullItem input, int batchNumber, int stepNumber) {
final Node node1 = randomNode(database, NO_NODES);
final Node node2 = randomNode(database, NO_NODES);
int randomInt = RANDOM.nextInt(NO_TYPES);
switch ((RelationshipQualifier) params.get(TYPE_OR_PROPERTY)) {
case PROPERTY:
Relationship relationship = node1.createRelationshipTo(node2, RATED);
relationship.setProperty(RATING, randomInt);
break;
case RELATIONSHIP_TYPE:
node1.createRelationshipTo(node2, REL_TYPES[randomInt]);
break;
}
}
});
executor.execute();
}