Ouverture du lecteur IEG dans une boîte de dialogue modale

Pour ouvrir le lecteur IEG dans une boîte de dialogue modale, ouvrez Screening.do dans le modal en transmettant les paramètres executionID et système à l'aide d'un UIM de résolution. System_IEGResolverModal.uim est fourni prêt à l'emploi pour effectuer cette opération :

<PAGE PAGE_ID="System_IEGResolverModal">
          <JSP_SCRIPTLET>
    <![CDATA[
          
      String scriptID = request.getParameter("scriptID");
      String scriptType = request.getParameter("scriptType");
      String scriptVersion = 
        request.getParameter("scriptVersion");
      String schemaName = request.getParameter("schemaName");
      String name = request.getParameter("name");      
            
      // Besoin de vérifier la présence d'erreurs de validation
      // de script avant l'exécution du script.
      curam.omega3.request.RequestHandler 
        rh = curam.omega3.request.
          RequestHandlerFactory.getRequestHandler(request);
      
      String context = request.getContextPath() + "/";
      String contextWithUserPreferences = context +
       curam.omega3.user.UserPreferencesFactory
          .getUserPreferences(
              pageContext.getSession()).getLocale() + "/";
             
      String url = null;
              
      curam.interfaces.IEGScriptAdminPkg.
        IEGScriptAdmin_checkForScriptErrors_TH
            iegScriptAdminCheckForErrors
          = new curam.interfaces.IEGScriptAdminPkg.
            IEGScriptAdmin_checkForScriptErrors_TH();
           
      iegScriptAdminCheckForErrors.setFieldValue(
        iegScriptAdminCheckForErrors.key$scriptID_idx,
            scriptID);
      iegScriptAdminCheckForErrors.setFieldValue(
        iegScriptAdminCheckForErrors.key$scriptType_idx,
            scriptType);
      iegScriptAdminCheckForErrors.setFieldValue(
        iegScriptAdminCheckForErrors.key$scriptVersion_idx,
            scriptVersion);
      iegScriptAdminCheckForErrors.setFieldValue(
        iegScriptAdminCheckForErrors.key$schemaName_idx,
            schemaName);        
      //Appel de la méthode.
      iegScriptAdminCheckForErrors.callServer();
            
      String errorsPresentInScript = 
         iegScriptAdminCheckForErrors.getFieldValue(
           iegScriptAdminCheckForErrors.result$errorsExist_idx);
      boolean errorsPresent =
          Boolean.valueOf(errorsPresentInScript).
              booleanValue();
                
      if (errorsPresent) {
            
        // En cas d'erreurs, redirection vers la
        // page d'erreur de validation.
        String redirectTo = contextWithUserPreferences
          + "System_listValidationErrorsForModalPage.do"
          + "?name=" + name + "&scriptID=" + scriptID
                  + "&scriptType=" + scriptType 
          + "&scriptVersion=" + scriptVersion
          + "&schemaName=" + schemaName;
        url = redirectTo + "&&" + rh.getSystemParameters();          
         
      } else {
             
        // Appel de la méthode du script d'exécution et redirection
        // vers le lecteur IEG.
        curam.interfaces.IEGScriptAdminPkg.
          IEGScriptAdmin_runScript_TH iegScriptAdminRunScript
            = new curam.interfaces.IEGScriptAdminPkg.
              IEGScriptAdmin_runScript_TH();
           
        iegScriptAdminRunScript.setFieldValue(
          iegScriptAdminRunScript.key$dtls$scriptID_idx,
              scriptID);
              iegScriptAdminRunScript.setFieldValue(
          iegScriptAdminRunScript.key$dtls$scriptType_idx, 
              scriptType);
        iegScriptAdminRunScript.setFieldValue(
          iegScriptAdminRunScript.key$dtls$scriptVersion_idx,
              scriptVersion);
        iegScriptAdminRunScript.setFieldValue(
          iegScriptAdminRunScript.key$schemaName_idx,
              schemaName);        
        //Appel de la méthode.
        iegScriptAdminRunScript.callServer();
              
        String executionID = 
            iegScriptAdminRunScript.getFieldValue(
          iegScriptAdminRunScript.result$executionID_idx);
        executionID = executionID.replaceAll(",", "");
              
        url = context + "ieg/Screening.do?" 
              + "executionID=" + executionID
              + "&" + rh.getSystemParameters();        
      }
            
      // Redirection vers la page correcte.
      response.sendRedirect(
          response.encodeRedirectURL(url));
    ]]>
  </JSP_SCRIPTLET>
</PAGE>