*/
protected DepositReceipt createReceipt(Context context, Item item, SwordConfigurationDSpace config)
throws DSpaceSwordException, SwordError, SwordServerException
{
SwordUrlManager urlManager = config.getUrlManager(context, config);
DepositReceipt receipt = new DepositReceipt();
receipt.setAtomStatementURI(urlManager.getAtomStatementUri(item));
receipt.setOREStatementURI(urlManager.getOreStatementUri(item));
receipt.setEditIRI(urlManager.getEditIRI(item));
receipt.setLocation(urlManager.getEditIRI(item));
receipt.setSplashUri(urlManager.getSplashUrl(item));
receipt.setSwordEditIRI(urlManager.getEditIRI(item));
receipt.setContent(urlManager.getContentUrl(item), "application/zip");
receipt.addEditMediaIRI(urlManager.getContentUrl(item), "application/zip");
receipt.setMediaFeedIRI(urlManager.getMediaFeedUrl(item));
receipt.setLastModified(item.getLastModified());
// add the category information to the sword entry
this.addCategories(item, receipt);
// add the publish date
this.addPublishDate(item, receipt);
// add the item's metadata
SwordEntryDisseminator disseminator = SwordDisseminatorFactory.getEntryInstance();
disseminator.disseminate(context, item, receipt);
try
{
StringBuilder rightsString = new StringBuilder();
Bundle[] bundles = item.getBundles("LICENSE");
for (int i = 0; i < bundles.length; i++)
{
Bitstream[] bss = bundles[i].getBitstreams();
for (int j = 0; j < bss.length; j++)
{
String url = urlManager.getBitstreamUrl(bss[j]);
rightsString.append(url + " ");
}
}
receipt.getWrappedEntry().setRights(rightsString.toString());
}
catch (SQLException e)
{
throw new DSpaceSwordException(e);
}
// add the date on which the entry was last updated
this.addLastUpdatedDate(item, receipt);
// do this from configuration
receipt.setPackaging(config.getDisseminatePackaging());
return receipt;
}