Commit d55001c6927c3c3650d2f566968cb0faba940f28

Authored by Cleverson Sacramento
2 parents 6e5cb42d 70d786e3
Exists in master

Merge branch 'revisao-referencia' of

https://github.com/rodrigorgs/framework into
rodrigorgs-revisao-referencia

Conflicts:
	documentation/reference/pt-BR/arquetipo.xml
	documentation/reference/pt-BR/paginacao.xml
	documentation/reference/pt-BR/parentsPom.xml
documentation/reference/pt-BR/arquetipo.xml
... ... @@ -6,7 +6,7 @@
6 6 <title>Arquétipos</title>
7 7  
8 8 <para>
9   - O projeto Demoiselle recomenda e usa a ferramenta <ulink url="http://maven.apache.org/">Apache-Maven</ulink> , para gerenciamento do ciclo de vida do desenvolvimento
  9 + O projeto Demoiselle recomenda e usa a ferramenta <ulink url="http://maven.apache.org/">Apache-Maven</ulink>, para gerenciamento do ciclo de vida do desenvolvimento
10 10 de projeto. Baseada nesta ferramenta, além do fornecimento dos POMs Parentes, também fornece as estruturas chamadas <ulink url="http://maven.apache.org/archetype/maven-archetype-plugin/">arquétipos</ulink>
11 11 para facilitar a criação de aplicações, garantido a estrutura recomendada pelo framework e o conceito de gerenciamento do próprio Maven.
12 12 Atualmente estão disponíveis os seguintes artefatos:
... ... @@ -15,7 +15,7 @@
15 15 <section>
16 16 <title>Mínimo</title>
17 17 <para>
18   - Fornece um conjunto mínimo de artefatos para criar uma aplicação Java, utiliza o Demoiselle-Minimal-Parent
  18 + Fornece um conjunto mínimo de artefatos para criar uma aplicação Java, utiliza o Demoiselle-Minimal-Parent,
19 19 sendo útil quando os outros arquétipos disponíveis não se enquadram nas características do projeto a ser criado.
20 20 </para>
21 21 </section>
... ... @@ -24,22 +24,22 @@
24 24 <title>JSF com JPA</title>
25 25 <para>
26 26 Útil para os projetos que precisam de uma arquitetura que utilize as tecnologias JSF e JPA,
27   - é baseado no Demoiselle-JSF-Parent,
28   - e que já traz uma estrutura padrão de pacotes e todas
  27 + é baseado no Demoiselle-JSF-Parent
  28 + e já traz uma estrutura padrão de pacotes e todas
29 29 as dependências necessárias para rodar a aplicação. Ao usar este
30 30 arquétipo, você terá uma pequena aplicação de
31 31 Bookmarks já pronta para rodar. Para isto, basta instalá-la em um
32 32 servidor da sua preferência! Para mais detalhes
33 33 sobre esta aplicação de exemplo e em como usar o arquétipo, acesse
34   - a sessão de documentação chamada <ulink url="http://demoiselle.sourceforge.net/docs/quickstart/">Quickstart</ulink>.
  34 + a sessão de documentação chamada <ulink url="http://demoiselle.sourceforge.net/docs/quickstart/">QuickStart</ulink>.
35 35 </para>
36 36 </section>
37 37  
38 38 <section>
39 39 <title>Vaadin com JPA</title>
40 40 <para>
41   - Uma das principais novidades com relação à esta nova versão do <emphasis>Demoiselle Framework</emphasis>
42   - é sua integração mais completa à outras tecnologias de apresentação. Na versão anterior
  41 + Uma das principais novidades com relação a esta nova versão do Framework Demoiselle
  42 + é sua integração mais completa com outras tecnologias de apresentação. Na versão anterior,
