Class OrcidIntegrationController

  • All Implemented Interfaces:
    edu.cornell.mannlib.vitro.webapp.controller.MultipartRequestWrapper.ParsingStrategy, Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    @WebServlet(name="OrcidIntegrationController",
                urlPatterns="/orcid/*")
    public class OrcidIntegrationController
    extends edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet
    New workflow:
        Default: clear status for both readProfile and addExternalIDs
          show intro screen orcidOffer.ftl
            The click "do it", goes to /getProfileAuth
          Or "return to profile"
        /getProfileAuth: If already authorized, redirect to /readProfile
          Else, do the dance, ending with /readProfile callback
          Denied? show orcidDenied.ftl
          Failed? show orcidFailed.ftl
        /readProfile: read the profile, store in status
            figure external ID options, show orcidOfferIds.ftl
          If they click "do it", goes /authExternalIds
          If they click "nah", return to profile
        /authExternalIds: if already authorized, redirect to /addExternalIds
          Else, do the dance, ending with /addExternalIds callback
        /addExternalIds add one or both IDs, store new profile in status
          show orcidSuccess.ftl with "return to profile" and "view profile" links.
     
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet

        edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.Template
      • Nested classes/interfaces inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet

        edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet.PickListSorter
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String DEFAULT_EXTERNAL_ID_COMMON_NAME  
      static String PATH_DEFAULT  
      static String PROPERTY_EXTERNAL_ID_COMMON_NAME  
      • Fields inherited from class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet

        BODY_TEMPLATE_TYPE, PAGE_TEMPLATE_TYPE
      • Fields inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet

        HTML_MIMETYPE, JSON_LD_MIMETYPE, JSON_MIMETYPE, N3_MIMETYPE, publicDateFormat, RDFXML_MIMETYPE, TTL_MIMETYPE, XHTML_MIMETYPE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doGet​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
      Get in before FreemarkerHttpServlet for special handling.
      protected edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues processRequest​(edu.cornell.mannlib.vitro.webapp.controller.VitroRequest vreq)
      Look at the path info and delegate to a handler.
      protected edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest requiredActions​(edu.cornell.mannlib.vitro.webapp.controller.VitroRequest vreq)
      We return AUTHORIZED here, but we want the LogoutRedirector to know that the user should not remain on this page after logging out.
      • Methods inherited from class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet

        doException, doForward, doPost, doRdf, doRedirect, doResponse, doTemplate, getBeansWrapper, getDisplayModelMenu, getFreemarkerComponentsForJsp, getPageTemplateName, getPageTemplateValues, getThemeDir, getTitle, handleException, processTemplate, processTemplateToString, wrap, wrap, write, writePage, writeTemplate, writeTemplate
      • Methods inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet

        dumpRequestParameters, isAuthorizedToDisplayPage, maximumMultipartFileSize, redirectToInsufficientAuthorizationPage, redirectToLoginPage, redirectUnauthorizedRequest, service, sortForPickList, stashFileSizeException
      • Methods inherited from class javax.servlet.http.HttpServlet

        doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service
      • Methods inherited from class javax.servlet.GenericServlet

        destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
    • Constructor Detail

      • OrcidIntegrationController

        public OrcidIntegrationController()
    • Method Detail

      • doGet

        public void doGet​(javax.servlet.http.HttpServletRequest req,
                          javax.servlet.http.HttpServletResponse resp)
                   throws IOException,
                          javax.servlet.ServletException
        Get in before FreemarkerHttpServlet for special handling.
        Overrides:
        doGet in class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet
        Throws:
        IOException
        javax.servlet.ServletException
      • requiredActions

        protected edu.cornell.mannlib.vitro.webapp.auth.requestedAction.AuthorizationRequest requiredActions​(edu.cornell.mannlib.vitro.webapp.controller.VitroRequest vreq)
        We return AUTHORIZED here, but we want the LogoutRedirector to know that the user should not remain on this page after logging out.
        Overrides:
        requiredActions in class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet
      • processRequest

        protected edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues processRequest​(edu.cornell.mannlib.vitro.webapp.controller.VitroRequest vreq)
                                                                                                               throws Exception
        Look at the path info and delegate to a handler.
        Overrides:
        processRequest in class edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet
        Throws:
        Exception