/**
* 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.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Item;
import org.dspace.content.packager.DSpaceMETSIngester;
import org.dspace.content.packager.PackageParameters;
import org.dspace.content.packager.PackageUtils;
import org.dspace.content.packager.PackageValidationException;
import org.dspace.core.Context;
import java.io.IOException;
import java.sql.SQLException;
public class SwordMETSPackageIngester extends DSpaceMETSIngester
{
/**
* Policy: For DSpace deposit license, take deposit license
* supplied by explicit argument first, else use collection's
* default deposit license.
* For Creative Commons, look for a rightsMd containing a CC license.
*
* This override basically fixes a bug in the DSpaceMETSIngester which
* allows (in fact enforces) a null licence during replace, but which
* then requires it to be not-null here.
*
*/
@Override
public void addLicense(Context context, Item item, String license,
Collection collection, PackageParameters params)
throws PackageValidationException,
AuthorizeException, SQLException, IOException
{
if (PackageUtils.findDepositLicense(context, item) == null &&
license != null)
{
PackageUtils.addDepositLicense(context, license, item, collection);
}
}
}