L'exécution d'un lecteur IEG dans un onglet nécessite moins d'efforts que l'exécution dans une boîte de dialogue modale. Le lien 'opening' (ouverture) pointe vers ieg/Screening.do et transmet le paramètre executionID. Screening.do appelle le lecteur IEG. Les paramètres sont les suivants :
Voici un exemple d'UIM de résolution qui ouvre le lecteur IEG dans un onglet :
<?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) { // Besoin de vérifier la présence d'erreurs de validation de script // avant l'exécution du 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); //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_listValidationErrorsForRunPage.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); url = context + "ieg/Screening.do?" + "executionID=" + executionID + "&" + rh.getSystemParameters(); } } else { url = context + "ieg/Screening.do?" + "executionID=" + executionIDParam + "&" + rh.getSystemParameters(); } // Redirection vers la page correcte. response.sendRedirect(response.encodeRedirectURL(url)); ]]> </JSP_SCRIPTLET> </PAGE>