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 class
Class holding parameters to construct manifest. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static org.slf4j.Logger
logger for accounting requestsprotected AuthzOps
AuthOps instanceprotected boolean
set CORS header ACAO* for info requestsprotected DocuDirCache
DocuDirCache instanceprotected DigilibServletConfiguration
DigilibConfiguration instanceprotected String
character for IIIF path separationprotected org.slf4j.Logger
general loggerstatic String
Servlet versionprotected String
how to create label for pagesprotected String
scaler servlet pathprotected boolean
use authentication and authorizationprotected boolean
use filesystem-access to read additional json files -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
copyToManifest
(String key, jakarta.json.JsonValue value, jakarta.json.stream.JsonGenerator manifest) Write JSON object value recursively under key into JsonGenerator manifest.protected void
doGet
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) protected void
doOptions
(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) long
getLastModified
(javax.servlet.http.HttpServletRequest request) Returns modification time relevant to the request for caching.void
init
(javax.servlet.ServletConfig config) protected void
processRequest
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) protected void
writeCanvas
(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeCanvases
(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected void
writeImagesV2
(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeImagesV3
(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeImageV2
(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeImageV3
(jakarta.json.stream.JsonGenerator manifest, int idx, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeLangLabel
(jakarta.json.stream.JsonGenerator manifest, String key, String lang, String label) Write a label with the given language under key.protected void
writeManifestMetaV2
(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) protected void
writeManifestMetaV3
(jakarta.json.stream.JsonGenerator manifest, String dlFn, Manifester.ManifestParams params) protected void
writeResource
(jakarta.json.stream.JsonGenerator manifest, DocuDirent imgFile, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeSequencesV2
(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected void
writeSequenceV2
(jakarta.json.stream.JsonGenerator manifest, Manifester.ManifestParams params) protected void
writeServiceV2
(jakarta.json.stream.JsonGenerator manifest, String iiifImgBaseUrl, ImageSize imgSize, Manifester.ManifestParams params) protected void
writeServiceV3
(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, service
Methods 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:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in 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:
getLastModified
in 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:
doGet
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
doOptions
protected void doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException - Overrides:
doOptions
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
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
-