diff --git a/dspace/modules/additions/src/main/java/org/dspace/discovery/FullTextContentStreams.java b/dspace/modules/additions/src/main/java/org/dspace/discovery/FullTextContentStreams.java index c7015eb804d..2595da6bbb7 100644 --- a/dspace/modules/additions/src/main/java/org/dspace/discovery/FullTextContentStreams.java +++ b/dspace/modules/additions/src/main/java/org/dspace/discovery/FullTextContentStreams.java @@ -17,6 +17,8 @@ import java.nio.charset.StandardCharsets; import java.sql.SQLException; import java.util.ArrayList; +// TAMU Customization - Only index text bitstreams that are not restricted +import java.util.Date; import java.util.Enumeration; import java.util.Iterator; import java.util.List; @@ -26,6 +28,8 @@ import com.google.common.collect.Iterables; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +// TAMU Customization - Only index text bitstreams that are not restricted +import org.apache.commons.lang3.time.DateUtils; import org.apache.logging.log4j.Logger; import org.apache.solr.common.util.ContentStreamBase; import org.dspace.authorize.AuthorizeException; @@ -94,7 +98,13 @@ private void buildFullTextList(Item parentItem) throws SQLException { for (ResourcePolicy rp:bundlePolicies) { if (rp.getdSpaceObject().getID() == fulltextBitstream.getID()) { - if (rp.getGroup().getName().equalsIgnoreCase("anonymous") && rp.getStartDate() == null) { + Date start = rp.getStartDate(); + Date end = rp.getEndDate(); + Date now = new Date(); + if (rp.getGroup().getName().equalsIgnoreCase("anonymous") + && (start == null || ((start.before(now) || DateUtils.isSameDay(start, now)) + && (end == null || (now.after(end) || DateUtils.isSameDay(now, end))))) + ) { isIndexable = true; } break;