Мне кажется, что
def summary = result.documents.first()
if (summary) {
String docid = summary.getSummaryField("infadocid").getStringValue()
...
strDocId = docid
}
- это все, что вам действительно нужно, потому что цикл for на самом деле не имеет большого смысла, когда все, что вам нужно, - это обработать первую запись.* Если существует вероятность, что result.documents содержит null
s, то замените first()
на find()
Редактировать: Для обработки более одного результата:
def summaries = result.documents.take(numOfResult)
// above code assumes result.documents contains no nulls; otherwise:
// def count=0
// def summaries = result.documents.findAll { it && count++<numOfResult }
summaries.each { summary ->
String docid = summary.getSummaryField("infadocid").getStringValue()
...
strDocId = docid
}
Inидиоматический код Groovy, многие циклы заменяются итерационными методами, такими как each()