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

View File

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