Ofrece una serie de métodos para facilitar la gestión de formularios de forma externa. La ruta a los servicios web de G·Forms es la siguiente:
$contexto_gforms$/seam/resources/rest/Questionnaire
QuestionnaireService questionnaireService = new QuestionnaireService("$contexto_gforms$/seam/resources/rest");
<questionnaire>
<definicion></definicion>
<descripcion></descripcion>
<formulario></formulario>
<publicado></publicado>
<version></version>
</questionnaire>
public class Questionnaire {
private String formulario;
private String descripcion;
private Boolean publicado;
private String version;
private String definicion;
/*
* Getters and Setters
*/
}
Obtiene la definición completa de un formulario a traves de los parámetros formulario y version (opcional) pasados en el objeto Questionnaire. Si versión es nulo o vacío se devuelve la ultima versión del formulario. Si se encuentra el formulario que cumpla con los filtros especificados el método retornará un objeto Questionnaire con sus atributos rellenos. En caso de no encontrarlo o de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Questionnaire questionnaireQuery = new Questionnaire();
questionnaireQuery.setFormulario("id_formulario");
questionnaireQuery.setVersion("version_formulario"); //Opcional
Questionnaire questionnaire = questionnaireService.getQuestionnaire(questionnaireQuery);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Questionnaire/query enviando el siguiente XML:
<questionnaire>
<formulario>id_formulario</formulario>
<version>version_formulario</version> <!-- Opcional -->
</questionnaire>
Crea un formulario nuevo vacío con los campos formulario (opcional) y descripcion (opcional) pasados en el objeto Questionnaire. Si no se pasan se definirán aleatoriamente. Devuelve un String con el id del formulario creado. En caso de que el código de formulario no sea válido, que ya exista en el sistema o de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Questionnaire questionnaire = new Questionnaire();
questionnaire.setFormulario("id_formulario"); //Opcional
questionnaire.setDescripcion("desc_formulario"); //Opcional
String form_id = questionnaireService.createQuestionnaire(questionnaire);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Questionnaire/create enviando el siguiente XML:
<questionnaire>
<formulario>id_formulario</formulario>
<descripcion>desc_formulario</descripcion>
</questionnaire>
Elimina el formulario especificado en el campo formulario, si el campo version esta relleno elimina sólo esa versión, en caso contrario eliminará todas las versiones. También se eliminan todas las respuestas que tenga el formulario asociadas. En caso de que el código de formulario venga vacío o no exista se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Questionnaire questionnaireDelete = new Questionnaire();
questionnaireDelete.setFormulario("id_formulario");
questionnaireDelete.setVersion("version_formulario"); //Opcional
questionnaireService.deleteQuestionnaire(questionnaireDelete);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Questionnaire/delete enviando el siguiente XML:
<questionnaire>
<formulario>id_formulario</formulario>
<version>version_formulario</version> <!-- Opcional -->
</questionnaire>
Crea un formulario nuevo copia del formulario original con los campos formulario (opcional) y version (opcional) pasados en el objeto Questionnaire contenido en el objeto QuestionnaireClone. Si no se indica versión se cogerá la última del formulario original. Se utilizarán los campos pasados en el objeto Questionnaire copia (opcional) contenido en el objeto QuestionnaireClone, formulario (opcional), descripcion (opcional) y version (opcional) para el nuevo formulario. Si no se pasan se añadirá a los valores de formulario original formulario y descripcion con la cadena "_copia" concatenada y el campo versión comenzará en '1'. En caso de que el formulario original esté vacío o no exista, o que el id del formulario de copia ya exista en el sistema se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Questionnaire questionnaireOriginal = new Questionnaire();
Questionnaire questionnaireCopia = new Questionnaire(); //Opcional
questionnaireOriginal.setFormulario("id_formulario_original");
questionnaireOriginal.setVersion("version_formulario_original"); //Opcional
questionnaireCopia.setFormulario("id_formulario_copia"); //Opcional
questionnaireCopia.setDescripcion("desc_formulario_copia"); //Opcional
QuestionnaireClone questionnaireClone = new QuestionnaireClone();
questionnaireClone.setOriginal(questionnaireOriginal);
questionnaireClone.setCopia(questionnaireCopia);
questionnaireService.cloneQuestionnaire(questionnaireClone);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Questionnaire/clone enviando el siguiente XML:
<questionnaireClone>
<original>
<formulario>id_formulario_original</formulario>
<version>version_formulario_original</version> <!-- Opcional -->
</original>
<copia>
<formulario>id_formulario_original</formulario> <!-- Opcional -->
<descripcion>desc_formulario_copia</descripcion> <!-- Opcional -->
</copia>
</questionnaireClone>