Configuración del creador de objetos de negocio de componente
Utilice
BaseBusinessObjectBuilder
para crear un objeto de negocio de componente que se base en las propiedades de configuración y en los datos de entrada que se especifican. Puede configurar este creador definiendo valores de atributos y subelementos en el archivo de configuración de objeto de negocio.Procedimiento
-
Abra el archivo de configuración de objeto de negocio wc-loader-object.xml que necesite configurar.
Si necesita crear un archivo, copie un archivo de configuración de objeto de negocio de ejemplo como, por ejemplo, el archivo wc-loader-catalog.xml y renómbrelo. Los archivos de configuración de objeto de negocio de ejemplo se proporcionan para diferentes objetos de componentes en directorios específicos de componentes en el directorio siguiente:
utilities_root/samples/DataLoad
WCDE_installdir/samples/DataLoad
-
Localice el elemento
<_config:BusinessObjectBuilder>
. -
Establezca el valor del atributo
className
de modo que sea la clase de creador de objetos BaseBusinessObjectBuilder.Por ejemplo, el siguiente fragmento de código especifica la clase de creador de objeto de negocio base<_config:BusinessObjectBuilder
className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="AttributeDictionaryAttributeType" > </_config:BusinessObjectBuilder> -
Especifique el nombre de paquete de componente de objeto de negocio.
Especifique este atributo con el elemento
packageName
que corresponde a los componentes que está actualizando.Component packageName Catálogo com.ibm.commerce.catalog.facade.datatypes.CatalogPackage
Commerce Composer com.ibm.commerce.pagelayout.facade.datatypes.PageLayoutPackage
Inventario com.ibm.commerce.inventory.facade.datatypes.InventoryPackage
Marketing com.ibm.commerce.marketing.facade.datatypes.MarketingPackage
Marketing (Contenido) com.ibm.commerce.content.facade.datatypes.ContentPackage
Member com.ibm.commerce.member.facade.datatypes.MemberPackage
Precio com.ibm.commerce.price.facade.datatypes.PricePackage
El siguiente fragmento de código especifica el paquete de catálogo para la clase del creador de objeto de negocio<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload. businessobjectbuilder.BaseBusinessObjectBuilder"
packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage">
dataObjectType="AttributeDictionaryAttributeType" > </_config:BusinessObjectBuilder> -
Especifique el tipo de objeto de datos para el objeto de negocio.
Especifique este atributo con el elemento
dataObjectType
. El tipo de objeto de datos es distinto para cada tipo de componente de objeto de negocio:Component Tipos de objetos de datos soportados Catálogo CatalogType
CatalogGroupType
CatalogEntryType
AttributeDictionaryAttributeType
Commerce Composer LayoutType
PageType
WidgetDefinitionType
Inventario InventoryAvailabilityType
ExpectedInventoryRecordType
InventoryReceiptType.
Marketing - ActivityType
- AttachmentType
- CampaignType
- MarketingContentType
- MarketingSpotType
Member PersonType
MemberGroupType
OrganizationType
Precio PriceListType
PriceConstantType
PriceEquationType
PriceRuleType
El siguiente fragmento de código especifica el tipo de objeto de datos de atributo de diccionario de atributos:<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage"
dataObjectType="AttributeDictionaryAttributeType"
> </_config:BusinessObjectBuilder> -
Especifique las correlaciones de datos para el objeto de negocio. Especifique las correlaciones dentro del elemento
<_config:DataMapping>
.Dentro de este elemento, se pueden especificar uno o varios elementos<_config:mapping>
.Puede definir las correlaciones de datos mediante los atributos siguientes.xpath
- El
xpath
para la propiedad en el objeto de negocio. value
value
se rellena para el objeto de negocio. Generalmente, es una clave y el valor real depende del atributovalueFrom
.Nota: Si el valor que define no se utiliza en el archivo de entrada de carga de datos, el programa de utilidad de carga de datos no genera ningún error ni registra ningún mensaje.valueFrom
- El atributo
valueFrom
indica cómo resolver el valor. El valor predeterminado esInputData
. Se da soporte a los siguientes valores para valueFrom:InputData
: Indica que el valor es deInputData
.Fixed
: El valor es un valor fijo.
deleteValue
- El indicador de supresión establece si va a eliminar el objeto de negocio.
BusinessObjectMediator
- El nombre de clase para el mediador de objetos de negocio que el programa de utilidad de carga de datos va a utilizar para grabar los datos en la columna de base de datos adecuada. Para obtener más información sobre la especificación de un mediador de objetos de negocio, consulte Configurar el archivo de configuración de objeto de negocio.
-
Especifique el mediador de objetos de negocio para cargar el objeto de negocio.
Especifique los atributos y la clase del mediador dentro del elemento
<_config:BusinessObjectMediator>
. Los atributos que se pueden especificar para un mediador se definen de la forma indicada a continuación:className
- La clase de mediador de objeto de negocio que el programa de utilidad de carga de datos va a utilizar para llenar un objeto de negocio con los datos en el archivo de entrada. Para obtener más información sobre los mediadores proporcionados disponibles, consulte Programa de utilidad de carga de datos mediadores de objetos de negocio.
componentId
- El identificador del componente del objeto de negocio. La lista siguiente identifica el ID de componente para cada componente:
- Componente de catálogo: com.ibm.commerce.catalog
- Componente de inventario: com.ibm.commerce.inventory
- Marketing:
com.ibm.commerce.marketing
- Marketing (Contenido):
com.ibm.commerce.content
- Componentes de precio: com.ibm.commerce.price
- Componente de miembro: com.ibm.commerce.member
- Componente de Commerce Composer: com.ibm.commerce.pagelayout
El fragmento de código siguiente configura un creador de objetos de negocio de componente para cargar datos de la lista de precios<_config:BusinessObjectMediator className="com.ibm.commerce.price.dataload.mediator.OfferMediator" componentId="com.ibm.commerce.price"> </_config:BusinessObjectMediator>
-
Especifique todas las propiedades configurables para el mediador de objetos de negocio dentro de un elemento
<_config:property>
.Cada instancia de este elemento define una propiedad opcional que es específica para este mediador de objetos de negocio. Cada mediador puede tener una o más propiedades o puede no tener ninguna. Para establecer una propiedad configurable, debe establecer los atributos siguientes para la propiedad:- Establezca el atributo
name
: el nombre de la propiedad. - Establezca el atributo
value
: el valor de la propiedad.
Por ejemplo, el siguiente fragmento de código configura el elemento de mediador de objeto de negocio para cargar datos de atributos de diccionario de atributos: El mediador que se especifica en este ejemplo es com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeMediator. Este fragmento de código también especifica dos propiedades para configurar este mediador:<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="AttributeDictionaryAttributeType" > ...
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeMediator" componentId="com.ibm.commerce.catalog" > <_config:property name="allowChangeAttributeType" value="true" /> <_config:property name="validateAttribute" value="true" /> </_config:BusinessObjectMediator>
</_config:BusinessObjectBuilder>Nota: Si suprime datos de objetos de catálogo durante una operación de carga, puede configurar el mediador de objetos de negocio para marque para supresión objetos de catálogo en lugar de eliminar físicamente los objetos. Al marcar un objeto para supresión, podrá asegurarse que dicho objeto todavía existe para cualquier transacción, promoción o actividad que incluya o utilice el objeto. Puede ejecutar el programa de utilidad de limpieza de base de datos para eliminar todos los objetos que están marcados para supresión cuando el objeto ya no es necesario. Para marcar para supresión un objeto, debe utilizar un mediador que dé soporte a la actualización de la columna MARKFORDELETE en la base de datos correspondiente al objeto.- De forma predeterminada, el mediador CatalogEntryMediator da soporte a la operación de marcar para supresión para las entradas de catálogo. Para establecer el distintivo de marca para supresión, escriba la siguiente información en el elemento
<_config:BusinessObjectMediator>
del archivo de configuración de objeto de negocio:
Si la propiedad<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog"> <_config:property name="markForDelete" value="true" /> </_config:BusinessObjectMediator>
markForDelete
no se proporciona o no se ha establecido en"false"
para entradas de catálogo, el CatalogEntryMediator establece los objetos que se deben marcar para supresión. - El mediador CatalogGroupMediator da soporte a la operación de marcar para supresión. Para establecer el distintivo de marca para supresión, escriba la siguiente información en el elemento
<_config:BusinessObjectMediator>
del archivo de configuración de objeto de negocio:
Si no se proporciona la propiedad<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog"> <_config:property name="markForDelete" value="true" /> </_config:BusinessObjectMediator>
markForDelete
o no se establece en"true"
para categorías, el CatalogGroupMediator suprime físicamente objetos de la base de datos.
- Si configura el programa de utilidad de carga de datos para cargar información de SEO, cualquier información de SEO relevante para el objeto se elimina cuando se establece el objeto que se debe marcar para supresión.
- Si la tienda utiliza la búsqueda de HCL Commerce, el índice de búsqueda se reconstruye para eliminar los objetos de catálogo que están marcados para supresión y eliminar las relaciones para esos objetos.
- Establezca el atributo
- Opcional:
Para incluir los objetos que está cargando dentro del índice de búsqueda de HCL Commerce, especifique el mediador de índice de búsqueda para el objeto de negocio que está cargando.
También debe especificar la correlación de datos para el objeto que se va a incluir dentro de la índice de búsqueda.
Para especificar el mediador de índice de búsqueda y la correlación de datos, cree una segunda configuración del creador de objetos de negocio para indexar el objeto de negocio. Añada la segunda configuración del creador de objetos de negocio después del elemento
</_config:BusinessObjectBuilder>
que cierra la configuración del creador de objetos de negocio inicial. Para obtener una lista de mediadores de índice de búsqueda disponibles, consulte Programa de utilidad de carga de datos mediadores de objetos de negocio.Por ejemplo, el siguiente fragmento de código especifica el mediador de índice de búsqueda para cargar categorías y los datos que se van a incluir en el índice de búsqueda:<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType= "CatalogGroupType" > <_config:DataMapping> ... </_config:DataMapping> <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" /> </_config:BusinessObjectBuilder> <!-- Catalog Group Search Index --> <_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" > <_config:DataMapping> <!-- The unique reference number of the category --> <_config:mapping xpath="CatalogGroupIdentifier/UniqueID" value="GroupUniqueId" /> <!-- The identifier of the category --> <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" /> <!-- The unique reference number of the store that owns the category --> <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" /> <!-- The unique reference number of the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/UniqueID" value="ParentGroupUniqueId" /> <!-- The identifier of the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier" /> <!-- The unique reference number of the store that owns the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID" value="ParentStoreUniqueId" /> <!-- The identifier of the store that owns the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="ParentStoreIdentifier" /> <!-- The identifier of the catalog --> <_config:mapping xpath="Attributes/CatalogIdentifier" value="CatalogIdentifier" /> </_config:DataMapping> <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupRelationshipSearchIndexMediator" componentId="com.ibm.commerce.catalog" > </_config:BusinessObjectMediator> </_config:BusinessObjectBuilder>
Como referencia para ayudarle a configurar la correlación de datos para un objeto, revise los archivos de configuración de objeto de negocio que se proporcionan de forma predeterminada. El objeto de los archivos proporcionados es utilizarlos con la herramienta Subir catálogo. Para revisar estos archivos, vaya al siguiente directorio:utilities_root/ts.ear/xml/config/com.ibm.commerce.catalog/dataload
workspace_dir\WC\xml\config\com.ibm.commerce.catalog\dataload
- wc-loader-AD-attribute-allowed-values.xml
- wc-loader-catalog-entry.xml
- wc-loader-catalog-group.xml
- wc-loader-catalog-group-description.xml