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 | 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 | ... | ... |