Cómo implementar el hook JsonDataServiceExtraActions
Visión general
Esta sección explica cómo implementar el hook JsonDataServiceExtraActions. Este hook se invoca antes y después de cada operación de la clase DefaultJSONDataService.
Implementación del hook
El hook se implementa extendiendo la clase JsonDataServiceExtraActions. Esta clase tiene dos métodos que implementar:
-
Método doPreAction: Este método void se invoca al inicio de cada acción de
DefaultJSONDataService. Tiene 3 parámetros:- parameters: el Map con los parámetros de la llamada a
DataSource. - data:
JSONArraycon los registros que se van a insertar, actualizar o eliminar. Modifique este objeto en caso de que sea necesario modificar los datos antes de ejecutar la acción. Las operaciones de obtención (fetch) reciben un array vacío. - action: valor del enum
DataSourceActioncon la Acción de la llamada a DataSource. Los valores posibles sonFETCH,ADD,UPDATEyREMOVE.
- parameters: el Map con los parámetros de la llamada a
-
Método doPostAction: Este método void se invoca al final de cada acción de
DefaultJSONDataService. Tiene 4 parámetros:- parameters: el Map con los parámetros de la llamada a DataSource.
- content:
JSONObjectcon el Contenido actual que se devuelve al cliente. Modifique este objeto en caso de que sea necesario modificar los datos antes de que se devuelvan. - action: valor del enum
DataSourceActioncon la Acción de la llamada a DataSource. Los valores posibles sonFETCH,ADD,UPDATEyREMOVE. - originalObject: String
JSONObjectdisponible solo enADDyUPDATEcon los valores originales de los datos.
Ejemplo
Este ejemplo registra una línea cada vez que se carga una ventana. Puede encontrar el código descrito a continuación en el módulo org.openbravo.platform.features.
public class JsonDataServiceExtraActionsExample implements JsonDataServiceExtraActions {
private static final Logger log = LoggerFactory
.getLogger(JsonDataServiceExtraActionsExample.class);
@Override
public void doPreAction(Map<String, String> parameters, JSONArray newData, DataSourceAction action) {
log.debug("JsonDataServiceExtraActionsExample doPreAction implementation");
}
@Override
public void doPostAction(Map<String, String> parameters, JSONObject content,
DataSourceAction action, String originalObject) {
}
}
Este trabajo es una obra derivada de Cómo implementar el hook JsonDataServiceExtraActions de Openbravo Wiki, utilizada bajo CC BY-SA 2.5 ES. Esta obra está licenciada bajo CC BY-SA 2.5 por Etendo.