43 43 apesar de ser possível a utilização de outra soluções, não havia ainda facilitadores realmente integrados ao Demoiselle.
44 44 Seguindo este princípio, um dos arquétipos disponibilizados pelo Framework gera uma aplicação de exemplo, nos mesmo moldes
45 45 que é disponibilizado para a tecnologia JSF, mas com a tecnologia de apresentação chamada <ulink url="http://vaadin.com">VAADIN</ulink>.
... ...
documentation/reference/pt-BR/arquitetura.xml
... ... @@ -21,7 +21,7 @@
21 21 <para>
22 22 As Extensões, como o próprio nome sugere, estendem o Core com funcionalidades extras e bem específicas a um domínio ou
23 23 tecnologia. Neste contexto, caso sua aplicação necessite de persistência com JPA, o framework fornecerá facilidades
24   - para você, contudo, estas funcionalidades não estão no Core. Para este propósito existem as extensões como a
  24 + para você; contudo, estas funcionalidades não estão no Core. Para este propósito existem as extensões como a
25 25 <literal>demoiselle-jpa</literal>, por exemplo. Cabe destacar que as extensões não possuem vida própria,
26 26 pois estão diretamente ligadas ao núcleo do framework, inclusive o ciclo de vida das extensões está
27 27 totalmente acoplado ao do Core.
... ... @@ -43,7 +43,7 @@
43 43 interfaces ou, como alguns costumam dizer, <quote>depender de contratos</quote>.
44 44 As interfaces existem para isto: definem um contrato, enquanto as implementações deste contrato ficam à parte, de
45 45 preferência, distante do programador da aplicação. O mecanismo de injeção de dependência fortalece ainda mais esta
46   - idéia. Sua aplicação precisará apenas depender das interfaces que o Demoiselle provê. A implementação específica será
  46 + ideia. Sua aplicação precisará apenas depender das interfaces que o Demoiselle provê. A implementação específica será
47 47 injetada automaticamente pelo CDI.
48 48 </para>
49 49 <tip>
... ... @@ -68,12 +68,12 @@
68 68 <title>Arquitetura das aplicações</title>
69 69 <para>
70 70 É importante reforçar que o Demoiselle não obriga nenhum tipo de arquitetura para as aplicações, que podem ser
71   - constituídas com quantas camadas forem necessárias. Contudo, é prudente não exagerar! Para quem não sabe por onde
  71 + constituídas por quantas camadas forem necessárias. Contudo, é prudente não exagerar! Para quem não sabe por onde
72 72 começar, sugerimos uma arquitetura e padrões largamente utilizados pelo mercado, de forma a facilitar a manutenção e
73 73 para melhor modularização de seu projeto.
74 74 </para>
75 75 <para>
76   - Usualmente, as aplicações são constituídas com pelo menos três camadas, desta forma é comum separar as lógicas de
  76 + Usualmente, as aplicações são constituídas por pelo menos três camadas, desta forma é comum separar as lógicas de
77 77 apresentação, regras de negócio e persistência. O Demoiselle já fornece estereótipos que visam tornar esta
78 78 separação mais clara, respectivamente:
79 79 <literal>@ViewController</literal>, <literal>@BusinessController</literal> e <literal>@PersistenceController</literal>.
... ...
documentation/reference/pt-BR/bundle.xml
... ... @@ -6,7 +6,7 @@
6 6 <title>Resource Bundle</title>
7 7  
8 8 <para>
9   - Um dos requisitos para se construir uma aplicação nos dias de hoje, é o de que seja utilizada por pessoas
  9 + Um dos requisitos para se construir uma aplicação nos dias de hoje é o de que seja utilizada por pessoas
10 10 em vários lugares no mundo e em diferentes línguas. Portanto, é preciso que as aplicações sejam facilmente
11 11 internacionalizáveis. Para isso, existe um recurso no java chamado de <emphasis>Resource Bundle</emphasis>,
12 12 que nada mais é do que um esquema de arquivos <filename>properties</filename>, onde cada arquivo representa
... ... @@ -50,7 +50,7 @@ button.save=Salvar]]&gt;&lt;/programlisting&gt;
50 50 Na versão 2.X do <emphasis>Demoiselle Framework</emphasis>, existe uma fábrica de Resource Bundle que fica no
51 51 Core e permite seu uso através da injeção ou através de uma instanciação normal. O grande detalhe é que nessa
52 52 fábrica é injetado um objeto do tipo <literal>Locale</literal>, isso quer dizer que é necessário criar também
53   - uma fabrica de <literal>Locale</literal>. Como a definição de <literal>Locale</literal> varia de acordo com a
  53 + uma fábrica de <literal>Locale</literal>. Como a definição de <literal>Locale</literal> varia de acordo com a
