Class OpenAnnotationBuilder

java.lang.Object
io.goobi.viewer.model.iiif.presentation.v2.builder.AbstractAnnotationBuilder
io.goobi.viewer.model.iiif.presentation.v2.builder.OpenAnnotationBuilder

public class OpenAnnotationBuilder extends AbstractAnnotationBuilder
Author:
florian
  • Constructor Details

    • OpenAnnotationBuilder

      public OpenAnnotationBuilder(AbstractApiUrlManager apiUrlManager)
      Parameters:
      apiUrlManager -
  • Method Details

    • getCrowdsourcingAnnotationsFromSolr

      public Map<Integer,List<de.intranda.api.annotation.oa.OpenAnnotation>> getCrowdsourcingAnnotationsFromSolr(String pi, boolean urlOnlyTarget, javax.servlet.http.HttpServletRequest request) throws PresentationException, IndexUnreachableException
      Get all annotations for the given PI from the SOLR index, sorted by page number. The annotations are stored as DOCTYPE:UGC in the SOLR and are converted to OpenAnnotations here
      Parameters:
      pi - The persistent identifier of the work to query
      urlOnlyTarget - a boolean.
      request -
      Returns:
      A map of page numbers (1-based) mapped to a list of associated annotations
      Throws:
      PresentationException - if any.
      IndexUnreachableException - if any.
    • getCrowdsourcingAnnotations

      public Map<Integer,List<de.intranda.api.annotation.oa.OpenAnnotation>> getCrowdsourcingAnnotations(String pi, boolean urlOnlyTarget, javax.servlet.http.HttpServletRequest request) throws DAOException
      Get all annotations for the given PI from the DAO, sorted by page number. The annotations are stored as DOCTYPE:UGC in the SOLR and are converted to OpenAnnotations here
      Parameters:
      pi - The persistent identifier of the work to query
      urlOnlyTarget - a boolean.
      request -
      Returns:
      A map of page numbers (1-based) mapped to a list of associated annotations
      Throws:
      PresentationException - if any.
      IndexUnreachableException - if any.
      DAOException
    • getCrowdsourcingAnnotation

      public de.intranda.api.annotation.IAnnotation getCrowdsourcingAnnotation(String id) throws PresentationException, IndexUnreachableException
      Throws:
      PresentationException
      IndexUnreachableException
    • createUGCOpenAnnotation

      public de.intranda.api.annotation.oa.OpenAnnotation createUGCOpenAnnotation(org.apache.solr.common.SolrDocument doc, boolean urlOnlyTarget)

      createOpenAnnotation.

      Parameters:
      doc - a SolrDocument object.
      urlOnlyTarget - a boolean.
      Returns:
      a OpenAnnotation object.
    • createUGCOpenAnnotation

      public de.intranda.api.annotation.oa.OpenAnnotation createUGCOpenAnnotation(String pi, org.apache.solr.common.SolrDocument doc, boolean urlOnlyTarget)

      createOpenAnnotation.

      Parameters:
      pi - a String object.
      doc - a SolrDocument object.
      urlOnlyTarget - a boolean.
      Returns:
      a OpenAnnotation object.
    • createFragmentTarget

      public de.intranda.api.annotation.IResource createFragmentTarget(String pi, int pageOrder, String coordString, boolean urlOnlyTarget)
      Parameters:
      pi -
      pageOrder -
      coordString -
      urlOnlyTarget -
      Returns:
      IResource
    • createAnnnotationBodyFromUGCDocument

      public de.intranda.api.annotation.IResource createAnnnotationBodyFromUGCDocument(org.apache.solr.common.SolrDocument doc)
      Parameters:
      doc -
      Returns:
      IResource
    • getCrowdsourcingAnnotationCollection

      public de.intranda.api.annotation.IAnnotationCollection getCrowdsourcingAnnotationCollection(URI uri, String pi, boolean urlsOnly, javax.servlet.http.HttpServletRequest request) throws DAOException
      Parameters:
      uri -
      pi -
      urlsOnly -
      request -
      Returns:
      IAnnotationCollection
      Throws:
      IndexUnreachableException
      PresentationException
      DAOException
    • getCrowdsourcingAnnotationCollection

      public de.intranda.api.annotation.IAnnotationCollection getCrowdsourcingAnnotationCollection(URI uri, String pi, Integer page, boolean urlsOnly, javax.servlet.http.HttpServletRequest request) throws DAOException
      Parameters:
      uri -
      pi -
      page -
      urlsOnly -
      request -
      Returns:
      IAnnotationCollection
      Throws:
      DAOException