Para abrir el reproductor IEG en un diálogo modal, abra Screening.do, en el modal, pasando los parámetros de sistema y executionID, utilizando un UIM de resolución. Para realizar este proceso, se proporciona System_IEGResolverModal.uim listo para utilizarse:
<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");
// Es necesario comprobar si hay errores de validación de script
// antes de ejecutar el 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);
//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_listValidationErrorsForModalPage.do"
+ "?name=" + name + "&scriptID=" + scriptID
+ "&scriptType=" + scriptType
+ "&scriptVersion=" + scriptVersion
+ "&schemaName=" + schemaName;
url = redirectTo + "&&" + 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);
executionID = executionID.replaceAll(",", "");
url = context + "ieg/Screening.do?"
+ "executionID=" + executionID
+ "&" + rh.getSystemParameters();
}
// Redirigir a la página correcta.
response.sendRedirect(
response.encodeRedirectURL(url));
]]>
</JSP_SCRIPTLET>
</PAGE>