54 54 camada de apresentação, essas fábricas foram criadas nas extensões de apresentação:
55 55 <literal>demoiselle-jsf</literal>, <literal>demoiselle-se</literal> e <literal>demoiselle-vaadin</literal>.
56 56 Na extensão <literal>demoiselle-se</literal> a definição do <literal>Locale</literal> é dada através do
... ...
documentation/reference/pt-BR/configuracao.xml
... ... @@ -8,7 +8,7 @@
8 8 <section>
9 9 <title>Configurações em uma aplicação</title>
10 10 <para>
11   - Em aplicações no modelo Java EE, as quais são executadas hospedadas em um servidor de aplicações ou contêiner Web,
  11 + Em aplicações no modelo Java EE, as quais são hospedadas em um servidor de aplicações ou contêiner Web,
12 12 existem diversos papéis além do desenvolvedor, tais como assembler e deployer. É comum nestas aplicações que informações
13 13 de configuração de ambiente, especialmente por questões de segurança, sejam de conhecimento restrito. Por exemplo,
14 14 o usuário e senha de um banco de dados ou o nome de uma fila de mensagens são informações que o desenvolvedor não deve
... ...
documentation/reference/pt-BR/controlador.xml
... ... @@ -21,10 +21,10 @@
21 21 <para>
22 22 Além de identificar as camadas, os controllers são pré-requisitos para utilização da funcionalidade de tratamento de exceções,
23 23 através do uso da anotação <literal>@ExceptionHandler</literal>. Isso quer dizer que para utilizar essa funcionalidade, a classe
24   - precisa usar um dos controllers citados acima ou a própria anotação <literal>@Controller</literal> ou ainda um controller criado
  24 + precisa usar um dos controllers citados acima ou a própria anotação <literal>@Controller</literal>, ou ainda um controller criado
25 25 exclusivamente para sua aplicação. Todos os controllers criados no framework são estereótipos e podem ser usados também para
26 26 definição de características como, por exemplo, o escopo. Isso quer dizer que se um controller tem um determinado escopo, todas
27   - as classes desse controller, também terão o mesmo escopo. Foi falado que é possível criar um controller para uso exclusivo em sua
  27 + as classes desse controller também terão o mesmo escopo. Foi falado que é possível criar um controller para uso exclusivo em sua
28 28 aplicação, mas como fazer isso? Veja na seção abaixo.
29 29 </para>
30 30 <!-- TODO: explicar o que é um "estereótipo" e qual o seu uso na aplicação -->
... ... @@ -43,7 +43,7 @@ public @interface SeuController {
43 43 }]]></programlisting>
44 44 <para>
45 45 Neste exemplo foi criado um controlador chamado <literal>SeuController</literal> que tem a característica de ter um escopo de
46   - View. Isto quer dizer que toda classe que seja desse tipo de controlador, também terá o escopo de View.
  46 + View. Isto quer dizer que toda classe que seja desse tipo de controlador também terá o escopo de View.
47 47 </para>
48 48 <!-- TODO: qual a vantagem em se criar um controlador customizado? incluir um exemplo possível e prático de utilização disso -->
49 49 </section>
... ...
documentation/reference/pt-BR/excecao.xml
... ... @@ -8,7 +8,7 @@
8 8 <para>
9 9 Esta funcionalidade foi feita para você que acha muito verboso encher o código de <literal>try/catch</literal>.
10 10 E o que dizer de repetir o tratamento de exceções em vários métodos da mesma classe na base do copiar/colar?
11   - Oferecemos à você uma alternativa para resolver estes problemas, mas você estará livre para usá-la: isoladamente,
  11 + Oferecemos a você uma alternativa para resolver estes problemas, mas você estará livre para usá-la: isoladamente,
