Skip to content

Commit

Permalink
Removed not used methods, add additional test for custom index type s…
Browse files Browse the repository at this point in the history
…orting
  • Loading branch information
MishaDemianenko committed Nov 30, 2016
1 parent 7eb4bc5 commit 3d1aa31
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 33 deletions.
Expand Up @@ -139,12 +139,6 @@ void removeFieldFromDocument( Document document, String name )
document.removeFields( name );
}

@Override
protected boolean haveSortedField( IndexableField field )
{
return !field.name().endsWith( EXACT_FIELD_SUFFIX ) && super.haveSortedField( field );
}

@Override
void removeFieldsFromDocument( Document document, String key, Object value )
{
Expand Down Expand Up @@ -449,11 +443,6 @@ private boolean haveSortField( IndexableField[] fields )
return false;
}

protected boolean haveSortedField( IndexableField field )
{
return DocValuesType.NONE.equals( field.fieldType().docValuesType() ) && getFieldValue( field ) != null;
}

private Object getFieldValue( IndexableField field )
{
Number numericFieldValue = field.numericValue();
Expand Down
Expand Up @@ -233,29 +233,30 @@ public void queryIndexWithSortByStringAfterOtherPropertyUpdate()
String[] names = new String[]{"Fry", "Leela", "Bender", "Amy", "Hubert", "Calculon"};
String[] jobs = new String[]{"delivery boy", "pilot", "gambler", "intern", "professor", "actor"};
Label characters = Label.label( "characters" );
try ( Transaction transaction = graphDb.beginTx() )
{
for ( int i = 0; i < names.length; i++ )
{
Node node = graphDb.createNode(characters);
node.setProperty( nameProperty, names[i] );
node.setProperty( jobNameProperty, jobs[i] );
index.add( node, nameProperty, names[i] );
index.add( node, jobNameProperty, jobs[i] );
}
transaction.success();
}
setPropertiesAndUpdateToJunior( index, nameProperty, jobNameProperty, names, jobs, characters );

try ( Transaction transaction = graphDb.beginTx() )
{
ResourceIterator<Node> nodes = graphDb.findNodes( characters );
nodes.stream().forEach( node ->
{
node.setProperty( jobNameProperty, "junior " + node.getProperty( jobNameProperty ) );
index.add( node, jobNameProperty, node.getProperty( jobNameProperty ) );
} );
transaction.success();
}
String[] sortedNames = new String[]{"Leela", "Hubert", "Fry", "Calculon", "Bender", "Amy"};
String[] sortedJobs = {"junior professor", "junior pilot", "junior intern", "junior gambler",
"junior delivery boy", "junior actor"};
queryAndSortNodesByStringProperty( index, nameProperty, sortedNames );
queryAndSortNodesByStringProperty( index, jobNameProperty, sortedJobs );
}

@Test
public void queryCustomIndexWithSortByStringAfterOtherPropertyUpdate()
{

Index<Node> index = nodeIndex( MapUtil.stringMap( LuceneIndexImplementation.KEY_TYPE, "exact",
LuceneIndexImplementation.KEY_TO_LOWER_CASE, "true" ) );
commitTx();

String nameProperty = "NODE_NAME_CUSTOM";
String jobNameProperty = "NODE_JOB_NAME_CUSTOM";

String[] names = new String[]{"Fry", "Leela", "Bender", "Amy", "Hubert", "Calculon"};
String[] jobs = new String[]{"delivery boy", "pilot", "gambler", "intern", "professor", "actor"};
Label characters = Label.label( "characters_custom" );
setPropertiesAndUpdateToJunior( index, nameProperty, jobNameProperty, names, jobs, characters );

String[] sortedNames = new String[]{"Leela", "Hubert", "Fry", "Calculon", "Bender", "Amy"};
String[] sortedJobs = {"junior professor", "junior pilot", "junior intern", "junior gambler",
Expand Down Expand Up @@ -2202,4 +2203,32 @@ private void doubleNumericPropertyValueForAllNodesWithLabel( Index<Node> index,
}
}

private void setPropertiesAndUpdateToJunior( Index<Node> index, String nameProperty, String jobNameProperty,
String[] names, String[] jobs, Label characters )
{
try ( Transaction transaction = graphDb.beginTx() )
{
for ( int i = 0; i < names.length; i++ )
{
Node node = graphDb.createNode(characters);
node.setProperty( nameProperty, names[i] );
node.setProperty( jobNameProperty, jobs[i] );
index.add( node, nameProperty, names[i] );
index.add( node, jobNameProperty, jobs[i] );
}
transaction.success();
}

try ( Transaction transaction = graphDb.beginTx() )
{
ResourceIterator<Node> nodes = graphDb.findNodes( characters );
nodes.stream().forEach( node ->
{
node.setProperty( jobNameProperty, "junior " + node.getProperty( jobNameProperty ) );
index.add( node, jobNameProperty, node.getProperty( jobNameProperty ) );
} );
transaction.success();
}
}

}

0 comments on commit 3d1aa31

Please sign in to comment.