while(contentPartIterator.hasNext()){
FileItemStream fis = contentPartIterator.next();
if(contentItem == null){
log.debug("create ContentItem {} for content (type:{})",
id,content.getContentType());
contentItem = new InMemoryContentItem(id,
IOUtils.toByteArray(fis.openStream()),
fis.getContentType(), metadata);
} else {
Blob blob = new InMemoryBlob(fis.openStream(), fis.getContentType());
UriRef contentPartId = null;
if(fis.getFieldName() != null && !fis.getFieldName().isEmpty()){
contentPartId = new UriRef(fis.getFieldName());
} else {
//generating a random ID might break metadata
//TODO maybe we should throw an exception instead
contentPartId = new UriRef("urn:contentpart:"+ randomUUID());
}
log.debug(" ... add Blob {} to ContentItem {} with content (type:{})",
new Object[]{contentPartId, id, fis.getContentType()});
contentItem.addPart(contentPartId, blob);
parsedContentParts.add(contentPartId.getUnicodeString());
}
}
} else {
log.debug("create ContentItem {} for content (type:{})",
id,content.getContentType());
contentItem = new InMemoryContentItem(id,
IOUtils.toByteArray(content.openStream()),
content.getContentType(), metadata);
}
//add the URI of the main content to the parsed contentParts
parsedContentParts.add(contentItem.getPartUri(0).getUnicodeString());