Interface OaiPmhPublicationService

All Known Implementing Classes:
OaiPmhPublicationServiceImpl, OaiPmhPublicationServiceRemoteImpl

public interface OaiPmhPublicationService
Publishes elements from MediaPackages to OAI-PMH.
  • Field Details

  • Method Details

    • publish

      Job publish(MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) throws PublicationException, MediaPackageException
      Publishes some media package elements.
      Parameters:
      mediaPackage - the media package
      repository - the OAI-PMH repository
      downloadElementIds - the download element ids to publish
      streamingElementIds - the streaming element ids to publish
      checkAvailability - whether to check the distributed download artifacts are available at its URL
      Returns:
      The job
      Throws:
      PublicationException - if there was a problem publishing the media
      MediaPackageException - if there was a problem with the mediapackage element
    • replace

      Job replace(MediaPackage mediaPackage, String repository, Set<? extends MediaPackageElement> downloadElements, Set<? extends MediaPackageElement> streamingElements, Set<MediaPackageElementFlavor> retractDownloadFlavors, Set<MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends Publication> publications, boolean checkAvailability) throws PublicationException
      Updates the given media package in the Oai-Pmh storage incrementally, i.e. without retracting the whole media package.
      Parameters:
      mediaPackage - The media package to publish the element for
      repository - The OAI-PMH repository
      downloadElements - the download elements to publish
      streamingElements - the streaming elements to publish
      retractDownloadFlavors - flavors to use to search for download elements to retract.
      retractStreamingFlavors - flavors to use to search for streaming elements to retract.
      publications - the publications to update
      checkAvailability - whether to check the distributed download artifacts are available at their URLs
      Returns:
      The job which performs the operation (The job payload will hold the publication with the updated media package).
      Throws:
      PublicationException - if the job could not be created.
    • replaceSync

      Publication replaceSync(MediaPackage mediaPackage, String repository, Set<? extends MediaPackageElement> downloadElements, Set<? extends MediaPackageElement> streamingElements, Set<MediaPackageElementFlavor> retractDownloadFlavors, Set<MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends Publication> publications, boolean checkAvailability) throws PublicationException, MediaPackageException
      Synchronously updates the given media package in the Oai-Pmh storage incrementally, i.e. without retracting the whole media package.
      Parameters:
      mediaPackage - The media package to publish the element for
      repository - The OAI-PMH repository
      downloadElements - the download elements to publish
      streamingElements - the streaming elements to publish
      retractDownloadFlavors - flavors to use to search for download elements to retract.
      retractStreamingFlavors - flavors to use to search for streaming elements to retract.
      publications - the publications to update
      checkAvailability - whether to check the distributed download artifacts are available at their URLs
      Returns:
      The publication with the updated media package.
      Throws:
      PublicationException - if the job could not be created.
      MediaPackageException - if distribution failed.
    • retract

      Job retract(MediaPackage mediaPackage, String repository) throws PublicationException, NotFoundException
      Retract a media package from the publication channel.
      Parameters:
      mediaPackage - the media package
      repository - the OAI-PMH repository
      Throws:
      NotFoundException - if there was no mediapackage to retract from this channel
      PublicationException - if there was a problem retracting the mediapackage
    • updateMetadata

      Job updateMetadata(MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) throws PublicationException, MediaPackageException
      Update all media package elements that match the flavors and tags. Also update the media package in the given OAI-PMH repository.
      Parameters:
      mediaPackage - media package with updated elements
      repository - OAI-PMH repository where to update the media package
      flavors - updated media package element flavors
      tags - updated media package element tags
      checkAvailability - whether to check the distributed download artifacts are available at its URL
      Returns:
      The job to update the media package
      Throws:
      PublicationException - if there was a problem publishing the media
      MediaPackageException - if there was a problem with the media package element