Class CMSMediaResource

java.lang.Object
io.goobi.viewer.api.rest.v1.cms.CMSMediaResource

@Path("/cms/media") public class CMSMediaResource extends Object

CMSMediaResource class.

Author:
Florian Alpers
  • Field Details

    • servletRequest

      @Context protected javax.servlet.http.HttpServletRequest servletRequest
    • servletResponse

      @Context protected javax.servlet.http.HttpServletResponse servletResponse
  • Constructor Details

    • CMSMediaResource

      public CMSMediaResource()
    • CMSMediaResource

      public CMSMediaResource(IDAO dao)
  • Method Details

    • getMediaOfCategories

      @GET @Produces("application/json") @Path("/category/{tags}") public MediaList getMediaOfCategories(@PathParam("tags") String tags, @QueryParam("max") Integer maxItems, @QueryParam("prioritySlots") Integer prioritySlots, @QueryParam("random") Boolean random) throws DAOException

      getMediaByTag.

      Parameters:
      tags - a String object.
      maxItems -
      prioritySlots -
      random -
      Returns:
      a io.goobi.viewer.servlets.rest.cms.CMSMediaResource.MediaList object.
      Throws:
      DAOException - if any.
    • getAllMedia

      @GET @Produces("application/json") public MediaList getAllMedia(@QueryParam("tags") String tags, @QueryParam("max") Integer maxItems, @QueryParam("prioritySlots") Integer prioritySlots, @QueryParam("random") Boolean random) throws DAOException

      getMediaByTag.

      Parameters:
      tags - a String object.
      maxItems -
      prioritySlots -
      random -
      Returns:
      a io.goobi.viewer.servlets.rest.cms.CMSMediaResource.MediaList object.
      Throws:
      DAOException - if any.
    • getMediaItem

      @GET @Path("/{id: \\d+}") @Produces("application/json") public MediaItem getMediaItem(@PathParam("id") Long id) throws DAOException
      Throws:
      DAOException
    • getPDFMediaItemContent

      @GET @Path("/files/{filename: (?i)[^\\/]*\\.(pdf)}") @Produces("application/pdf") public static javax.ws.rs.core.StreamingOutput getPDFMediaItemContent(@PathParam("filename") String filename, @Context javax.servlet.http.HttpServletResponse response) throws de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException

      getPDFMediaItemContent.

      Parameters:
      filename -
      response - a HttpServletResponse object.
      Returns:
      File contents as HTML
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException - if any.
      DAOException - if any.
    • getSvgContent

      @GET @Path("/files/{filename: (?i)[^\\/]*\\.(svg)}") @Produces("image/svg+xml") public static javax.ws.rs.core.StreamingOutput getSvgContent(@PathParam("filename") String filename, @Context javax.servlet.http.HttpServletResponse response) throws de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException
    • getIcoContent

      @GET @Path("/files/{filename: (?i)[^\\/]*\\.(ico)}") @Produces("image/x-icon") public static javax.ws.rs.core.StreamingOutput getIcoContent(@PathParam("filename") String filename, @Context javax.servlet.http.HttpServletResponse response) throws de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException
    • serveVideoContent

      @GET @Path("/files/{filename: (?i).*\\.(mp4|mpeg4|avi|mov|wmv)}") public String serveVideoContent(@PathParam("filename") String filename) throws PresentationException, javax.ws.rs.WebApplicationException
      Throws:
      PresentationException
      javax.ws.rs.WebApplicationException
    • serveAudioContent

      @GET @Path("/files/{filename: (?i).*\\.(mp3|mpeg|wav|ogg|wma)}") public String serveAudioContent(@PathParam("filename") String filename) throws PresentationException, javax.ws.rs.WebApplicationException
      Throws:
      PresentationException
      javax.ws.rs.WebApplicationException
    • getMediaItemContent

      @GET @Path("/files/{filename: (?i)[^\\/]*\\.(html)}") @Produces("text/html") public static String getMediaItemContent(@PathParam("filename") String filename) throws de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException

      getMediaItemContent.

      Parameters:
      filename -
      Returns:
      File contents as HTML
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.ContentNotFoundException - if any.
      DAOException - if any.
    • validateUploadMediaFiles

      @GET @Path("/{filename: [^\\/]*\\.\\w{1,4}}") @Produces("application/json") public javax.ws.rs.core.Response validateUploadMediaFiles(@PathParam("filename") String filename) throws DAOException

      Return the media item for the given filename. If no matching media item exists, return a not-found status code

      Parameters:
      filename - a String object.
      Returns:
      a Response object.
      Throws:
      DAOException - if any.
    • getAllFiles

      @GET @Path("/files") @Produces("application/json") public List<String> getAllFiles() throws PresentationException
      List all uploaded media files
      Returns:
      List of media file names
      Throws:
      PresentationException
    • deleteAllFiles

      @DELETE @Path("/files") @Produces("application/json") public void deleteAllFiles() throws de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
    • deleteFile

      @DELETE @Path("/files/{filename}") @Produces("application/json") public void deleteFile() throws de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
      Throws:
      de.unigoettingen.sub.commons.contentlib.exceptions.IllegalRequestException
    • uploadMediaFiles

      @POST @Path("/files") @Consumes("multipart/form-data") @Produces("application/json") public javax.ws.rs.core.Response uploadMediaFiles(@DefaultValue("true") boolean enabled, String filename, InputStream uploadedInputStream, org.glassfish.jersey.media.multipart.FormDataContentDisposition fileDetail) throws DAOException
      May receive a file from a multipart form and saves the file in the cms media folder
      Parameters:
      enabled - a boolean.
      filename - a String object.
      uploadedInputStream - a InputStream object.
      fileDetail - a FormDataContentDisposition object.
      Returns:
      an ACCEPTED response if the upload was successful, a FORBIDDEN response if no user is registered in the html session or the user does not have rights to upload media, or a CONFLICT response if a file of the same name already exists in the cms media foler
      Throws:
      DAOException - if any.
    • removeFromImageCache

      public static void removeFromImageCache(CMSMediaItem item)
      Parameters:
      item -
    • createMediaItem

      public CMSMediaItem createMediaItem(Path filePath)

      createMediaItem.

      Parameters:
      filePath - a Path object.
      Returns:
      a CMSMediaItem object.