public static SMILDocument getSmilDocumentFromMediaPackage(MediaPackage mp, MediaPackageElementFlavor smilFlavor, Workspace workspace) throws IOException, SAXException, NotFoundException { final AbstractMediaPackageElementSelector<Catalog> smilSelector = new CatalogSelector(); smilSelector.addFlavor(smilFlavor); final Collection<Catalog> smilCatalog = smilSelector.select(mp, false); if (smilCatalog.size() == 1) { return getSmilDocument(smilCatalog.iterator().next(), workspace); } else { logger.error("More or less than one smil catalog found: {}", smilCatalog); throw new IllegalStateException("More or less than one smil catalog found!"); } }
String flavor = StringUtils.trim(sourceFlavorOption); try { elementSelector.addFlavor(MediaPackageElementFlavor.parseFlavor(flavor)); } catch (IllegalArgumentException e) { throw new WorkflowOperationException("Source flavor '" + flavor + "' is malformed");