Package digilib.servlet
Class Manifester
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
digilib.servlet.Manifester
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
@WebServlet(name="Manifester",
urlPatterns={"/Manifester/*","/servlet/Manifester/*"})
public class Manifester
extends javax.servlet.http.HttpServlet
Servlet for creating IIIF Presentation API manifests.
Reads file manifest.json to replace the automatically generated output.
Reads file manifest-meta.json and merges the content into the top-level
of the generated manifest.
- Author:
- casties
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classClass holding parameters to construct manifest. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static org.slf4j.Loggerlogger for accounting requestsprotected AuthzOpsAuthOps instanceprotected booleanset CORS header ACAO* for info requestsprotected DocuDirCacheDocuDirCache instanceprotected DigilibServletConfigurationDigilibConfiguration instanceprotected Stringcharacter for IIIF path separationprotected org.slf4j.Loggergeneral loggerstatic StringServlet versionprotected Stringhow to create label for pagesprotected Stringscaler servlet pathprotected booleanuse authentication and authorizationprotected booleanuse filesystem-access to read additional json files -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyToManifest(String key, jakarta.json.JsonValue value, jakarta.json.stream.JsonGenerator manifest) Write JSON object value recursively under key into JsonGenerator manifest.protected voiddoGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) protected voiddoOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) longgetLastModified(javax.servlet.http.HttpServletRequest request) Returns modification time relevant to the request for caching.voidinit(javax.servlet.ServletConfig config) protected voidprocessRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) protected voidwriteCanvas(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteCanvases(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected voidwriteImagesV2(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteImagesV3(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteImageV2(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteImageV3(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteLangLabel(jakarta.json.stream.JsonGenerator manifest, String key, String lang, String label) Write a label with the given language under key.protected voidwriteManifestMetaV2(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) protected voidwriteManifestMetaV3(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) protected voidwriteResource(jakarta.json.stream.JsonGenerator manifest, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteSequencesV2(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected voidwriteSequenceV2(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected voidwriteServiceV2(jakarta.json.stream.JsonGenerator manifest, String iiifImgBaseUrl, ImageSize imgSize, Manifester.ManifestParams params) protected voidwriteServiceV3(jakarta.json.stream.JsonGenerator manifest, String iiifImgBaseUrl, ImageSize imgSize, Manifester.ManifestParams params) Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doPost, doPut, doTrace, service, serviceMethods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
mfVersion
Servlet version -
dlConfig
DigilibConfiguration instance -
logger
protected org.slf4j.Logger loggergeneral logger -
accountlog
protected static org.slf4j.Logger accountloglogger for accounting requests -
authzOp
AuthOps instance -
dirCache
DocuDirCache instance -
useAuthorization
protected boolean useAuthorizationuse authentication and authorization -
scalerServletPath
scaler servlet path -
iiifPathSep
character for IIIF path separation -
corsForInfoRequests
protected boolean corsForInfoRequestsset CORS header ACAO* for info requests -
pageLabelMode
how to create label for pages -
useFilesystem
protected boolean useFilesystemuse filesystem-access to read additional json files
-
-
Constructor Details
-
Manifester
public Manifester()
-
-
Method Details
-
init
public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException - Specified by:
initin interfacejavax.servlet.Servlet- Overrides:
initin classjavax.servlet.GenericServlet- Throws:
javax.servlet.ServletException
-
getLastModified
public long getLastModified(javax.servlet.http.HttpServletRequest request) Returns modification time relevant to the request for caching.- Overrides:
getLastModifiedin classjavax.servlet.http.HttpServlet- See Also:
-
doGet
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException - Overrides:
doGetin classjavax.servlet.http.HttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
doOptions
protected void doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException - Overrides:
doOptionsin classjavax.servlet.http.HttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
processRequest
protected void processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) -
writeManifestMetaV2
protected void writeManifestMetaV2(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratordlFn- the fnparams- the ManifestParams
-
writeManifestMetaV3
protected void writeManifestMetaV3(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratordlFn- the fnparams- the ManifestParams
-
writeSequencesV2
protected void writeSequencesV2(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratorparams- the ManifestParams
-
writeSequenceV2
protected void writeSequenceV2(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratorparams- the ManifestParams
-
writeCanvases
protected void writeCanvases(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratorparams- the ManifestParams
-
writeCanvas
protected void writeCanvas(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoridx- the idximgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeImagesV2
protected void writeImagesV2(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoridx- the idximgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeImagesV3
protected void writeImagesV3(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoridx- the idximgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeImageV2
protected void writeImageV2(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoridx- the idximgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeImageV3
protected void writeImageV3(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoridx- the idximgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeResource
protected void writeResource(jakarta.json.stream.JsonGenerator manifest, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratorimgFile- the DocuDirentimgSize- the ImageSizeparams- the ManifestParams
-
writeServiceV2
protected void writeServiceV2(jakarta.json.stream.JsonGenerator manifest, String iiifImgBaseUrl, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoriiifImgBaseUrl- the iiifImgBaseUrlimgSize- the ImageSizeparams- the ManifestParams
-
writeServiceV3
protected void writeServiceV3(jakarta.json.stream.JsonGenerator manifest, String iiifImgBaseUrl, ImageSize imgSize, Manifester.ManifestParams params) - Parameters:
manifest- the JsonGeneratoriiifImgBaseUrl- the iiifImgBaseUrlimgSize- the ImageSizeparams- the ManifestParams
-
writeLangLabel
protected void writeLangLabel(jakarta.json.stream.JsonGenerator manifest, String key, String lang, String label) Write a label with the given language under key.- Parameters:
manifest-key-lang-label-
-
copyToManifest
protected void copyToManifest(String key, jakarta.json.JsonValue value, jakarta.json.stream.JsonGenerator manifest) Write JSON object value recursively under key into JsonGenerator manifest.- Parameters:
key- the keyvalue- the JsonValuemanifest- the JsonGenerator
-