Para generar una nueva extension, en el IDE de Eclipse, en la vista del ant, dar doble clic en
extgen(vease en la imagen).
1. Nombre de la extension(”zipcode” ).
2. El nombre del paquete ( “org.zipcode”).
3. El Template es el “yempty”.
Lo siguiente por hacer es agregar la extension al hybris, esto se hace ubicandonos en archivo de
config/localextensions.xml y se agrega con las siguiente linea.
...
<extension dir="${HYBRIS_BIN_DIR}/custom/zipcode"/>
</extensions>
La creacion de los modelos, son generados por un archivo xml cuya ubicacion es carpetaExt>
resources > NombreExtension-items.xml (zipcode-items.xml) que nos servira para la creacion de las
clases y entidades en la base de datos.
<enumtypes>
aqui colocas las enumeraciones que son los valores predefinidos para un
atributo
</enumtypes>
<relations>
Aqui se colocan las relaciones entre los items
</relations>
<itemtypes>
Aqui van los items con sus atributos
</itemtypes>
</items>
Branch_proc_temp Branch_assoc_zips_
temp
GR_BRANCH_NAME GR_BRANCH_NAME
GR_BRANCH_CODE GR_ASSOC_ZIP
GR_BRANCH_ADDRESS BRANCH_ZIP_STATUS
GR_BRANCH_ADDRESS2
GR_CITY
GR_STATE
GR_ZIP
GR_COUNTRY
GR_HOURS_OPEN
GR_TIME_ZONE
GR_AREA_CODE
GR_TOLL_FREE_NUMBE
R
GR_PHONE
GR_FAX
GR_EMAIL
GR_BRANCH_TYPE
GR_BRANCH_TYPE_KEY
GR_STATE_KEY
GR_BRANCH_ACTIVE_D
ATE
GR_IS_ACTIVE
<attributes>
<attribute qualifier="gr_branch_code" type="java.lang.String"
generate="true">
<persistence type="property"/>
<modifiers read="true" write="true" optional="true"/>
</attribute>
............
............
............
<attribute qualifier="gr_branch_is_active"
type="java.lang.Boolean" generate="true">
<persistence type="property"/>
<modifiers read="true" write="true" optional="true"/>
</attribute>
</attributes>
code: Nombre de la clase en java. Se recomienda que la primera letra sea en mayuscula.
Generate: genera las clases abstractas con get y set por default. Se recomienda en True.
Nota:
Cabe de mencionar que el extends del Branch_proc_temp apunta hacia un item(PointOfService) que
contiene uno campos similares, vease en la extension de Hybris> bin>ext-hybris >BaseCommerce se
debe importar el proyecto. Los campos de PointOfService que se van a necesitar son name.
Address(street,streetnumber, city, state, zip y country) y type.
En lo que es dentro del tag de <attributes> lo que es el tag <attribute> cuyas propiedades son las
siguientes:
<modifiers>: Dentro de este tag contiene las propiedades de read y write donde se determina si
sus get y set sean publicos o privados, por el momento se recomiendan que sean publicos
read="true" write="true". Mientras que la propiedad de optional... en el caso que se de
alta un registro al item correspondiente al atributo cuya propiedad optional=”false” no te
dejara hacer la insercion si el atributo lleva valor null, en pocas palabras el atributo es
obligatorio y si optional="true" acepta valores nulos.
Esto fue una breve explicacion sobre los items, para mas informacion detallada vease los siguientes
links: items.xml y itemsElementsReference.
Una vez terminado el archivo ext-item.xml se compila y va generar archivos java con las clases
correspondientes a su types.
De ahi se ejecuta el Ant all, una vez terminado el built del ant nos dijimos a la consola de
administracion del Hybris, de donde pasamos a la pestaña de init/update, donde le damos update o init
segun sea los casos vistos segun en los tutoriales anteriores...
Nota:
En caso de hacer modificaciones ya sea eliminando o agregando types o atributos y hay
incongruencias en el hmc, se recomienda ejecutar el ant all, mas aparte en la consola de
administracion en la pestaña de init/update seleccionar update, hacer el check en projects de la
extension y dar click en Go.
Otro modo en la eliminacion de atributos, seria de manera de eliminacion manual por el HMC.
Branch_assoc:
356|77455|A
356|77456|A
356|77457|A
356|77458|A
356|77459|A
Branch_proc
Lo primero que se debe hacer es identificar de acuerdo a los items que se crearon con las columnas de
los datos anteriores, tomamos los primeros registros como ejemplo.
Branch_Proc
006|FBKS|19 College Rd. Unit A| |Fairbanks|AK|99701-1702|US|8:00 AM - 5:00 PM|Alaska|907| |
(907) 458-6500|(907) 458-6502|brn.006@Grainger.com|Branch|2|3|2006-09-18 00:00:00|0
Elaboracion de CSV
1. Comenzamos elaborar el csv de Branch_Proc por que se debe comenzar de manera jerarquica,
primero las entidades independientes, no se agregaron los atributos que correspondientes al adress de
PointOfService(address1,addres2,city,state,zip,country) por que se deben ser por separado .
INSERT_UPDATE Branch_proc;name[unique=true];
gr_branch_code;
gr_hours_open;
gr_time_zone;gr_area_code;
gr_toll_free_number;gr_phone;
gr_fax;gr_email;
type(code);
gr_branch_type_key;
gr_branch_state_key;
gr_branch_active_date;
gr_branch_is_active;
2. Siguiente es el Address con el name del del item branch_proc para hacer el match, con los
atributos faltantes que son:
GR_BRANCH_ADDRESS,GR_BRANCH_ADDRESS2,GR_CITY,GR_STATE,
GR_ZIP, GR_COUNTRY
INSERT_UPDATE Address;owner(PointOfService.name)[unique=true];
streetname;
streetnumber;
town;
district;
postalcode;
country(isocode)
3. Hacemos una actualizacion del Branch proc para que tome los datos de address.
UPDATE Branch_proc;name[unique=true];
type(code);
address(owner(Branch_proc.name));
IMPEX
1. Una vez terminado el csv pasamos al hmc, en el organizador damos click en System > Tools >
Import
2. Se abrira un ventana nueva, damos click al icono de para ingresar la ubicacion del
archivo csv.
3. Una vez ingresado el archivo, le damos click en Start ubicado en la parte inferior derecha.
4. Y se ha ingresado satisfactoriamente los registros