/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.sword2;
import org.dspace.content.Item;
import org.dspace.core.Context;
import org.swordapp.server.DepositReceipt;
import org.swordapp.server.SwordError;
import org.swordapp.server.SwordServerException;
import java.util.Map;
public class SimpleDCEntryDisseminator extends AbstractSimpleDC
implements SwordEntryDisseminator
{
public SimpleDCEntryDisseminator()
{
}
public DepositReceipt disseminate(Context context, Item item,
DepositReceipt receipt)
throws DSpaceSwordException, SwordError, SwordServerException
{
SimpleDCMetadata md = this.getMetadata(item);
Map<String, String> dc = md.getDublinCore();
for (String element : dc.keySet())
{
String value = dc.get(element);
receipt.addDublinCore(element, value);
}
Map<String, String> atom = md.getAtom();
for (String element : atom.keySet())
{
String value = atom.get(element);
if ("author".equals(element))
{
receipt.getWrappedEntry().addAuthor(value);
}
else if ("published".equals(element))
{
receipt.getWrappedEntry().setPublished(value);
}
else if ("rights".equals(element))
{
receipt.getWrappedEntry().setRights(value);
}
else if ("summary".equals(element))
{
receipt.getWrappedEntry().setSummary(value);
}
else if ("title".equals(element))
{
receipt.getWrappedEntry().setTitle(value);
}
else if ("updated".equals(element))
{
receipt.getWrappedEntry().setUpdated(value);
}
}
return receipt;
}
}