Class OaiPmhPublicationServiceImpl
java.lang.Object
org.opencastproject.job.api.AbstractJobProducer
org.opencastproject.publication.oaipmh.OaiPmhPublicationServiceImpl
- All Implemented Interfaces:
org.opencastproject.job.api.JobProducer,org.opencastproject.publication.api.OaiPmhPublicationService
public class OaiPmhPublicationServiceImpl
extends org.opencastproject.job.api.AbstractJobProducer
implements org.opencastproject.publication.api.OaiPmhPublicationService
Publishes a recording to an OAI-PMH publication repository.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.opencastproject.job.api.AbstractJobProducer
ACCEPT_JOB_LOADS_EXCEEDING_PROPERTY, acceptJobLoadsExeedingMaxLoad, DEFAULT_ACCEPT_JOB_LOADS_EXCEEDING, executor, jobTypeFields inherited from interface org.opencastproject.publication.api.OaiPmhPublicationService
JOB_TYPE, PUBLICATION_CHANNEL_PREFIX, SEPARATOR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckInputArguments(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository) protected org.opencastproject.mediapackage.PublicationcreatePublicationElement(String mpId, String repository) Create a new publication element.protected org.opencastproject.security.api.OrganizationDirectoryServiceprotected StringgetPublicationChannelName(String repository) protected org.opencastproject.security.api.SecurityServiceprotected org.opencastproject.serviceregistry.api.ServiceRegistryprotected org.opencastproject.security.api.UserDirectoryServicestatic org.opencastproject.mediapackage.MediaPackagemerge(org.opencastproject.mediapackage.MediaPackage updatedMp, org.opencastproject.mediapackage.MediaPackage publishedMp) Merges the updated media package with the one that is currently published in a way where the updated elements replace existing ones in the published media package based on their flavor.protected Stringprocess(org.opencastproject.job.api.Job job) protected org.opencastproject.mediapackage.Publicationpublish(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) org.opencastproject.job.api.Jobpublish(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) static org.opencastproject.mediapackage.MediaPackageremoveMatchingNonExistantElements(org.opencastproject.mediapackage.MediaPackage updatedMp, org.opencastproject.mediapackage.MediaPackage publishedMp, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> flavors, Set<String> tags) Remove all these elements frompublishedMp, that matches the given flavors and tags but are not in theupdatedMp.org.opencastproject.job.api.Jobreplace(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> downloadElements, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> streamingElements, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractDownloadFlavors, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends org.opencastproject.mediapackage.Publication> publications, boolean checkAvailability) org.opencastproject.mediapackage.PublicationreplaceSync(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> downloadElements, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> streamingElements, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractDownloadFlavors, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends org.opencastproject.mediapackage.Publication> publications, boolean checkAvailability) protected org.opencastproject.mediapackage.Publicationretract(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository) org.opencastproject.job.api.JobvoidsetDownloadDistributionService(org.opencastproject.distribution.api.DownloadDistributionService downloadDistributionService) OSGI DIvoidsetOaiPmhDatabase(org.opencastproject.oaipmh.persistence.OaiPmhDatabase oaiPmhDatabase) OSGI DIvoidsetOaiPmhServerInfo(org.opencastproject.oaipmh.server.OaiPmhServerInfo oaiPmhServerInfo) OSGI DIvoidsetOrganizationDirectoryService(org.opencastproject.security.api.OrganizationDirectoryService organizationDirectoryService) OSGI DIvoidsetSecurityService(org.opencastproject.security.api.SecurityService securityService) OSGI DIvoidsetServiceRegistry(org.opencastproject.serviceregistry.api.ServiceRegistry serviceRegistry) OSGI DIvoidsetStreamingDistributionService(org.opencastproject.distribution.api.StreamingDistributionService streamingDistributionService) OSGI DIvoidsetUserDirectoryService(org.opencastproject.security.api.UserDirectoryService userDirectoryService) OSGI DIprotected org.opencastproject.mediapackage.PublicationupdateMetadata(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) org.opencastproject.job.api.JobupdateMetadata(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) Methods inherited from class org.opencastproject.job.api.AbstractJobProducer
acceptJob, activate, countJobs, finallyUpdateJob, getJobType, incident, isReadyToAccept, isReadyToAcceptJobs
-
Constructor Details
-
OaiPmhPublicationServiceImpl
public OaiPmhPublicationServiceImpl()
-
-
Method Details
-
process
- Specified by:
processin classorg.opencastproject.job.api.AbstractJobProducer- Throws:
Exception
-
replace
public org.opencastproject.job.api.Job replace(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> downloadElements, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> streamingElements, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractDownloadFlavors, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends org.opencastproject.mediapackage.Publication> publications, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException - Specified by:
replacein interfaceorg.opencastproject.publication.api.OaiPmhPublicationService- Throws:
org.opencastproject.publication.api.PublicationException
-
replaceSync
public org.opencastproject.mediapackage.Publication replaceSync(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> downloadElements, Set<? extends org.opencastproject.mediapackage.MediaPackageElement> streamingElements, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractDownloadFlavors, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> retractStreamingFlavors, Set<? extends org.opencastproject.mediapackage.Publication> publications, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.mediapackage.MediaPackageException - Specified by:
replaceSyncin interfaceorg.opencastproject.publication.api.OaiPmhPublicationService- Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.mediapackage.MediaPackageException
-
publish
public org.opencastproject.job.api.Job publish(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.mediapackage.MediaPackageException - Specified by:
publishin interfaceorg.opencastproject.publication.api.OaiPmhPublicationService- Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.mediapackage.MediaPackageException
-
retract
public org.opencastproject.job.api.Job retract(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.util.NotFoundException - Specified by:
retractin interfaceorg.opencastproject.publication.api.OaiPmhPublicationService- Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.util.NotFoundException
-
updateMetadata
public org.opencastproject.job.api.Job updateMetadata(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.mediapackage.MediaPackageException - Specified by:
updateMetadatain interfaceorg.opencastproject.publication.api.OaiPmhPublicationService- Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.mediapackage.MediaPackageException
-
publish
protected org.opencastproject.mediapackage.Publication publish(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> downloadElementIds, Set<String> streamingElementIds, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.mediapackage.MediaPackageException - Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.mediapackage.MediaPackageException
-
retract
protected org.opencastproject.mediapackage.Publication retract(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository) throws org.opencastproject.publication.api.PublicationException, org.opencastproject.util.NotFoundException - Throws:
org.opencastproject.publication.api.PublicationExceptionorg.opencastproject.util.NotFoundException
-
updateMetadata
protected org.opencastproject.mediapackage.Publication updateMetadata(org.opencastproject.job.api.Job job, org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository, Set<String> flavors, Set<String> tags, boolean checkAvailability) throws org.opencastproject.publication.api.PublicationException - Throws:
org.opencastproject.publication.api.PublicationException
-
checkInputArguments
protected void checkInputArguments(org.opencastproject.mediapackage.MediaPackage mediaPackage, String repository) -
getPublicationChannelName
-
createPublicationElement
protected org.opencastproject.mediapackage.Publication createPublicationElement(String mpId, String repository) throws org.opencastproject.publication.api.PublicationException Create a new publication element.- Throws:
org.opencastproject.publication.api.PublicationException
-
removeMatchingNonExistantElements
public static org.opencastproject.mediapackage.MediaPackage removeMatchingNonExistantElements(org.opencastproject.mediapackage.MediaPackage updatedMp, org.opencastproject.mediapackage.MediaPackage publishedMp, Set<org.opencastproject.mediapackage.MediaPackageElementFlavor> flavors, Set<String> tags) Remove all these elements frompublishedMp, that matches the given flavors and tags but are not in theupdatedMp.- Parameters:
updatedMp- the updated media packagepublishedMp- the media package that is currently publishedflavors- flavors of elements to updatetags- tags of elements to update- Returns:
- published media package without elements, that matches the flavors and tags but are not in the updated media package
-
merge
public static org.opencastproject.mediapackage.MediaPackage merge(org.opencastproject.mediapackage.MediaPackage updatedMp, org.opencastproject.mediapackage.MediaPackage publishedMp) Merges the updated media package with the one that is currently published in a way where the updated elements replace existing ones in the published media package based on their flavor.If
publishedMpisnull, this method returns the updated media package without any modifications.- Parameters:
updatedMp- the updated media packagepublishedMp- the media package that is currently published- Returns:
- the merged media package
-
getServiceRegistry
protected org.opencastproject.serviceregistry.api.ServiceRegistry getServiceRegistry()- Specified by:
getServiceRegistryin classorg.opencastproject.job.api.AbstractJobProducer
-
getSecurityService
protected org.opencastproject.security.api.SecurityService getSecurityService()- Specified by:
getSecurityServicein classorg.opencastproject.job.api.AbstractJobProducer- See Also:
-
getUserDirectoryService
protected org.opencastproject.security.api.UserDirectoryService getUserDirectoryService()- Specified by:
getUserDirectoryServicein classorg.opencastproject.job.api.AbstractJobProducer- See Also:
-
getOrganizationDirectoryService
protected org.opencastproject.security.api.OrganizationDirectoryService getOrganizationDirectoryService()- Specified by:
getOrganizationDirectoryServicein classorg.opencastproject.job.api.AbstractJobProducer- See Also:
-
setServiceRegistry
public void setServiceRegistry(org.opencastproject.serviceregistry.api.ServiceRegistry serviceRegistry) OSGI DI -
setSecurityService
public void setSecurityService(org.opencastproject.security.api.SecurityService securityService) OSGI DI -
setUserDirectoryService
public void setUserDirectoryService(org.opencastproject.security.api.UserDirectoryService userDirectoryService) OSGI DI -
setOrganizationDirectoryService
public void setOrganizationDirectoryService(org.opencastproject.security.api.OrganizationDirectoryService organizationDirectoryService) OSGI DI -
setDownloadDistributionService
public void setDownloadDistributionService(org.opencastproject.distribution.api.DownloadDistributionService downloadDistributionService) OSGI DI -
setStreamingDistributionService
public void setStreamingDistributionService(org.opencastproject.distribution.api.StreamingDistributionService streamingDistributionService) OSGI DI -
setOaiPmhServerInfo
public void setOaiPmhServerInfo(org.opencastproject.oaipmh.server.OaiPmhServerInfo oaiPmhServerInfo) OSGI DI -
setOaiPmhDatabase
public void setOaiPmhDatabase(org.opencastproject.oaipmh.persistence.OaiPmhDatabase oaiPmhDatabase) OSGI DI
-