Skip to content

Commit

Permalink
[DS-3202] SolrDocument.getFieldValues() can return null, so defend!
Browse files Browse the repository at this point in the history
  • Loading branch information
mwoodiupui committed May 13, 2016
1 parent 4de01c4 commit 731dd48
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions dspace-oai/src/main/java/org/dspace/xoai/data/DSpaceSolrItem.java
Expand Up @@ -17,33 +17,43 @@

import com.lyncode.xoai.dataprovider.core.ItemMetadata;
import com.lyncode.xoai.dataprovider.core.ReferenceSet;
import java.util.Collection;

/**
*
* @author Lyncode Development Team <dspace@lyncode.com>
*/
public class DSpaceSolrItem extends DSpaceItem
{
private static Logger log = LogManager
private static final Logger log = LogManager
.getLogger(DSpaceSolrItem.class);

private String unparsedMD;
private final String unparsedMD;
private ItemMetadata metadata;
private String handle;
private Date lastMod;
private List<ReferenceSet> sets;
private boolean deleted;
private final String handle;
private final Date lastMod;
private final List<ReferenceSet> sets;
private final boolean deleted;

public DSpaceSolrItem (SolrDocument doc) {
log.debug("Creating OAI Item from Solr source");
unparsedMD = (String) doc.getFieldValue("item.compile");
handle = (String) doc.getFieldValue("item.handle");
lastMod = (Date) doc.getFieldValue("item.lastmodified");
sets = new ArrayList<ReferenceSet>();
for (Object obj : doc.getFieldValues("item.communities"))
sets.add(new ReferenceSet((String) obj));
for (Object obj : doc.getFieldValues("item.collections"))
sets.add(new ReferenceSet((String) obj));
sets = new ArrayList<>();

Collection<Object> fieldValues;

fieldValues = doc.getFieldValues("item.communities");
if (null != fieldValues)
for (Object obj : fieldValues)
sets.add(new ReferenceSet((String) obj));

fieldValues = doc.getFieldValues("item.collections");
if (null != fieldValues)
for (Object obj : fieldValues)
sets.add(new ReferenceSet((String) obj));

deleted = (Boolean) doc.getFieldValue("item.deleted");
}

Expand Down

0 comments on commit 731dd48

Please sign in to comment.