12 12 misturando com a forma verbosa ou até mesmo não usá-la.
13 13 </para>
14 14  
... ... @@ -105,7 +105,7 @@ public class Simples {
105 105 <section>
106 106 <title>Exceção de Aplicação</title>
107 107 <para>
108   - Imagine que você precise informar que caso um determinado tipo de exceção seja lançado através do seu método, a transação atual sofrerá um
  108 + Imagine que você precise informar que, caso um determinado tipo de exceção seja lançado através do seu método, a transação atual sofrerá um
109 109 <emphasis>rollback</emphasis>. Ou, então, que haja necessidade de informar o grau de severidade da exceção, de forma que uma camada de apresentação
110 110 específica a trate de forma diferenciada. Estas duas opções são possíveis através do uso da anotação <literal>@ApplicationException</literal>.
111 111 Utilize-a em suas exceções e informe os atributos <literal>rollback</literal> e <literal>severity</literal> para alcançar os objetivos acima.
... ... @@ -124,13 +124,13 @@ public class MinhaException extends Exception {
124 124 <section>
125 125 <title>Tratamento Padrão</title>
126 126 <para>
127   - As exceções lançadas a partir da camada de negócio, ou de persistência, não causam a interrupção de sua aplicação. Muito menos, apresentam a tela
128   - padrão de erro do JSF ou de outra tecnologia de visão. Qualquer exceção lançada, e que chega até a camada de apresentação, recebe um tratamento
  127 + As exceções lançadas a partir da camada de negócio, ou de persistência, não causam a interrupção de sua aplicação, muito menos apresentam a tela
  128 + padrão de erro do JSF ou de outra tecnologia de visão. Qualquer exceção lançada que chega até a camada de apresentação recebe um tratamento
129 129 especial. Inicialmente, ela é encapsulada de forma que possa ser exibida de forma elegante para o usuário. No caso do JSF, é utilizado o mecanismo
130 130 de Messages próprio desta tecnologia.
131 131 </para>
132 132 <para>
133   - No caso do Vaadin, o tratamento é bem semelhante, contudo, a exceção é tratada de forma que possa ser exibida adotando os mecanismos próprios da
  133 + No caso do Vaadin, o tratamento é bem semelhante, contudo a exceção é tratada de forma que possa ser exibida adotando os mecanismos próprios da
134 134 tecnologia. No caso de exceções que não usam a anotação <literal>@ApplicationException</literal>, um <emphasis>rollback</emphasis> é realizado
135 135 de forma automática. Por último, sem o uso desta anotação, toda exceção é vista como tendo nível de gravidade igual a <literal>ERROR</literal>.
136 136 </para>
... ...
documentation/reference/pt-BR/inicializacao.xml
... ... @@ -37,7 +37,7 @@
37 37 As instruções contidas em um método anotado com <literal>@Startup</literal> serão executadas automaticamente quando a aplicação
38 38 Java for inicializada, seja ela hospedada em um contêiner Web ou executada através de um método <literal>main()</literal>.
39 39 Nenhum outro arquivo ou classe precisa ser definido. A anotação <literal>@Startup</literal> pode ser utilizada em conjunto com a anotação
40   - <literal>@Priority</literal>, que recebe como parametro um número inteiro que serve para definir a prioridade de execução do respectivo
  40 + <literal>@Priority</literal>, que recebe como parâmetro um número inteiro que serve para definir a prioridade de execução do respectivo
41 41 método, na existência de mais de um inicializador para a aplicação.
42 42 </para>
43 43 <para>
... ... @@ -74,7 +74,7 @@
74 74 <title>Um exemplo prático</title>
75 75 <para>
76 76 Eis um interessante caso de uso de inicialização e finalização: rodar um servidor de modo standalone em paralelo à
77   - execução da aplicação principal. Eis o código referente à essa implementação:
  77 + execução da aplicação principal. Eis o código referente a essa implementação:
78 78 </para>
79 79 <programlisting role="JAVA"><![CDATA[import br.gov.frameworkdemoiselle.lifecycle.Shutdown;
80 80 import br.gov.frameworkdemoiselle.lifecycle.Startup;
... ...
documentation/reference/pt-BR/mensagem.xml
... ... @@ -176,7 +176,7 @@ messageContext.add(message);]]&gt;&lt;/programlisting&gt;
176 176 <note>
177 177 <para>
178 178 O contexto de mensagens, representado pela interface <literal>MessageContext</literal>, é capaz de
179   - armazenar diversas mensagens em uma mesma requisição. Ele não é restrito à aplicações do tipo Web,
  179 + armazenar diversas mensagens em uma mesma requisição. Ele não é restrito a aplicações do tipo Web,
180 180 isto é, pode ser usado também para aplicações do tipo desktop (i.e., Swing).
181 181 </para>
182 182 </note>
... ...
documentation/reference/pt-BR/paginacao.xml
... ... @@ -46,7 +46,7 @@
46 46 <para>
47 47 O <emphasis>mecanismo de paginação</emphasis> do <emphasis>Demoiselle Framework</emphasis> permite que os parâmetros para a consulta
48 48 no banco sejam configurados de forma bastante prática. Por outro lado, a consulta paginada ao banco já é feita pela extensão
49   - <literal>demoiselle-jpa</literal>. Dessa forma, basta ajustar os parametros da paginação, e pedir as consultas normalmente.
  49 + <literal>demoiselle-jpa</literal>. Dessa forma, basta ajustar os parâmetros da paginação, e pedir as consultas normalmente.
50 50 O resultado da consulta é então passado para algum componente de iteração de dados com suporte ao mecanismo conhecido como <emphasis>Lazy
51 51 Load</emphasis> (ou <emphasis>Lazy Loading</emphasis>).
52 52 </para>
... ... @@ -72,7 +72,7 @@
72 72 </listitem>
73 73 </itemizedlist>
74 74 </para>
75   -
  75 +
76 76 <para>Códigos internos de suporte no Core:</para><programlisting role="JAVA"><![CDATA[public class Pagination {
77 77  
78 78 private int currentPage;
... ... @@ -149,7 +149,7 @@ public class PaginationConfig {
149 149 <section>
150 150 <title>Implementação na aplicação</title>
151 151 <para>
152   - Veremos nessa seção como implementar a paginação em uma aplicação Java. Para esse exemplo tomamos como base a aplicação de Bookmarks
  152 + Veremos nessa seção como implementar a paginação em uma aplicação Java. Para esse exmplo tomamos como base a aplicação de Bookmarks
153 153 fornecida pelo arquétipo <emphasis>JSF com JPA</emphasis> do <emphasis>Demoiselle Framework</emphasis> (para maiores detalhes
154 154 ver <link linkend="estrutura">Arquétipos</link>). Iremos utilizar o componente <literal>DataTable</literal> do <emphasis>PrimeFaces</emphasis>,
155 155 que oferece o mecanismo de <emphasis>Lazy Loading</emphasis> conhecido como <literal>LazyDataModel</literal>, muito útil para paginação
... ... @@ -157,15 +157,15 @@ public class PaginationConfig {
157 157 </para>
158 158 <para>
159 159 Primeiro é preciso configurar um objeto <literal>LazyDataModel</literal> no construtor do <emphasis>Managed Bean</emphasis>
160   - (<emphasis>BookmarkList</emphasis> nesse exemplo): instanciá-lo e sobrescrever o método abstrado <literal>load</literal>, que recebe
  160 + (<emphasis>BookmarkList</emphasis> nesse exemplo): instancia-lo e sobrescrever o método abstrado <literal>load</literal>, que recebe
161 161 vários argumentos. Esses argumentos são recuperados na página <literal>jsf</literal> que carrega a instância do objeto <literal>LazyDataModel</literal>.
162 162 </para>
163 163 <para>
164 164 Dentro do método <literal>load</literal> iremos pegar do contexto de paginação uma instância da implementação da interface <literal>Pagination</literal>
165 165 e ajustar alguns dos seus parâmetros para: indicar a partir de qual item a paginação deve iniciar, e o tamanho (quantidade de itens) de cada página.
166 166 Esses dados são usados no método <literal>findAll()</literal>, da classe <literal>JPACrud</literal> (extensão JPA), que utiliza o contexto de
167   - paginação para pegar os parametros e fazer a consulta no banco buscando apenas os itens que estão dentro da pagina que o parametro
168   - <literal>first</literal> indicar. O resultado é passado para a instância do <literal>LazyDataModel</literal>, que é responsável por exibir
  167 + paginação para pegar os parâmetros e fazer a consulta no banco buscando apenas os itens que estão dentro da página que o parâmetro
  168 + <literal>first</literal> indicar. O resultado é passado para a instancia do <literal>LazyDataModel</literal>, que é responsável por exibir
169 169 os dados de forma apropriada.
170 170 </para>
171 171 <para>
... ... @@ -246,7 +246,7 @@ pageLinks=&quot;#{messages[&#39;page.max.links&#39;]}&quot;&gt;]]&gt;&lt;/programlisting&gt;
246 246 <title>Um exemplo usando PrimeFaces</title>
247 247 <para>
248 248 Eis um interessante caso de uso de paginação: ????.
249   - A seguir o código referente à essa implementação:
  249 + A seguir o código referente a essa implementação:
250 250 // camada de persistência
251 251 </para>
252 252 <programlisting role="JAVA"><![CDATA[@PersistenceController
... ...
documentation/reference/pt-BR/parentsPom.xml
... ... @@ -7,8 +7,8 @@
7 7  
8 8 <para>
9 9 O Demoiselle faz uso da solução proposta pelo Apache Maven para diversas fases do desenvolvimento de software.
10   - O artefato principal do Maven é o POM.XML que é o arquivo XML que contém todas as informações necessárias para a ferramenta gerenciar o projeto,
11   - entre as quais está o gerenciamento de dependências(bibliotecas), build do projeto, etc.
  10 + O artefato principal do Maven é o POM.XML, que é o arquivo XML que contém todas as informações necessárias para a ferramenta gerenciar o projeto,
  11 + entre as quais está o gerenciamento de dependências (bibliotecas), build do projeto, etc.
12 12 Mas é muito comum que vários projetos, vinculados ou não, utilizem muitas configurações em comum.
13 13 Para o “reaproveitamento” dessas configurações, evitando a cópia de texto, o Maven provê dois tipos de estratégia:
14 14 </para>
... ... @@ -18,12 +18,12 @@
18 18 <para>
19 19 No Demoiselle 2 a estratégia adota foi também o da herança. E o termo usado no Demoiselle para identificar essa estratégia é que chamamos de Parent POM.
20 20 </para>
21   - <para>Seguindo esse conceito, foram criados alguns arquivos (pom.xml) e também disponibilizados no repositório Maven do Demoiselle , que facilitam a configuração dos projetos, e inclusive para o desenvolvimento do próprio Demoiselle.
  21 + <para>Seguindo esse conceito, foram criados alguns arquivos (pom.xml) e também disponibilizados no repositório Maven do Demoiselle, que facilitam a configuração dos projetos, e inclusive para o desenvolvimento do próprio Demoiselle.
22 22 Os arquivos gerados foram divididos em perfis, para que o desenvolvedor possa escolher qual usar de acordo com o tipo de aplicação que está desenvolvendo.
23   -Assim, a alteração no POM.XML da aplicação será a minima possível. Outra vantagem, é que as bibliotecas apontadas como dependências são testadas pela equipe do Demoiselle o que evita eventuais incompatibilidades.</para>
  23 +Assim, a alteração no POM.XML da aplicação será a minima possível. Outra vantagem é que as bibliotecas apontadas como dependências são testadas pela equipe do Demoiselle, o que evita eventuais incompatibilidades.</para>
24 24 <tip>
25 25 <para>
26   - Para excluir uma dependência vinda do Parent, mas não necessária utilize a tag Exclusions
  26 + Para excluir uma dependência desnecessária vinda do Parent, utilize a tag Exclusions.
27 27 </para>
28 28 </tip>
29 29  
... ...
documentation/reference/pt-BR/properties.xml
... ... @@ -46,7 +46,7 @@
46 46 <para>
47 47 <literal>frameworkdemoiselle.security.enabled</literal> - Configura a habilitação das funcionalidades do
48 48 <emphasis>Demoiselle</emphasis> relacionadas a segurança (como autenticação de usuário e verificação de
49   - permissão de acesso à recursos). Por padrão, essas funcionalidades ficam habilitadas.
  49 + permissão de acesso a recursos). Por padrão, essas funcionalidades ficam habilitadas.
50 50 </para>
51 51 <para>
52 52 Exemplo de configuração: <literal>frameworkdemoiselle.security.enabled = false</literal>, desabilita as
... ... @@ -138,7 +138,7 @@
138 138 <para>
139 139 <literal>frameworkdemoiselle.persistence.unit.name</literal> - Quando é definida mais de uma unidade de persitencia
140 140 no arquivo <literal>persistence.xml</literal>, muitas vezes é conveniente escolher uma unidade padrão, ao invés de
141   - definir as unidades individualmente em cada <emphasis>Entity Manager</emphasis>. Esse parametro é utilizado para
  141 + definir as unidades individualmente em cada <emphasis>Entity Manager</emphasis>. Esse parâmetro é utilizado para
142 142 indicar qual é a unidade de persistência que deve ser utilizada quando no <emphasis>Entity Manager</emphasis> não
143 143 houver essa definição.
144 144 </para>
... ...
documentation/reference/pt-BR/security.xml
... ... @@ -129,7 +129,7 @@ public class Credential {
129 129 </para>
130 130 <para>
131 131 Assim como na autenticação, o contexto de segurança possui métodos destinados a delegar as requisições de autorização para
132   - a implementação de segurança. No caso da anotação @RequiredPermission , o método hasPermission(String resource, String
  132 + a implementação de segurança. No caso da anotação @RequiredPermission, o método hasPermission(String resource, String
133 133 operation) executa esta tarefa. Para tanto, deve existir uma classe que implemente a interface Authorizer, cujo
134 134 método hasPermission(Object resource, String operation) verifica se o usuário logado possui permissão para executar
135 135 uma determinada operação em um recurso específico.
... ...
documentation/reference/pt-BR/templates.xml
... ... @@ -11,7 +11,7 @@
11 11 persistência. Tais classes podem ser encontradas no pacote
12 12 <literal>br.gov.frameworkdemoiselle.template</literal>
13 13 e auxiliam o desenvolvedor ao disponibilizar métodos comuns à maioria das
14   - aplicações. À seguir iremos exemplificar o uso de cada uma delas.
  14 + aplicações. A seguir iremos exemplificar o uso de cada uma delas.
15 15 </para>
16 16  
17 17 <section>
... ... @@ -60,7 +60,7 @@ public class SuaEntidadeDAO extends JPACrud&lt;SuaEntidade, Long&gt; {
60 60 Segue abaixo um exemplo da utilização do <emphasis>DelegateCrud</emphasis>.
61 61 Neste caso, foi implementado um método para validar a entidade antes
62 62 de proceder com a inclusão no banco de dados. Para isso, o método
63   - <function>insert()</function> fornecido pela classe foi sobreescrito.
  63 + <function>insert()</function> fornecido pela classe foi sobrescrito.
64 64 </para>
65 65 <programlisting role="JAVA"><![CDATA[@BusinessController
66 66 public class SuaEntidadeBC extends DelegateCrud<SuaEntidade, Long, SuaEntidadeDAO> {
... ...
documentation/reference/pt-BR/transacao.xml
... ... @@ -44,7 +44,7 @@
44 44 <para>
45 45 Vamos começar pelo mais importante: como declarar os métodos como transacionais? Como informar ao
46 46 <emphasis>Demoiselle Framework</emphasis> que o método deve participar da sessão transacional?
47   - A resposta é muito simples, anote seu método com <literal>@Transactional</literal>.
  47 + A resposta é muito simples: anote seu método com <literal>@Transactional</literal>.
48 48 </para>
49 49 <programlisting role="JAVA"><![CDATA[@Transactional
50 50 public void inserir() { }]]></programlisting>
... ... @@ -66,7 +66,7 @@ public class Simples {
66 66 <section>
67 67 <title>E se acontecer uma Exception?</title>
68 68 <para>
69   - Caso ocorra uma exceção na execução de um método transacional o mecanismo fará rollback na transação
  69 + Caso ocorra uma exceção na execução de um método transacional, o mecanismo fará rollback na transação
70 70 automaticamente. É possível mudar este comportamento utilizando exceções de aplicação (para maiores detalhes ver <link linkend="excecao">Exceção</link>).
71 71 </para>
72 72 <programlisting role="JAVA"><![CDATA[@ApplicationException(rollback = false)
... ... @@ -92,7 +92,7 @@ public class AbacaxiException {
92 92 caso. Não existe a bala de prata, você tem que avaliar a melhor estratégia para o seu projeto.
93 93 </para>
94 94 <para>
95   - Você pode optar também por não utilizar controle de transação. Neste caso, basta não utilizar a anotação <literal>@Transactional</literal>. Contudo,
  95 + Você também pode optar por não utilizar controle de transação. Neste caso, basta não utilizar a anotação <literal>@Transactional</literal>. Contudo,
96 96 caso você a utilize, você poderá escolher entre as estratégias JPA, JTA (ambas fornecidas pelo <literal>Framework</literal>) e uma estratégia que você
97 97 pode criar ou importar para seu projeto.
98 98 </para>
... ... @@ -135,7 +135,7 @@ public class AbacaxiException {
135 135 <section>
136 136 <title>Estratégia JTA</title>
137 137 <para>
138   - Esta estratégia, também está disponível através de uma extensão (<literal>demoiselle-jta</literal>), e é
  138 + Esta estratégia, também disponível através de uma extensão (<literal>demoiselle-jta</literal>), é
139 139 responsável por delegar o controle de transação para um container JEE. Com a <literal>JTATransaction</literal>
140 140 é possível incluir várias unidades de persistência de uma mesma aplicação no mesmo contexto transacional.
141 141 Isso mesmo, o famoso <emphasis>Two-Phase Commit (2PC)</emphasis>.
... ... @@ -145,7 +145,7 @@ public class AbacaxiException {
145 145 tecnologias que façam acesso ao contexto JTA, como é o caso do EJB. Para ativar esta estratégia basta
146 146 que seu projeto adicione no arquivo POM.XML a dependência à extensão <literal>demoiselle-jta</literal>, que o
147 147 Demoiselle fará a seleção por essa estratégia de forma automática, pois essa estratégia tem prioridade em relação
148   - a estratégia JPA.
  148 + à estratégia JPA.
149 149 </para>
150 150 <!--
151 151 defina no
... ... @@ -222,7 +222,7 @@ public class MegaTransaction implements Transaction {
222 222 }]]></programlisting>
223 223 <para>
224 224 Pronto, é só isso! Agora, os métodos anotados com <literal>@Transactional</literal> irão utilizar a estratégia criada em seu projeto de forma automática,
225   - mesmo que as extensões <literal>demoiselle-jpa</literal> e <literal>demoiselle-jta</literal> sejam adicionadas ao projeto, pois o framework da prioridade
  225 + mesmo que as extensões <literal>demoiselle-jpa</literal> e <literal>demoiselle-jta</literal> sejam adicionadas ao projeto, pois o framework dá prioridade
226 226 máxima à estratégia criada no projeto.
227 227 </para>
228 228 <!-- <para>
... ...