Commit 2e002fe23947f9b063c255184c8cd17c9ea71760

Authored by andre guimaraes
1 parent c2c07667
Exists in master

Serviço para cancelar exclusão de template.

src/main/java/br/gov/ans/templates/dao/TemplatesDAO.java
... ... @@ -79,6 +79,19 @@ public class TemplatesDAO {
79 79 return resultado.get(0);
80 80 }
81 81  
  82 + public Template getTemplateExcluido(String nome){
  83 + HashMap<String, Object> params = new HashMap<String, Object>();
  84 + params.put("nome", nome);
  85 +
  86 + List<Template> resultado = dao.executeNamedQuery("Template.recuperarTemplateExcluidoPeloNome", params);
  87 +
  88 + if(resultado.size() < 1){
  89 + return null;
  90 + }
  91 +
  92 + return resultado.get(0);
  93 + }
  94 +
82 95 public String AndOrWhere(StringBuilder sql){
83 96 if(sql.toString().contains("WHERE")){
84 97 return "AND";
... ...
src/main/java/br/gov/ans/templates/modelo/Template.java
... ... @@ -29,7 +29,8 @@ import org.hibernate.annotations.Type;
29 29 @XmlRootElement
30 30 @Entity
31 31 @Table(schema="ANS_GERAL",name="TB_TEMPLATE_DOCUMENTO")
32   -@NamedQueries({@NamedQuery(name = "Template.recuperarPeloNome", query = "SELECT t FROM Template t WHERE upper(t.nome) = upper(:nome) AND t.dataExclusao is null")})
  32 +@NamedQueries({@NamedQuery(name = "Template.recuperarPeloNome", query = "SELECT t FROM Template t WHERE upper(t.nome) = upper(:nome) AND t.dataExclusao is null"),
  33 + @NamedQuery(name = "Template.recuperarTemplateExcluidoPeloNome", query = "SELECT t FROM Template t WHERE upper(t.nome) = upper(:nome) AND t.dataExclusao is not null")})
33 34 public class Template implements Serializable{
34 35  
35 36 private static final long serialVersionUID = 1L;
... ...
src/main/java/br/gov/ans/templates/rest/TemplateResource.java
... ... @@ -81,7 +81,7 @@ public class TemplateResource {
81 81 * @apiSuccess (Sucesso - 200) {String} resultado.template.exemplo Exemplo de request para preenchimento do template.
82 82 * @apiSuccess (Sucesso - 200) {String} resultado.template.nome Identificador do template
83 83 * @apiSuccess (Sucesso - 200) {String} resultado.template.responsavel Analista responsável pelo template.
84   - * @apiSuccess (Sucesso - 200) {Boolean} resultado.template.restrito Flag identificando se a atualização deste template restrita.
  84 + * @apiSuccess (Sucesso - 200) {Boolean} resultado.template.restrito Flag identificando se a atualização deste template é restrita.
85 85 *
86 86 * @apiSuccessExample {json} Success-Response:
87 87 * HTTP/1.1 200 OK
... ... @@ -139,7 +139,7 @@ public class TemplateResource {
139 139 * @apiSuccess (Sucesso - 200) {String} template.exemplo Exemplo de request para preenchimento do template.
140 140 * @apiSuccess (Sucesso - 200) {String} template.nome Identificador do template.
141 141 * @apiSuccess (Sucesso - 200) {String} template.responsavel Analista responsável pelo template.
142   - * @apiSuccess (Sucesso - 200) {Boolean} template.restrito Flag identificando se a atualização deste template restrita.
  142 + * @apiSuccess (Sucesso - 200) {Boolean} template.restrito Flag identificando se a atualização deste template é restrita.
143 143 *
144 144 * @apiSuccessExample {json} Success-Response:
145 145 * HTTP/1.1 200 OK
... ... @@ -222,7 +222,7 @@ public class TemplateResource {
222 222 * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template.
223 223 * @apiParam (Request Body) {String} nome Identificador do template.
224 224 * @apiParam (Request Body) {String} responsavel Analista responsável pelo template.
225   - * @apiParam (Request Body) {String} restrito Flag identificando se a atualização deste template restrita.
  225 + * @apiParam (Request Body) {String} restrito Flag identificando se a atualização deste template é restrita.
226 226 *
227 227 * @apiExample Exemplo de requisição:
228 228 * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro
... ... @@ -286,7 +286,7 @@ public class TemplateResource {
286 286 * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template.
287 287 * @apiParam (Request Body) {String} nome Identificador do template.
288 288 * @apiParam (Request Body) {String} responsavel Analista responsável pelo template.
289   - * @apiParam (Request Body) {String} restrito Flag identificando se a atualização deste template restrita.
  289 + * @apiParam (Request Body) {String} restrito Flag identificando se a atualização deste template é restrita.
290 290 *
291 291 * @apiExample Exemplo de requisição:
292 292 * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro
... ... @@ -610,6 +610,55 @@ public class TemplateResource {
610 610 return Response.ok().entity(entity).build();
611 611 }
612 612  
  613 +
  614 + /**
  615 + * @api {delete} /templates/excluidos/:template Recuperar template
  616 + * @apiName undeleteTemplate
  617 + * @apiGroup Template
  618 + * @apiVersion 1.0.0
  619 + * @apiPermission RO_ADMIN_TEMPLATE
  620 + *
  621 + * @apiDescription Recupera um template excluído.
  622 + *
  623 + * @apiParam (Path Parameters) {String} template Identificador do template
  624 + *
  625 + * @apiExample Exemplo de requisição:
  626 + * curl -X DELETE http://<host>/templates-broker/service/templates/excluidos/admp-template-novo-usuario
  627 + *
  628 + * @apiSuccessExample {json} Success-Response:
  629 + * HTTP/1.1 200 OK
  630 + *
  631 + * @apiErrorExample {json} Error-Response:
  632 + * HTTP/1.1 500 Internal Server Error
  633 + * {
  634 + * "error":"Mensagem de erro."
  635 + * "code":"código do erro"
  636 + * }
  637 + */
  638 + @DELETE
  639 + @Path("excluidos/{template}")
  640 + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  641 + public Response undeleteTemplate(@PathParam("template") String nomeTemplate) throws ResourceNotFoundException{
  642 + Template template = getTemplateExcluido(nomeTemplate);
  643 +
  644 + template.setDataExclusao(null);
  645 +
  646 + daoTemplate.merge(template);
  647 +
  648 + return Response.ok().build();
  649 + }
  650 +
  651 +
  652 + public Template getTemplateExcluido(String nomeTemplate) throws ResourceNotFoundException{
  653 + Template template = daoTemplate.getTemplateExcluido(nomeTemplate);
  654 +
  655 + if(template == null){
  656 + throw new ResourceNotFoundException(messages.getMessage("erro.template.nao.encontrado", nomeTemplate));
  657 + }
  658 +
  659 + return template;
  660 + }
  661 +
613 662 public void registrarHistoricoVersao(Template template){
614 663 Versao versao = new Versao(template);
615 664  
... ...