Ejecución del reproductor IEG en una pestaña

Ejecutar el reproductor IEG en una pestaña requiere menos esfuerzo que ejecutarlo en un modal. Necesita que el enlace de 'apertura' apunte a ieg/Screening.do y pase en el executionID. Screening.do invoca el reproductor IEG. Los parámetros son los siguientes:

A continuación se proporciona un ejemplo de un UIM de resolución que abre el reproductor IEG en una pestaña:

Figura 1. UIM de resolución para abrir el reproductor IEG
<?xml version="1.0" encoding="UTF-8"?>
  <PAGE PAGE_ID="System_IEGResolver">
    <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");
          
      String executionIDParam = 
          request.getParameter("executionIDParam");
      String url = null;
          
      curam.omega3.request.RequestHandler 
          rh = curam.omega3.request.
      RequestHandlerFactory.getRequestHandler(request);
          
      String context = request.getContextPath() + "/";
          
      if (executionIDParam == null) {
        // Es necesario comprobar si hay errores de validación de script
        // antes de ejecutar el script.
          
        String contextWithUserPreferences = context +
          curam.omega3.user.UserPreferencesFactory
          .getUserPreferences(
              pageContext.getSession()).getLocale() + "/";
          
        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);        
        //Llamar al método.
        iegScriptAdminCheckForErrors.callServer();
          
        String errorsPresentInScript = 
            iegScriptAdminCheckForErrors.getFieldValue(
                iegScriptAdminCheckForErrors
                    .result$errorsExist_idx);
        boolean errorsPresent =
            Boolean.valueOf(errorsPresentInScript).booleanValue();
          
        if (errorsPresent) {
          
          // Si hay errores, redirigir a la página de errores
          // de validación.
          String redirectTo = contextWithUserPreferences 
          + "System_listValidationErrorsForRunPage.do"
          + "?name=" + name
          + "&scriptID=" + scriptID
          + "&scriptType=" + scriptType 
          + "&scriptVersion=" + scriptVersion
          + "&schemaName=" + schemaName;
          url = redirectTo + "&amp;" + rh.getSystemParameters();          
          
        } else {
          
          // Llamar al método de ejecución de script y redirigirlo al
          // reproductor 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);        
          //Llamar al método.
          iegScriptAdminRunScript.callServer();
          
          String executionID = iegScriptAdminRunScript.
              getFieldValue(
                  iegScriptAdminRunScript.result$executionID_idx);
          url = context + "ieg/Screening.do?" + "executionID=" 
              + executionID + "&" + rh.getSystemParameters();        
        }
      } else {
          
          url = context + "ieg/Screening.do?" + "executionID=" 
              + executionIDParam + "&"
              + rh.getSystemParameters();
          
     }
          
     // Redirigir a la página correcta.
     response.sendRedirect(response.encodeRedirectURL(url));
  ]]>
  </JSP_SCRIPTLET>
</PAGE>