Funcional
Breadcrumbs

Interceptor de Inventario


Modelo de integración

Se habilita en Kerno un punto en el cual se pueden transformar valores de atributos incluidos en la plantilla.

La clase transformadora recibirá todo el objeto completo y deberá devolver ese mismo objeto pero con los valores de atributos transformados como se quiera y necesite.

No se puede añadir un atributo nuevo ni eliminar uno de los que ya contenga el objeto, en tal caso la ejecución fallará. Sólo se puede modificar el valor de un atributo; en caso de modificar cualquier otro parámetro, la ejecución fallará.


Interfaces de entrada y salida

El DTO de entrada y salida es el mismo, com.anjana.core.customers.model.EntityFormDTO, y está disponible en la librería pública customers-lib.

Dentro de este DTO se encuentra la propiedad entityAttributes, esta propiedad contiene una lista de AttributeDefinitionDTO. En este segundo DTO se puede hacer transformaciones en la propiedad value. El resto de atributos no se pueden modificar pero pueden ser de utilidad para la transformación que se necesite hacer.

Para más información sobre los DTOs usados revisar la documentación de la API buscando el DTO mencionado o revisar el ANEXO con las capturas de esa misma documentación


Configuración

Las siguientes configuraciones se deben de hacer en la configuración de Kerno, ya sea YAML o de cualquier otra índole.

anjana:
  ...
  transformation:
    enabled: true
    className:  com.anjana.inventory.example.DescriptionCalculation
    jarLocation: "/opt/inventory-interceptor/inventory-interceptor-example.jar"
  • enabled: Para habilitar la transformación de atributos

  • className: para marcar cual es la paquetería y clase elegidas para hacer transformaciones

  • jarLocation: la ubicación exacta (incluido nombre del jar) del artefacto con el interceptor


Artefactos disponibles

Librería

Para generar o editar un nuevo Interceptor se usará la librería provista:

<dependency>
  <groupId>com.anjana.core</groupId>
  <artifactId>customers-library</artifactId>
  <version>5.0.0</version>
</dependency>

Interceptor Ejemplo

Se provee de un interceptor base para su uso o modificación, se proveerán las fuentes de dicho artefacto de ejemplo a petición del cliente. Se ubica en el repositorio ‘releasesmvn’ del artifactory proporcionado bajo la ruta: com/anjana/inventory/interceptor/inventory-interceptor-example/

El interceptor de ejemplo cuenta con las clases:

  • IARiskSurvey que tiene un ejemplo de cálculo de riesgos de un cuestionario para IA

    • className: com.anjana.inventory.example.IARiskSurvey

  • DescriptionCalculation que hace una modificación “DUMMY” de la descripción del objeto

    • className: com.anjana.inventory.example.DescriptionCalculation


ANEXO: DTOS

att_1_for_171901623.png
att_2_for_171901623.png