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.