WebCenter Portal Task Flows: Parametros de entrada de tipo Boolean
Customizando los Task Flow de WebCenter Portal puede requerir añadir nuevos parámetros de entrada.
English version
En este caso hablamos de los parámetros de tipo java.lang.Boolean.
¿Qué ocurre cuando añadimos un parámetro de tipo Boolean?
Cuando adhieres un parámetro de tipo Boolean se mostrará mediante Oracle Composer como un Checkbox por lo que parece que todo va correcto.
Sin embargo, cuando se intenta utilizar el valor de éste parámetro en, por ejemplo, un Router en el Task Flow. Se producirá el siguiente error:
<Jan 10, 2014 11:52:12 AM CET> <Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <BEA-000000> <
oracle.adf.controller.activity.ActivityLogicException: ADFC-06008: Router case expression '#{pageFlowScope.analytics}' does not evaluate to a boolean.
¿Por qué ocurre este error?
Si se observa los valores registrados en el MDS se verá que almacena para el parámetro los siguientes valores:
¿Como solucionarlo?
La solución se basa en la de tener un Managed Bean con una variable de tipo java.lang.Boolean y mapear / enlazar esta propiedad al valor del parámetro de entrada del Task Flow.
Al realizar esto la conversión será a Boolean y no habrá problemas para usar el parámetro dentro de Routers.
English version
En este caso hablamos de los parámetros de tipo java.lang.Boolean.
¿Qué ocurre cuando añadimos un parámetro de tipo Boolean?
![]() |
Parámetro adherido de tipo Boolean |
![]() |
Parámetro Boolean en Content Presenter |
Sin embargo, cuando se intenta utilizar el valor de éste parámetro en, por ejemplo, un Router en el Task Flow. Se producirá el siguiente error:
<Jan 10, 2014 11:52:12 AM CET> <Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <BEA-000000> <
oracle.adf.controller.activity.ActivityLogicException: ADFC-06008: Router case expression '#{pageFlowScope.analytics}' does not evaluate to a boolean.
¿Por qué ocurre este error?
Si se observa los valores registrados en el MDS se verá que almacena para el parámetro los siguientes valores:
![]() |
Registro del nuevo parámetro en MDS |
- ${'true'}
- ${'false'}
¿Como solucionarlo?
La solución se basa en la de tener un Managed Bean con una variable de tipo java.lang.Boolean y mapear / enlazar esta propiedad al valor del parámetro de entrada del Task Flow.
![]() |
Clase Java para mapear el valor del parámetro de entrada |
![]() |
Parámetro de entrada mapeado a propiedad de Manage Bean |
Excelente post! muchas gracias por la información, tu blog como la ayuda en los foros es genial.
ReplyDeleteMuchas gracias Edwind :)
Delete