Configuración del código GetData
La etiqueta <wcf:getData>
, parte de la biblioteca de códigos de base de HCL Commerce, le permite recuperar objetos de datos de servicio de cualquier servicio de HCL Commerce y asociarlos a una variable de script recién declarada con un ID proporcionado. Este ID especificado también asocia los objetos SDO a un ámbito especificado. A menos que se especifique lo contrario, el objeto Java que se crea es una instancia de java.util.List que contiene la lista de objetos de datos de servicio.
El código getData se configura mediante la acción getData de HCL Commerce. Esta acción busca archivos de configuración llamados get-data-config.xml en el directorio WEB-INF/config. Los archivos de configuración deben seguir las normas siguientes:
- Deben tener
get-data-config
como elemento raíz. - Debe haber un archivo de configuración para cada componente que esté configurado para su uso con la acción getData.
- Se esperan archivos de configuración de componente base en WEB-INF/config/base/component/get-data-config.xml, donde component es un directorio que es exclusivo para el componente.
- Las extensiones de cliente deben estar ubicadas en WEB-INF/config/ext/.global/get-data-config. Las extensiones de cliente se cargan después de las configuraciones de componentes base.
Todas las vías de acceso de este archivo se refieren a la ubicación instalada de la de la aplicación web, por ejemplo, la Portlet WAR (MVCPortlet.war).
La modificación del archivo get-data-config también puede modificar el comportamiento de los componentes de negocio. Por ejemplo, el componente Catálogo, de forma predeterminada, habilita la búsqueda por número de pieza y nombre (sensible a mayúsculas/minúsculas). Este comportamiento se puede cambiar para habilitar únicamente en el catálogo la búsqueda por número de pieza o la búsqueda por nombre a fin de mejorar el rendimiento de las búsquedas en el sitio.
<expression-builder>
<name>findAllCatentriesBasicSearch</name>
<data-type-name>CatalogEntry</data-type-name>
<class>com.ibm.commerce.catalog.internal.client.taglib.util.CatalogSearchExpressionBuilder</class>
<method>formatExpression</method>
<param>
<name>template</name>
<!--
Default config is search the catalog entry by part number or name.
To improve performance, user can comment this <value> section and uncomment one of the following two <value> sections
for searching by part number only or searching by name only.
Note that only one <value> section should be uncommented.
-->
<!-- Search catalog entry by part number or name -->
<value>/CatalogEntry[($catEntryTypes$) and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$partNumber$' or Description/Name='$name$')]</value>
<!-- Search catalog entry by part number only-->
<!--
<value>/CatalogEntry[($catEntryTypes$) and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$partNumber$')]</value>
-->
<!-- Search catalog entry by name only-->
<!--
<value>/CatalogEntry[($catEntryTypes$) and search(Description/Name='$name$')]</value>
-->
</param>
</expression-builder>
Elemento get-data-config
El elemento get-data-config configura la acción getData de HCL Commerce. La acción getData puede captar datos de los servicios de HCL Commerce para utilizarlos en una página JSP. Debe registrar tipos de datos de componente como parte del elemento get-data-config para que éstos puedan ser reconocidos por la acción getData.
name | tipo | descripción |
---|---|---|
data-type | wcf:data-typeComplexType |
El elemento data-type declara un tipo de datos soportado para la acción getData. |
client-facade | wcf:client-facadeComplexType |
El elemento client-facade declara la fachada de cliente de componente que invoca el servicio de HCL Commerce que capta los datos deseados. |
expression-builder | wcf:expression-builderComplexType |
El elemento expression-builder declara generadores de expresiones. Un generador de expresiones maneja la complejidad de la composición de una expresión de consulta. Sólo necesita proporcionar el nombre del generador de expresiones y valores para sus parámetros de entrada publicados. |
date-typeComplex
name | tipo | descripción |
---|---|---|
name | xsd:String |
El nombre del tipo de datos. Este nombre correlaciona el tipo de datos con las declaraciones de fachada de cliente y generador de expresiones. |
descripción | xsd:String |
Una descripción del tipo de datos. |
tipo | xsd:String |
El nombre de interfaz o clase Java completo del tipo de datos. Para componentes de HCL Commerce, este es el tipo de SDO de nombre. |
client-facadeComplexType
name | tipo | descripción |
---|---|---|
data-type-name | xsd:string |
El nombre del tipo de datos al que está asociada la definición de fachada de cliente. |
class | xsd:String |
El nombre de clase Java totalmente calificado de la fachada de cliente de componente que la acción getData utiliza cuando se solicitan datos del tipo coincidente. La clase de fachada de cliente debe tener un constructor que acepte dos parámetros:
'com.ibm.commerce.foundation.common.datatypes.BusinessContextType' . El manejador de llamadas de seguridad es del tipo |
method | xsd:String |
El nombre del método en la clase de fachada de cliente de componente que se utiliza para recuperar los datos solicitado por la acción getData. El método acepta una instancia de 'com.ibm.commerce.oagis9.datatypes.GetType' y devuelve una instancia de ShowXXXDataAreaType para el nombre específico que se solicita. |
expression-builderComplexType
name | tipo | descripción |
---|---|---|
name | xsd:string |
El nombre del generador de expresiones. Este valor se especifica utilizando el "expressionBuilder" para recuperar los datos solicitados por la acción getData. El método debe poder aceptar una instancia de 'com.ibm.commerce.oagis9.datatypes.GetType' y devolver una instancia de ShowXXXDataAreaType para el nombre específico que se solicita. |
descripción | xsd:string |
Una descripción del generador de expresiones. |
data-type-name | xsd:string |
El nombre del tipo de datos con el que se asociará esta definición de generador de expresiones. |
- bien
name tipo descripción class xsd:string
El nombre de clase Java completo del generador de expresiones. Esta clase debe tener un constructor predeterminado. method xsd:string
El nombre de método del generador de expresiones. Este método debe aceptar un java.util.Map
y devolver una instancia de'com.ibm.commerce.oagis9.datatypes.ExpressionType'
. La correlación es la correlación de parámetros que correlaciona nombres de tipo String con valores de tipo String[]. Si hay valores de parámetro para el nombre de parámetro, la matriz String tendrá una longitud mayor que uno. - o
name tipo descripción expression-template xsd:string
La plantilla de expresión que se utiliza para componer la expresión. La expresión puede incluir parámetros de sustitución de la forma $name$
que se reemplazarán por valores de parámetro del mismo nombre. Si un nombre de parámetro tiene valores valores, sólo se utiliza el primer valor.expression-language xsd:string
El lenguaje de expresiones para la plantilla de expresión especificada. Si no se especifica este valor, se utiliza wcf:XPath
.
name | tipo | descripción |
---|---|---|
param |
opcional | El elemento param se utiliza para declarar los parámetros que espera el generador de expresiones. Si se especifica uno o más elementos value como parte de la declaración, esos valores se pasan al generador de expresiones. Si se utiliza el mismo nombre de parámetro al codificar la etiqueta getData, se utilizan los valores especificados y las declaraciones de elementos param se ignoran. Se pueden especificar nombres de parámetros no declarados y pasarlos al generador de expresiones. |
param
name | tipo | descripción |
---|---|---|
name | xsd:string |
El nombre de un parámetro esperado por el generador de expresiones. |
descripción | xsd:string |
Una descripción del parámetro. |
valor | xsd:string |
Un valor predeterminado para el parámetro. |