Commit b759774e03d10d3f5a172629642ef0ad0e67563f
1 parent
d8ea19a6
Exists in
master
Novo reource para restauração de template e pom.xml com deploy automatizado pelo Maven
Showing
8 changed files
with
251 additions
and
29 deletions
Show diff stats
.tern-project
| 1 | -{"ide":{},"libs":["ecma5","browser"],"plugins":{"guess-types":{},"angular":{}}} | ||
| 2 | \ No newline at end of file | 1 | \ No newline at end of file |
| 2 | +{ | ||
| 3 | + "libs": [ | ||
| 4 | + "ecma5", | ||
| 5 | + "browser" | ||
| 6 | + ], | ||
| 7 | + "plugins": { | ||
| 8 | + "guess-types": { | ||
| 9 | + | ||
| 10 | + }, | ||
| 11 | + "angular": { | ||
| 12 | + | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} | ||
| 3 | \ No newline at end of file | 16 | \ No newline at end of file |
pom.xml
| @@ -3,24 +3,66 @@ | @@ -3,24 +3,66 @@ | ||
| 3 | <modelVersion>4.0.0</modelVersion> | 3 | <modelVersion>4.0.0</modelVersion> |
| 4 | <groupId>br.gov.ans</groupId> | 4 | <groupId>br.gov.ans</groupId> |
| 5 | <artifactId>templates-broker</artifactId> | 5 | <artifactId>templates-broker</artifactId> |
| 6 | - <version>1.0</version> | 6 | + <version>1.2</version> |
| 7 | <packaging>war</packaging> | 7 | <packaging>war</packaging> |
| 8 | <name>templates-broker</name> | 8 | <name>templates-broker</name> |
| 9 | <description>Sistema de gerenciamento de templates.</description> | 9 | <description>Sistema de gerenciamento de templates.</description> |
| 10 | 10 | ||
| 11 | - <!-- CONFIGURAR VERSÃO DO JAVA PARA 1.8 --> | ||
| 12 | <build> | 11 | <build> |
| 13 | - <plugins> | ||
| 14 | - <plugin> | ||
| 15 | - <groupId>org.apache.maven.plugins</groupId> | ||
| 16 | - <artifactId>maven-compiler-plugin</artifactId> | ||
| 17 | - <version>3.1</version> | ||
| 18 | - <configuration> | ||
| 19 | - <source>1.8</source> | ||
| 20 | - <target>1.8</target> | ||
| 21 | - </configuration> | ||
| 22 | - </plugin> | ||
| 23 | - </plugins> | 12 | + <plugins> |
| 13 | + <plugin> | ||
| 14 | + <groupId>org.wildfly.plugins</groupId> | ||
| 15 | + <artifactId>wildfly-maven-plugin</artifactId> | ||
| 16 | + <version>1.0.2.Final</version> | ||
| 17 | + <configuration> | ||
| 18 | + <timeout>60000</timeout> | ||
| 19 | + <username>${username}</username> | ||
| 20 | + <password>${password}</password> | ||
| 21 | + <hostname>${hostname}</hostname> | ||
| 22 | + <port>${port}</port> | ||
| 23 | + </configuration> | ||
| 24 | + | ||
| 25 | + <executions> | ||
| 26 | + <!-- Remover war implantado --> | ||
| 27 | + <execution> | ||
| 28 | + <id>remover-pacote-impantado</id> | ||
| 29 | + <phase>install</phase> | ||
| 30 | + <goals> | ||
| 31 | + <goal>undeploy</goal> | ||
| 32 | + </goals> | ||
| 33 | + <configuration> | ||
| 34 | + <domain> | ||
| 35 | + <serverGroups> | ||
| 36 | + <server-group>${domain.group}</server-group> | ||
| 37 | + </serverGroups> | ||
| 38 | + </domain> | ||
| 39 | + <ignoreMissingDeployment>true</ignoreMissingDeployment> | ||
| 40 | + <match-pattern>${project.name}.*</match-pattern> | ||
| 41 | + <matchPatternStrategy>fail</matchPatternStrategy> | ||
| 42 | + </configuration> | ||
| 43 | + </execution> | ||
| 44 | + | ||
| 45 | + <!-- Implantar war --> | ||
| 46 | + <execution> | ||
| 47 | + <id>implantar-novo-pacote</id> | ||
| 48 | + <phase>install</phase> | ||
| 49 | + <goals> | ||
| 50 | + <goal>deploy</goal> | ||
| 51 | + </goals> | ||
| 52 | + <configuration> | ||
| 53 | + <runtimeName>${project.name}</runtimeName> | ||
| 54 | + <deployEnabled>true</deployEnabled> | ||
| 55 | + <force>true</force> | ||
| 56 | + <domain> | ||
| 57 | + <server-groups> | ||
| 58 | + <server-group>${domain.group}</server-group> | ||
| 59 | + </server-groups> | ||
| 60 | + </domain> | ||
| 61 | + </configuration> | ||
| 62 | + </execution> | ||
| 63 | + </executions> | ||
| 64 | + </plugin> | ||
| 65 | + </plugins> | ||
| 24 | </build> | 66 | </build> |
| 25 | 67 | ||
| 26 | <dependencies> | 68 | <dependencies> |
src/main/java/br/gov/ans/templates/dao/TemplatesDAO.java
| @@ -48,6 +48,29 @@ public class TemplatesDAO { | @@ -48,6 +48,29 @@ public class TemplatesDAO { | ||
| 48 | return query.getResultList(); | 48 | return query.getResultList(); |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | + @SuppressWarnings("unchecked") | ||
| 52 | + public List<Template> getTemplatesExcluidos(String filtro, Integer pagina, Integer qtdRegistros){ | ||
| 53 | + HashMap<String, Object> parametros = new HashMap<String, Object>(); | ||
| 54 | + StringBuilder sql = new StringBuilder("SELECT t FROM Template t "); | ||
| 55 | + | ||
| 56 | + if(StringUtils.isNotBlank(filtro)){ | ||
| 57 | + sql.append("WHERE upper(t.nome) LIKE upper(:filtro) "); | ||
| 58 | + parametros.put("filtro", "%"+filtro+"%"); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + sql.append(AndOrWhere(sql) + " t.dataExclusao is not null "); | ||
| 62 | + | ||
| 63 | + sql.append("order by nome asc "); | ||
| 64 | + | ||
| 65 | + Query query = em.createQuery(sql.toString()); | ||
| 66 | + | ||
| 67 | + setParametrosQuery(query, parametros); | ||
| 68 | + | ||
| 69 | + setPaginacaoQuery(query, pagina, qtdRegistros); | ||
| 70 | + | ||
| 71 | + return query.getResultList(); | ||
| 72 | + } | ||
| 73 | + | ||
| 51 | public Long countTemplates(String filtro){ | 74 | public Long countTemplates(String filtro){ |
| 52 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 75 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
| 53 | StringBuilder sql = new StringBuilder("SELECT count(t) FROM Template t "); | 76 | StringBuilder sql = new StringBuilder("SELECT count(t) FROM Template t "); |
| @@ -66,6 +89,24 @@ public class TemplatesDAO { | @@ -66,6 +89,24 @@ public class TemplatesDAO { | ||
| 66 | return (Long) query.getSingleResult(); | 89 | return (Long) query.getSingleResult(); |
| 67 | } | 90 | } |
| 68 | 91 | ||
| 92 | + public Long countTemplatesExcluidos(String filtro){ | ||
| 93 | + HashMap<String, Object> parametros = new HashMap<String, Object>(); | ||
| 94 | + StringBuilder sql = new StringBuilder("SELECT count(t) FROM Template t "); | ||
| 95 | + | ||
| 96 | + if(StringUtils.isNotBlank(filtro)){ | ||
| 97 | + sql.append("WHERE upper(t.nome) LIKE upper(:filtro) "); | ||
| 98 | + parametros.put("filtro", "%"+filtro+"%"); | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + sql.append(AndOrWhere(sql) + " t.dataExclusao is not null "); | ||
| 102 | + | ||
| 103 | + Query query = em.createQuery(sql.toString()); | ||
| 104 | + | ||
| 105 | + setParametrosQuery(query, parametros); | ||
| 106 | + | ||
| 107 | + return (Long) query.getSingleResult(); | ||
| 108 | + } | ||
| 109 | + | ||
| 69 | public Template getTemplate(String nome){ | 110 | public Template getTemplate(String nome){ |
| 70 | HashMap<String, Object> params = new HashMap<String, Object>(); | 111 | HashMap<String, Object> params = new HashMap<String, Object>(); |
| 71 | params.put("nome", nome); | 112 | params.put("nome", nome); |
| @@ -79,6 +120,19 @@ public class TemplatesDAO { | @@ -79,6 +120,19 @@ public class TemplatesDAO { | ||
| 79 | return resultado.get(0); | 120 | return resultado.get(0); |
| 80 | } | 121 | } |
| 81 | 122 | ||
| 123 | + public Template getTemplateExcluido(String nome){ | ||
| 124 | + HashMap<String, Object> params = new HashMap<String, Object>(); | ||
| 125 | + params.put("nome", nome); | ||
| 126 | + | ||
| 127 | + List<Template> resultado = dao.executeNamedQuery("Template.recuperarTemplateExcluidoPeloNome", params); | ||
| 128 | + | ||
| 129 | + if(resultado.size() < 1){ | ||
| 130 | + return null; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + return resultado.get(0); | ||
| 134 | + } | ||
| 135 | + | ||
| 82 | public String AndOrWhere(StringBuilder sql){ | 136 | public String AndOrWhere(StringBuilder sql){ |
| 83 | if(sql.toString().contains("WHERE")){ | 137 | if(sql.toString().contains("WHERE")){ |
| 84 | return "AND"; | 138 | 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,10 +222,10 @@ public class TemplateResource { | @@ -222,10 +222,10 @@ 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: [POST] http://<host>/templates-broker/service/templates/confirmacao-cadastro |
| 229 | * | 229 | * |
| 230 | * body: | 230 | * body: |
| 231 | * { | 231 | * { |
| @@ -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,118 @@ public class TemplateResource { | @@ -610,6 +610,118 @@ 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 | + * @api {get} /templates Listar templates excluídos | ||
| 653 | + * @apiName listTemplatesExcluidos | ||
| 654 | + * @apiGroup Template | ||
| 655 | + * @apiVersion 1.0.0 | ||
| 656 | + * @apiPermission RO_ADMIN_TEMPLATE, RO_USUARIO_TEMPLATE | ||
| 657 | + * | ||
| 658 | + * @apiDescription Consulta os templates que foram excluídos. | ||
| 659 | + * | ||
| 660 | + * @apiParam (Query Parameters) {String} [filtro] Valor utilizado para filtrar os templates. | ||
| 661 | + * @apiParam (Query Parameters) {String} [itens = 20] Quantidade de templates que serão exibidos | ||
| 662 | + * @apiParam (Query Parameters) {String} [pag = 1] Número da página | ||
| 663 | + * | ||
| 664 | + * @apiExample Exemplo de requisição: | ||
| 665 | + * curl -i http://<host>/templates-broker/service/templates | ||
| 666 | + * | ||
| 667 | + * @apiSuccess (Sucesso - 200) {List} resultado Lista com os templates encontrados. | ||
| 668 | + * @apiSuccess (Sucesso - 200) {Template} resultado.template Objeto representando o template. | ||
| 669 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.corpo Corpo do template, conteúdo que as aplicações usarão para preencher e exibir os dados. | ||
| 670 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.dataCadastro Data de cadastro do template. | ||
| 671 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.dataCadastro Data de exclusao do template. | ||
| 672 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.descricao Descrição do template. | ||
| 673 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.exemplo Exemplo de request para preenchimento do template. | ||
| 674 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.nome Identificador do template | ||
| 675 | + * @apiSuccess (Sucesso - 200) {String} resultado.template.responsavel Analista responsável pelo template. | ||
| 676 | + * @apiSuccess (Sucesso - 200) {Boolean} resultado.template.restrito Flag identificando se a atualização deste template é restrita. | ||
| 677 | + * | ||
| 678 | + * @apiSuccessExample {json} Success-Response: | ||
| 679 | + * HTTP/1.1 200 OK | ||
| 680 | + * { | ||
| 681 | + * "corpo": "Prezado {{fulano}}, seu cadastro foi realizado com sucesso.", | ||
| 682 | + * "dataCadastro": "2017-03-14T16:57:47.405-03:00", | ||
| 683 | + * "descricao": "Template de confirmação de cadastro.", | ||
| 684 | + * "exemplo": "{"fulano":"André Guimarães"}", | ||
| 685 | + * "nome": "confirmacao-cadastro", | ||
| 686 | + * "responsavel": "andre.guimaraes", | ||
| 687 | + * "restrito": false, | ||
| 688 | + * "dataExclusao":"2017-08-14T16:57:47.405-03:00" | ||
| 689 | + * } | ||
| 690 | + * | ||
| 691 | + * @apiErrorExample {json} Error-Response: | ||
| 692 | + * HTTP/1.1 500 Internal Server Error | ||
| 693 | + * { | ||
| 694 | + * "error":"Mensagem de erro." | ||
| 695 | + * "code":"código do erro" | ||
| 696 | + * } | ||
| 697 | + */ | ||
| 698 | + @GET | ||
| 699 | + @Path("excluidos") | ||
| 700 | + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) | ||
| 701 | + public Response listTemplatesExcluidos(@QueryParam("filtro") String filtro, @QueryParam("pag") String pagina, @QueryParam("itens") String tamanhoPagina) throws BusinessException, ResourceNotFoundException{ | ||
| 702 | + List<Template> templates = daoTemplate.getTemplatesExcluidos(filtro, pagina == null? null:parseInt(pagina), tamanhoPagina == null? null : parseInt(tamanhoPagina)); | ||
| 703 | + | ||
| 704 | + if(templates.isEmpty()){ | ||
| 705 | + throw new ResourceNotFoundException(messages.getMessage("templates.nao.encontrados.filtro",filtro)); | ||
| 706 | + } | ||
| 707 | + | ||
| 708 | + GenericEntity<List<Template>> entity = new GenericEntity<List<Template>>(templates){}; | ||
| 709 | + | ||
| 710 | + Long totalRegistros = daoTemplate.countTemplatesExcluidos(filtro); | ||
| 711 | + | ||
| 712 | + return Response.ok().entity(entity).header("total_registros", totalRegistros).build(); | ||
| 713 | + } | ||
| 714 | + | ||
| 715 | + public Template getTemplateExcluido(String nomeTemplate) throws ResourceNotFoundException{ | ||
| 716 | + Template template = daoTemplate.getTemplateExcluido(nomeTemplate); | ||
| 717 | + | ||
| 718 | + if(template == null){ | ||
| 719 | + throw new ResourceNotFoundException(messages.getMessage("erro.template.nao.encontrado", nomeTemplate)); | ||
| 720 | + } | ||
| 721 | + | ||
| 722 | + return template; | ||
| 723 | + } | ||
| 724 | + | ||
| 613 | public void registrarHistoricoVersao(Template template){ | 725 | public void registrarHistoricoVersao(Template template){ |
| 614 | Versao versao = new Versao(template); | 726 | Versao versao = new Versao(template); |
| 615 | 727 |
src/main/java/br/gov/ans/templates/util/TemplatesUtils.java
| @@ -22,7 +22,7 @@ public class TemplatesUtils { | @@ -22,7 +22,7 @@ public class TemplatesUtils { | ||
| 22 | try{ | 22 | try{ |
| 23 | return Integer.parseInt(valor); | 23 | return Integer.parseInt(valor); |
| 24 | }catch(Exception e){ | 24 | }catch(Exception e){ |
| 25 | - throw new BusinessException("O valor '"+valor+"' não pode ser convertido para int."); | 25 | + throw new BusinessException("O valor '"+valor+"' não pode ser convertido para int."); |
| 26 | } | 26 | } |
| 27 | } | 27 | } |
| 28 | } | 28 | } |
src/main/webapp/api-docs/api_data.js
| @@ -434,7 +434,7 @@ define({ "api": [ | @@ -434,7 +434,7 @@ define({ "api": [ | ||
| 434 | "type": "String", | 434 | "type": "String", |
| 435 | "optional": false, | 435 | "optional": false, |
| 436 | "field": "restrito", | 436 | "field": "restrito", |
| 437 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 437 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 438 | } | 438 | } |
| 439 | ] | 439 | ] |
| 440 | } | 440 | } |
| @@ -604,7 +604,7 @@ define({ "api": [ | @@ -604,7 +604,7 @@ define({ "api": [ | ||
| 604 | "type": "String", | 604 | "type": "String", |
| 605 | "optional": false, | 605 | "optional": false, |
| 606 | "field": "restrito", | 606 | "field": "restrito", |
| 607 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 607 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 608 | } | 608 | } |
| 609 | ] | 609 | ] |
| 610 | } | 610 | } |
| @@ -803,7 +803,7 @@ define({ "api": [ | @@ -803,7 +803,7 @@ define({ "api": [ | ||
| 803 | "type": "Boolean", | 803 | "type": "Boolean", |
| 804 | "optional": false, | 804 | "optional": false, |
| 805 | "field": "template.restrito", | 805 | "field": "template.restrito", |
| 806 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 806 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 807 | } | 807 | } |
| 808 | ] | 808 | ] |
| 809 | }, | 809 | }, |
| @@ -1047,7 +1047,7 @@ define({ "api": [ | @@ -1047,7 +1047,7 @@ define({ "api": [ | ||
| 1047 | "type": "Boolean", | 1047 | "type": "Boolean", |
| 1048 | "optional": false, | 1048 | "optional": false, |
| 1049 | "field": "resultado.template.restrito", | 1049 | "field": "resultado.template.restrito", |
| 1050 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 1050 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 1051 | } | 1051 | } |
| 1052 | ] | 1052 | ] |
| 1053 | }, | 1053 | }, |
src/main/webapp/api-docs/api_data.json
| @@ -434,7 +434,7 @@ | @@ -434,7 +434,7 @@ | ||
| 434 | "type": "String", | 434 | "type": "String", |
| 435 | "optional": false, | 435 | "optional": false, |
| 436 | "field": "restrito", | 436 | "field": "restrito", |
| 437 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 437 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 438 | } | 438 | } |
| 439 | ] | 439 | ] |
| 440 | } | 440 | } |
| @@ -604,7 +604,7 @@ | @@ -604,7 +604,7 @@ | ||
| 604 | "type": "String", | 604 | "type": "String", |
| 605 | "optional": false, | 605 | "optional": false, |
| 606 | "field": "restrito", | 606 | "field": "restrito", |
| 607 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 607 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 608 | } | 608 | } |
| 609 | ] | 609 | ] |
| 610 | } | 610 | } |
| @@ -803,7 +803,7 @@ | @@ -803,7 +803,7 @@ | ||
| 803 | "type": "Boolean", | 803 | "type": "Boolean", |
| 804 | "optional": false, | 804 | "optional": false, |
| 805 | "field": "template.restrito", | 805 | "field": "template.restrito", |
| 806 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 806 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 807 | } | 807 | } |
| 808 | ] | 808 | ] |
| 809 | }, | 809 | }, |
| @@ -1047,7 +1047,7 @@ | @@ -1047,7 +1047,7 @@ | ||
| 1047 | "type": "Boolean", | 1047 | "type": "Boolean", |
| 1048 | "optional": false, | 1048 | "optional": false, |
| 1049 | "field": "resultado.template.restrito", | 1049 | "field": "resultado.template.restrito", |
| 1050 | - "description": "<p>Flag identificando se a atualização deste template � restrita.</p>" | 1050 | + "description": "<p>Flag identificando se a atualização deste template é restrita.</p>" |
| 1051 | } | 1051 | } |
| 1052 | ] | 1052 | ] |
| 1053 | }, | 1053 | }, |