Skip to content

Commit

Permalink
Fix for header.csv blank lines.
Browse files Browse the repository at this point in the history
  • Loading branch information
adam-collins committed Feb 19, 2017
1 parent d7dd094 commit bf6eedb
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/main/java/au/org/ala/biocache/dao/SearchDAOImpl.java
Expand Up @@ -1156,8 +1156,12 @@ public ConcurrentMap<String, AtomicInteger> writeResultsFromIndexToStream(final
StringBuilder infoHeader = new StringBuilder("infoHeaders");
for (String h : header) infoHeader.append(",").append(h);

uidStats.put(infoFields.toString(), new AtomicInteger(-1));
uidStats.put(infoHeader.toString(), new AtomicInteger(-2));
String info = infoFields.toString();
while (info.contains(",,")) info = info.replace(",,", ",");
uidStats.put(info, new AtomicInteger(-1));
String hdr = infoHeader.toString();
while (hdr.contains(",,")) hdr = hdr.replace(",,", ",");
uidStats.put(hdr, new AtomicInteger(-2));

//construct correct RecordWriter based on the supplied fileType
final au.org.ala.biocache.RecordWriter rw = downloadParams.getFileType().equals("csv") ?
Expand Down Expand Up @@ -1723,8 +1727,12 @@ public ConcurrentMap<String, AtomicInteger> writeResultsToStream(
StringBuilder infoHeader = new StringBuilder("infoHeaders,");
for (String h : header) infoHeader.append(",").append(h);

uidStats.put(infoFields.toString().replace(",,", ","), new AtomicInteger(-1));
uidStats.put(infoHeader.toString().replace(",,", ","), new AtomicInteger(-2));
String info = infoFields.toString();
while (info.contains(",,")) info = info.replace(",,", ",");
uidStats.put(info, new AtomicInteger(-1));
String hdr = infoHeader.toString();
while (hdr.contains(",,")) hdr = hdr.replace(",,", ",");
uidStats.put(hdr, new AtomicInteger(-2));

//download the records that have limits first...
if (downloadLimit.size() > 0) {
Expand Down Expand Up @@ -3707,6 +3715,7 @@ public Set<IndexFieldDTO> getIndexedFields() throws Exception {
/**
* Returns details about the fields in the index.
*/
@Cacheable(cacheName = "getIndexedFields")
public Set<IndexFieldDTO> getIndexedFields(boolean update) throws Exception {
Set<IndexFieldDTO> result = indexFields;
if (result == null || update) {
Expand Down

0 comments on commit bf6eedb

Please sign in to comment.