Consulta de datos enviados
El siguiente paso es consultar los datos enviados y mostrar los resultados en forma de tabla. Para ello utilizamos el siguiente software:
QueryBuilder : componente de interfaz de usuario para crear consultas
Tablas de datos- Para mostrar los resultados de la consulta en forma de tabla.
La siguiente interfaz de usuario se creó para permitir la consulta de los datos enviados. Solo los elementos marcados como necesarios en el esquema JSON están disponibles para realizar consultas. En la captura de pantalla siguiente, estamos consultando todos los envíos en los que el prefijo de entrega es SMS.
La IU de ejemplo para consultar los datos enviados no utiliza todas las funciones avanzadas disponibles en QueryBuilder. Se le anima a probarlos por su cuenta.
Al seleccionar un formulario para realizar la consulta, se realiza una llamada de GET a /bin/getdatakeysfromschema. Esta llamada de GET devuelve los campos obligatorios asociados al esquema de los formularios. A continuación, los campos obligatorios se rellenan en la lista desplegable de QueryBuilder para que pueda generar la consulta.
El siguiente fragmento de código realiza una llamada al método getRequiredColumnsFromSchema del servicio JSONSchemaOperations. Pasamos las propiedades y los elementos requeridos del esquema a esta llamada al método. La matriz que devuelve esta llamada a la función se utiliza para rellenar la lista desplegable del generador de consultas
public JSONArray getData(String formName) throws SQLException, IOException {
org.json.JSONArray arrayOfDataKeys = new org.json.JSONArray();
JSONObject jsonSchema = jsonSchemaOperations.getJSONSchemaFromDataBase(formName);
Map<String, String> refKeys = new HashMap<String, String>();
try {
JSONObject properties = jsonSchema.getJSONObject("properties");
JSONArray requiredFields = jsonSchema.has("required") ? jsonSchema.getJSONArray("required") : null;
jsonSchemaOperations.getRequiredColumnsFromSchema(properties, arrayOfDataKeys, "", jsonSchema, refKeys,
requiredFields);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arrayOfDataKeys;
}
Cuando se hace clic en el botón GetResult, se realiza una llamada Get a "/bin/querydata". Pasamos la consulta creada por la interfaz de usuario de QueryBuilder al servlet a través del parámetro query. A continuación, el servlet fusiona esta consulta en una consulta SQL que se puede utilizar para consultar la base de datos. Por ejemplo, si está buscando para recuperar todos los productos llamados "Mouse", la cadena de consulta del Generador de consultas es $.productname = 'Mouse'
. Esta consulta se convertirá en lo siguiente
SELECT * de aemformswithjson . formsubmissions donde JSON_EXTRACT( formsubmissions .formdata,"$.productName ")= 'Mouse'
A continuación, se devuelve el resultado de esta consulta para rellenar la tabla en la interfaz de usuario.
Para ejecutar este ejemplo en el sistema local, realice los siguientes pasos
- Asegúrese de haber seguido todos los pasos mencionados aquí
- AEM Importe el Dashboard v2.zip mediante el Administrador de paquetes de. Este paquete contiene todos los paquetes, las opciones de configuración, el envío personalizado y la página de muestra necesarios para consultar los datos.
- Crear un formulario adaptable mediante el esquema json de ejemplo
- Configure el formulario adaptable para enviar a la acción de envío personalizada "customsubmithelpx"
- Rellene el formulario y envíelo
- Dirija el explorador a dashboard.html
- Seleccione el formulario y realice una consulta simple