Interface OaiPmhPublicationService
- All Known Implementing Classes:
OaiPmhPublicationServiceImpl,OaiPmhPublicationServiceRemoteImpl
public interface OaiPmhPublicationService
Publishes elements from MediaPackages to OAI-PMH.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringIdentifier for service registration and locationstatic final StringThe Opencast publication channel id is created from the OAI-PMH channel name prefixed by thePUBLICATION_CHANNEL_PREFIX.static final StringSeparator used to separate strings when serializing arrays of strings. -
Method Summary
Modifier and TypeMethodDescriptionpublish(MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) Publishes some media package elements.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) Updates the given media package in the Oai-Pmh storage incrementally, i.e. without retracting the whole media package.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) Synchronously updates the given media package in the Oai-Pmh storage incrementally, i.e. without retracting the whole media package.retract(MediaPackage mediaPackage, String repository) Retract a media package from the publication channel.updateMetadata(MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) Update all media package elements that match the flavors and tags.
-
Field Details
-
JOB_TYPE
Identifier for service registration and location- See Also:
-
PUBLICATION_CHANNEL_PREFIX
The Opencast publication channel id is created from the OAI-PMH channel name prefixed by thePUBLICATION_CHANNEL_PREFIX.- See Also:
-
SEPARATOR
Separator used to separate strings when serializing arrays of strings.- See Also:
-
-
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 packagerepository- the OAI-PMH repositorydownloadElementIds- the download element ids to publishstreamingElementIds- the streaming element ids to publishcheckAvailability- whether to check the distributed download artifacts are available at its URL- Returns:
- The job
- Throws:
PublicationException- if there was a problem publishing the mediaMediaPackageException- 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 forrepository- The OAI-PMH repositorydownloadElements- the download elements to publishstreamingElements- the streaming elements to publishretractDownloadFlavors- 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 updatecheckAvailability- 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 forrepository- The OAI-PMH repositorydownloadElements- the download elements to publishstreamingElements- the streaming elements to publishretractDownloadFlavors- 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 updatecheckAvailability- 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 packagerepository- the OAI-PMH repository- Throws:
NotFoundException- if there was no mediapackage to retract from this channelPublicationException- 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 elementsrepository- OAI-PMH repository where to update the media packageflavors- updated media package element flavorstags- updated media package element tagscheckAvailability- 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 mediaMediaPackageException- if there was a problem with the media package element
-