Replace bitstreams in ItemRest with bundles

The list of bitstreams in ItemRest is now replaced with a list of
bundles. The bitstreams can now be accessed through the bundles.
This commit is contained in:
Jelle Pelgrims
2019-08-20 11:13:21 +02:00
parent 21116ec7eb
commit 48ea95bc15
2 changed files with 14 additions and 19 deletions

View File

@@ -8,18 +8,15 @@
package org.dspace.app.rest.converter; package org.dspace.app.rest.converter;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.dspace.app.rest.model.BitstreamRest;
import org.dspace.app.rest.model.ItemRest; import org.dspace.app.rest.model.ItemRest;
import org.dspace.app.rest.model.RelationshipRest; import org.dspace.app.rest.model.RelationshipRest;
import org.dspace.app.rest.utils.ContextUtil; import org.dspace.app.rest.utils.ContextUtil;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
import org.dspace.content.Collection; import org.dspace.content.Collection;
import org.dspace.content.Item; import org.dspace.content.Item;
import org.dspace.content.MetadataValue; import org.dspace.content.MetadataValue;
@@ -47,7 +44,7 @@ public class ItemConverter
@Autowired(required = true) @Autowired(required = true)
private CollectionConverter collectionConverter; private CollectionConverter collectionConverter;
@Autowired(required = true) @Autowired(required = true)
private BitstreamConverter bitstreamConverter; private BundleConverter bundleConverter;
@Autowired @Autowired
private RequestService requestService; private RequestService requestService;
@Autowired @Autowired
@@ -84,14 +81,12 @@ public class ItemConverter
} catch (Exception e) { } catch (Exception e) {
log.error("Error setting template item of for item " + item.getHandle(), e); log.error("Error setting template item of for item " + item.getHandle(), e);
} }
List<BitstreamRest> bitstreams = new ArrayList<BitstreamRest>();
for (Bundle bun : obj.getBundles()) { item.setBundles(obj.getBundles()
for (Bitstream bit : bun.getBitstreams()) { .stream()
BitstreamRest bitrest = bitstreamConverter.fromModel(bit); .map(x -> bundleConverter.fromModel(x))
bitstreams.add(bitrest); .collect(Collectors.toList()));
}
}
item.setBitstreams(bitstreams);
List<Relationship> relationships = new LinkedList<>(); List<Relationship> relationships = new LinkedList<>();
try { try {
Context context; Context context;

View File

@@ -29,8 +29,8 @@ public class ItemRest extends DSpaceObjectRest {
private CollectionRest owningCollection; private CollectionRest owningCollection;
@JsonIgnore @JsonIgnore
private CollectionRest templateItemOf; private CollectionRest templateItemOf;
List<BitstreamRest> bitstreams;
List<BundleRest> bundles;
List<RelationshipRest> relationships; List<RelationshipRest> relationships;
@Override @Override
@@ -92,14 +92,14 @@ public class ItemRest extends DSpaceObjectRest {
this.templateItemOf = templateItemOf; this.templateItemOf = templateItemOf;
} }
@LinkRest(linkClass = BitstreamRest.class) @LinkRest(linkClass = BundleRest.class)
@JsonIgnore @JsonIgnore
public List<BitstreamRest> getBitstreams() { public List<BundleRest> getBundles() {
return bitstreams; return bundles;
} }
public void setBitstreams(List<BitstreamRest> bitstreams) { public void setBundles(List<BundleRest> bundles) {
this.bitstreams = bitstreams; this.bundles = bundles;
} }
@LinkRest(linkClass = RelationshipRest.class) @LinkRest(linkClass = RelationshipRest.class)