in rest-util/src/main/java/org/apache/archiva/components/rest/util/QueryHelper.java [189:206]
public Predicate<T> getQueryFilter( String queryTerms )
{
return Arrays.stream( queryTerms.split( "\\s+" ) )
.map( s -> {
if ( s.contains( ":" ) )
{
String attr = StringUtils.substringBefore( s, ":" );
String term = StringUtils.substringAfter( s, ":" );
return getAttributeQueryFilter( attr, term );
}
else
{
return Arrays.stream( defaultSearchAttributes )
.map( att -> getAttributeQueryFilter( att, s ) ).reduce( Predicate::or ).orElseThrow( () -> new RuntimeException( "Fatal error. No filter predicate found." ));
}
}
).reduce( Predicate::or ).orElseThrow( () -> new RuntimeException( "Fatal error. No filter predicate found." ) );
}