Update the MP3 extractor to output audio keys (related to ALF-6170), and refactor the audio extractors to share more common code. Also expands the audio extractor tests to share common code, and test more metadata. (Needed for devcon demo)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Nick Burch
2011-10-06 16:17:06 +00:00
parent e180abafe4
commit 9f60d2b246
11 changed files with 438 additions and 88 deletions

View File

@@ -29,17 +29,15 @@ import org.alfresco.service.namespace.QName;
/**
* Test for the MP3 metadata extraction from id3 tags.
*/
public class MP3MetadataExtracterTest extends AbstractMetadataExtracterTest
public class MP3MetadataExtracterTest extends TikaAudioMetadataExtracterTest
{
private MP3MetadataExtracter extracter;
private static final String ARTIST = "Hauskaz";
@Override
public void setUp() throws Exception
{
super.setUp();
extracter = new MP3MetadataExtracter();
extracter.setDictionaryService(dictionaryService);
extracter = (MP3MetadataExtracter)ctx.getBean("extracter.MP3");
extracter.register();
}
@@ -64,6 +62,10 @@ public class MP3MetadataExtracterTest extends AbstractMetadataExtracterTest
{
testExtractFromMimetype(MimetypeMap.MIMETYPE_MP3);
}
@Override
public void testOggExtraction() throws Exception {}
@Override
public void testFlacExtraction() throws Exception {}
/**
* We don't have quite the usual metadata. Tests the descriptions one.
@@ -93,23 +95,6 @@ public class MP3MetadataExtracterTest extends AbstractMetadataExtracterTest
* Tests for various MP3 specific bits of metadata
*/
public void testFileSpecificMetadata(String mimetype, Map<QName, Serializable> properties) {
// Pending ALF-6170 for proper music namespace
// QName songTitle = QName.createQName("music","songTitle");
// assertEquals(
// "Property " + songTitle + " not found for mimetype " + mimetype,
// QUICK_TITLE,
// DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(songTitle)));
//
// QName songArtist = QName.createQName("music","artist");
// assertEquals(
// "Property " + songArtist + " not found for mimetype " + mimetype,
// ARTIST,
// DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(songArtist)));
// Description is a composite - check the artist part
assertContains(
"Property " + ContentModel.PROP_DESCRIPTION + " didn't contain " + ARTIST + " for mimetype " + mimetype,
ARTIST,
DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_DESCRIPTION)));
super.testFileSpecificMetadata(mimetype, properties);
}
}