Opening the IEG Player in a Modal Dialog

To open the IEG Player in a modal dialog, open Screening.do, in the modal, passing the executionID and system parameters, using a resolve UIM. System_IEGResolverModal.uim is provided out-of-the-box to perform this processing:

<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");      
            
      // Need to check to see if there are any script 
      // validation errors before running the 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);        
      //Call the method.
      iegScriptAdminCheckForErrors.callServer();
            
      String errorsPresentInScript = 
         iegScriptAdminCheckForErrors.getFieldValue(
           iegScriptAdminCheckForErrors.result$errorsExist_idx);
      boolean errorsPresent =
          Boolean.valueOf(errorsPresentInScript).
              booleanValue();
                
      if (errorsPresent) {
            
        // If there are errors, redirect to the validation 
        // error page.
        String redirectTo = contextWithUserPreferences
          + "System_listValidationErrorsForModalPage.do"
          + "?name=" + name + "&scriptID=" + scriptID
                  + "&scriptType=" + scriptType 
          + "&scriptVersion=" + scriptVersion
          + "&schemaName=" + schemaName;
        url = redirectTo + "&&" + rh.getSystemParameters();          
         
      } else {
             
        // Call the run script method and redirect to 
        // the IEG player.
        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);        
        //Call the method.
        iegScriptAdminRunScript.callServer();
              
        String executionID = 
            iegScriptAdminRunScript.getFieldValue(
          iegScriptAdminRunScript.result$executionID_idx);
        executionID = executionID.replaceAll(",", "");
              
        url = context + "ieg/Screening.do?" 
              + "executionID=" + executionID
              + "&" + rh.getSystemParameters();        
      }
            
      // Redirect to the correct page.
      response.sendRedirect(
          response.encodeRedirectURL(url));
    ]]>
  </JSP_SCRIPTLET>
</PAGE>