/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
*
* University Of Edinburgh (EDINA)
* Scotland
*
*
* File Name : METSPackageDetector.java
* Author : gwaller
* Approver : Gareth Waller
*
* Notes :
*
*
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* HISTORY
* -------
*
* $LastChangedRevision$
* $LastChangedDate$
* $LastChangedBy$
*/
package uk.ac.jorum.packager.detector;
import org.dspace.content.Bitstream;
import org.dspace.content.packager.AbstractMETSIngester;
import org.dspace.content.packager.DSpaceMETSIngester;
import org.dspace.content.packager.PackageIngester;
import org.jdom.Document;
/**
* @author gwaller
*
*/
public class METSPackageDetector extends BasePackageDetector{
public METSPackageDetector(Bitstream b){
this.setBitstream(b);
}
public METSPackageDetector(){
super();
}
/* (non-Javadoc)
* @see uk.ac.jorum.packager.detector.BasePackageDetector#isValidPackage()
*/
@Override
public boolean isValidPackage() {
Document manifest = this.containsManifest(AbstractMETSIngester.MANIFEST_FILE);
/*
* NOTE:
* This isn't the most efficient way of using the manifest - it is parsed on the above step
* and then in the actual ingester it is parsed again. Need to refactor and pass in this already
* parsed instance.
*/
return (manifest != null);
}
/* (non-Javadoc)
* @see uk.ac.jorum.packager.detector.BasePackageDetector#ingesterClass()
*/
@Override
public Class<? extends PackageIngester> ingesterClass() {
return DSpaceMETSIngester.class;
}
}