Revision 45135
Added by Claudio Atzori over 7 years ago
QueryController.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.enabling.inspector; |
2 | 2 |
|
3 |
import java.util.ArrayList; |
|
4 |
import java.util.List; |
|
3 |
import java.util.*; |
|
4 |
import java.util.stream.Collectors; |
|
5 |
import java.util.stream.StreamSupport; |
|
5 | 6 |
|
6 | 7 |
import javax.annotation.Resource; |
7 | 8 |
|
9 |
import com.google.common.base.Function; |
|
10 |
import com.google.common.collect.Iterators; |
|
11 |
import com.google.common.collect.Lists; |
|
8 | 12 |
import org.apache.commons.lang.StringEscapeUtils; |
9 | 13 |
import org.apache.commons.logging.Log; |
10 | 14 |
import org.apache.commons.logging.LogFactory; |
... | ... | |
14 | 18 |
import org.springframework.web.bind.annotation.RequestParam; |
15 | 19 |
import org.xmldb.api.base.XMLDBException; |
16 | 20 |
|
17 |
import eu.dnetlib.xml.database.XMLDBResultSet; |
|
18 | 21 |
import eu.dnetlib.xml.database.XMLDatabase; |
19 | 22 |
|
20 | 23 |
/** |
... | ... | |
58 | 61 |
log.info("running query: " + query); |
59 | 62 |
|
60 | 63 |
try { |
61 |
final XMLDBResultSet res = xmlDatabase.xquery(query); |
|
62 |
model.addAttribute("size", res.getSize()); |
|
63 |
|
|
64 |
final List<String> results = new ArrayList<String>(); |
|
65 |
for (int i = 0; i < res.getSize(); i++) |
|
66 |
results.add(linkTool.linkfyToHtml(StringEscapeUtils.escapeHtml(res.get(i)))); |
|
64 |
final Iterator<String> it = xmlDatabase.xquery(query); |
|
65 |
final List<String> res = StreamSupport.stream(Spliterators.spliteratorUnknownSize(it, Spliterator.IMMUTABLE), false) |
|
66 |
.map(StringEscapeUtils::escapeHtml) |
|
67 |
.map(linkTool::linkfyToHtml) |
|
68 |
.collect(Collectors.toList()); |
|
67 | 69 |
|
68 |
model.addAttribute("results", results); |
|
70 |
model.addAttribute("size", res.size()); |
|
71 |
model.addAttribute("results", res); |
|
69 | 72 |
} catch (XMLDBException e) { |
70 | 73 |
model.addAttribute("message", "failed: " + e.getMessage()); |
71 | 74 |
} |
Also available in: Unified diff
migrated to dnet45