Commit 2e002fe23947f9b063c255184c8cd17c9ea71760
1 parent
c2c07667
Exists in
master
Serviço para cancelar exclusão de template.
Showing
3 changed files
with
68 additions
and
5 deletions
Show diff stats
src/main/java/br/gov/ans/templates/dao/TemplatesDAO.java
@@ -79,6 +79,19 @@ public class TemplatesDAO { | @@ -79,6 +79,19 @@ public class TemplatesDAO { | ||
79 | return resultado.get(0); | 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 | public String AndOrWhere(StringBuilder sql){ | 95 | public String AndOrWhere(StringBuilder sql){ |
83 | if(sql.toString().contains("WHERE")){ | 96 | if(sql.toString().contains("WHERE")){ |
84 | return "AND"; | 97 | return "AND"; |
src/main/java/br/gov/ans/templates/modelo/Template.java
@@ -29,7 +29,8 @@ import org.hibernate.annotations.Type; | @@ -29,7 +29,8 @@ import org.hibernate.annotations.Type; | ||
29 | @XmlRootElement | 29 | @XmlRootElement |
30 | @Entity | 30 | @Entity |
31 | @Table(schema="ANS_GERAL",name="TB_TEMPLATE_DOCUMENTO") | 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 | public class Template implements Serializable{ | 34 | public class Template implements Serializable{ |
34 | 35 | ||
35 | private static final long serialVersionUID = 1L; | 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,7 +81,7 @@ public class TemplateResource { | ||
81 | * @apiSuccess (Sucesso - 200) {String} resultado.template.exemplo Exemplo de request para preenchimento do template. | 81 | * @apiSuccess (Sucesso - 200) {String} resultado.template.exemplo Exemplo de request para preenchimento do template. |
82 | * @apiSuccess (Sucesso - 200) {String} resultado.template.nome Identificador do template | 82 | * @apiSuccess (Sucesso - 200) {String} resultado.template.nome Identificador do template |
83 | * @apiSuccess (Sucesso - 200) {String} resultado.template.responsavel Analista responsável pelo template. | 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 | * @apiSuccessExample {json} Success-Response: | 86 | * @apiSuccessExample {json} Success-Response: |
87 | * HTTP/1.1 200 OK | 87 | * HTTP/1.1 200 OK |
@@ -139,7 +139,7 @@ public class TemplateResource { | @@ -139,7 +139,7 @@ public class TemplateResource { | ||
139 | * @apiSuccess (Sucesso - 200) {String} template.exemplo Exemplo de request para preenchimento do template. | 139 | * @apiSuccess (Sucesso - 200) {String} template.exemplo Exemplo de request para preenchimento do template. |
140 | * @apiSuccess (Sucesso - 200) {String} template.nome Identificador do template. | 140 | * @apiSuccess (Sucesso - 200) {String} template.nome Identificador do template. |
141 | * @apiSuccess (Sucesso - 200) {String} template.responsavel Analista responsável pelo template. | 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 | * @apiSuccessExample {json} Success-Response: | 144 | * @apiSuccessExample {json} Success-Response: |
145 | * HTTP/1.1 200 OK | 145 | * HTTP/1.1 200 OK |
@@ -222,7 +222,7 @@ public class TemplateResource { | @@ -222,7 +222,7 @@ public class TemplateResource { | ||
222 | * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template. | 222 | * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template. |
223 | * @apiParam (Request Body) {String} nome Identificador do template. | 223 | * @apiParam (Request Body) {String} nome Identificador do template. |
224 | * @apiParam (Request Body) {String} responsavel Analista responsável pelo template. | 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 | * @apiExample Exemplo de requisição: | 227 | * @apiExample Exemplo de requisição: |
228 | * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro | 228 | * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro |
@@ -286,7 +286,7 @@ public class TemplateResource { | @@ -286,7 +286,7 @@ public class TemplateResource { | ||
286 | * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template. | 286 | * @apiParam (Request Body) {String} exemplo Exemplo de request para preenchimento do template. |
287 | * @apiParam (Request Body) {String} nome Identificador do template. | 287 | * @apiParam (Request Body) {String} nome Identificador do template. |
288 | * @apiParam (Request Body) {String} responsavel Analista responsável pelo template. | 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 | * @apiExample Exemplo de requisição: | 291 | * @apiExample Exemplo de requisição: |
292 | * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro | 292 | * endpoint: [PUT] http://<host>/templates-broker/service/templates/confirmacao-cadastro |
@@ -610,6 +610,55 @@ public class TemplateResource { | @@ -610,6 +610,55 @@ public class TemplateResource { | ||
610 | return Response.ok().entity(entity).build(); | 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 | public void registrarHistoricoVersao(Template template){ | 662 | public void registrarHistoricoVersao(Template template){ |
614 | Versao versao = new Versao(template); | 663 | Versao versao = new Versao(template); |
615 | 664 |