Es posible llenar previamente los valores que se mostrarán al usuario para que las respuestas sólo se deban confirmar o modificar.
Por ejemplo, se puede llenar previamente el nombre y la fecha de nacimiento de un usuario en una página de Detalles personales suponiendo que el usuario ya haya iniciado la sesión y otra base de datos contenga los detalles personales.
El DS se puede llenar previamente antes del inicio de la ejecución de script de la manera siguiente:
... Datastore ds = null; try { // abrir el almacén de datos y crear la entidad raíz ds = DatastoreFactory.newInstance().openDatastore(schemaName); } catch (NoSuchSchemaException e) { throw new AppException(IEG.ID_SCHEMA_NOT_FOUND); } final EntityType appType = ds.getEntityType("Application"); final Entity rootElement = ds.newEntity(appType); ds.addRootEntity(rootElement); final EntityType personType = ds.getEntityType("Person"); final Entity person = ds.newEntity(personType); person.setAttribute("firstName", "TestFirstName"); person.setAttribute("lastName", "TestLastName"); person.setAttribute("dateOfBirth", "19700101"); //... rootElement.addChildEntity(person);
Entonces la entidad raíz se puede utilizar en la creación de una nueva ejecución de script de la siguiente manera:
... // crear la ejecución de script final IEGRootEntityID rootEntityID = new IEGRootEntityID(); rootEntityID = rootElement.getUniqueID(); final IEGRuntime runtimeAPI = new IEGRuntime(); final IEGScriptExecutionIdentifier executionIdentifier = runtimeAPI.createScriptExecutionExistingRootEntity( iegScriptID, schemaName, rootEntityID);
Entonces se puede ejecutar el reproductor IEG utilizando esta nueva ejecución de script de la manera siguiente:
<?xml version="1.0" encoding="UTF-8"?> <PAGE PAGE_ID="IEGScriptLauncher"> <JSP_SCRIPTLET> <![CDATA[ curam.omega3.request.RequestHandler rh = curam.omega3.request.RequestHandlerFactory.getRequestHandler( request); String context = request.getContextPath() + "/"; String url = context + "ieg/Screening.do?" + "executionID=" + executionID + "&" + rh.getSystemParameters(); // Redirigir a la página correcta. response.sendRedirect(response.encodeRedirectURL(url)); ]]> </JSP_SCRIPTLET> </PAGE>
Tenga en cuenta que sólo se puede llenar previamente el DS y no las preguntas de control u otra información relacionada con el script ya que éstas se almacenan en la ejecución del script y no en el DS. Esto significa que no es posible llenar previamente los datos visualizados en la primera sección del script y empezar en la segunda sección. La primera sección se visualizará y el usuario podrá confirmar los datos llenados previamente.