Commit 583e551cd1a5305949c02ceb66e02c7bb7080993
1 parent
0b451500
Exists in
master
Adição de capítulo sobre o Demoiselle Properties no Guia de Referência.
Showing
4 changed files
with
200 additions
and
28 deletions
Show diff stats
documentation/reference/pt-BR/authorgroup.xml
@@ -34,4 +34,8 @@ | @@ -34,4 +34,8 @@ | ||
34 | <firstname>Wilson</firstname> | 34 | <firstname>Wilson</firstname> |
35 | <surname>Guimarães</surname> | 35 | <surname>Guimarães</surname> |
36 | </author> | 36 | </author> |
37 | + <author> | ||
38 | + <firstname>Emerson</firstname> | ||
39 | + <surname>Oliveira</surname> | ||
40 | + </author> | ||
37 | </authorgroup> | 41 | </authorgroup> |
documentation/reference/pt-BR/master.xml
@@ -42,6 +42,7 @@ | @@ -42,6 +42,7 @@ | ||
42 | <xi:include href="templates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | 42 | <xi:include href="templates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
43 | <xi:include href="security.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | 43 | <xi:include href="security.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
44 | <!-- <xi:include href="paginacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> --> | 44 | <!-- <xi:include href="paginacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> --> |
45 | + <xi:include href="properties.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
45 | </part> | 46 | </part> |
46 | <!-- parte 2 --> | 47 | <!-- parte 2 --> |
47 | <!-- <part id="2">--> | 48 | <!-- <part id="2">--> |
@@ -52,4 +53,4 @@ | @@ -52,4 +53,4 @@ | ||
52 | <!-- apêndices --> | 53 | <!-- apêndices --> |
53 | <xi:include href="instalacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> | 54 | <xi:include href="instalacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
54 | 55 | ||
55 | -</book> | ||
56 | \ No newline at end of file | 56 | \ No newline at end of file |
57 | +</book> |
documentation/reference/pt-BR/paginacao.xml
@@ -36,9 +36,11 @@ | @@ -36,9 +36,11 @@ | ||
36 | 36 | ||
37 | <section> | 37 | <section> |
38 | <title>Códigos de suporte</title> | 38 | <title>Códigos de suporte</title> |
39 | + <!-- | ||
39 | <para> | 40 | <para> |
40 | // TODO: explicar Pagination e PaginationContext | 41 | // TODO: explicar Pagination e PaginationContext |
41 | </para> | 42 | </para> |
43 | + --> | ||
42 | <para> | 44 | <para> |
43 | Veremos na seção seguinte como implementar a paginação em uma aplicação Java. | 45 | Veremos na seção seguinte como implementar a paginação em uma aplicação Java. |
44 | 46 | ||
@@ -69,7 +71,7 @@ public class PaginationContext { | @@ -69,7 +71,7 @@ public class PaginationContext { | ||
69 | 71 | ||
70 | public Pagination getPagination(Class<?> clazz) { ... } | 72 | public Pagination getPagination(Class<?> clazz) { ... } |
71 | 73 | ||
72 | - public Pagination getPagination(Class<?> clazz, boolean create) { ... } | 74 | + public Pagination get -->Pagination(Class<?> clazz, boolean create) { ... } |
73 | 75 | ||
74 | } | 76 | } |
75 | 77 | ||
@@ -147,30 +149,6 @@ frameworkdemoiselle.pagination.max_page_links=10 | @@ -147,30 +149,6 @@ frameworkdemoiselle.pagination.max_page_links=10 | ||
147 | 149 | ||
148 | <section> | 150 | <section> |
149 | <title>Implementação na aplicação</title> | 151 | <title>Implementação na aplicação</title> |
150 | - <!-- | ||
151 | - <para> | ||
152 | - A fim de utilizar o mecanismo inerente do <emphasis>Demoiselle Framework</emphasis>, é preciso simplesmente anotar os métodos | ||
153 | - contendo as instruções desejadas com <literal>@Startup</literal>, para a <emphasis>inicialização</emphasis>, ou | ||
154 | - <literal>@Shutdown</literal>, para a <emphasis>finalização</emphasis>. | ||
155 | - </para> | ||
156 | - <tip> | ||
157 | - <para> | ||
158 | - O mecanismo de inicialização do <emphasis>Demoiselle Framework</emphasis> é independente da natureza da aplicação Java, isto é, | ||
159 | - visa tanto aplicações do tipo Web quanto do tipo desktop (ex: Swing). | ||
160 | - </para> | ||
161 | - </tip> | ||
162 | - <para> | ||
163 | - As instruções contidas em um método anotado com <literal>@Startup</literal> serão executadas automaticamente quando a aplicação | ||
164 | - Java for inicializada, seja ela hospedada em um contêiner Web ou executada através de um método <literal>main()</literal>. | ||
165 | - Nenhum outro arquivo ou classe precisa ser definido. A anotação <literal>@Startup</literal> permite a indicação do argumento | ||
166 | - <literal>priority</literal>, um número inteiro que serve para definir a prioridade de execução do respectivo método na existência | ||
167 | - de mais de um inicializador para a aplicação. | ||
168 | - </para> | ||
169 | - <para> | ||
170 | - De maneira análoga, um método anotado com <literal>@Shutdown</literal> será executado no momento de finalização de uma aplicação, | ||
171 | - obedecendo também à ordem de prioridade definida com o argumento <literal>priority</literal>. | ||
172 | - </para> | ||
173 | - --> | ||
174 | <para> | 152 | <para> |
175 | Eis um exemplo de implementação de paginação em uma aplicação: | 153 | Eis um exemplo de implementação de paginação em uma aplicação: |
176 | </para> | 154 | </para> |
@@ -198,7 +176,7 @@ frameworkdemoiselle.pagination.max_page_links=10 | @@ -198,7 +176,7 @@ frameworkdemoiselle.pagination.max_page_links=10 | ||
198 | </note> | 176 | </note> |
199 | </section> | 177 | </section> |
200 | 178 | ||
201 | - <section> | 179 | +<!--<section> |
202 | <title>Um exemplo usando PrimeFaces</title> | 180 | <title>Um exemplo usando PrimeFaces</title> |
203 | <para> | 181 | <para> |
204 | Eis um interessante caso de uso de paginação: ????. | 182 | Eis um interessante caso de uso de paginação: ????. |
@@ -259,6 +237,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { | @@ -259,6 +237,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { | ||
259 | value="#{auditMB.lazyModel}" lazy="true" paginator="true" | 237 | value="#{auditMB.lazyModel}" lazy="true" paginator="true" |
260 | rows="#{auditMB.pageSize}" pageLinks="#{auditMB.maxPageLinks}">]]></programlisting> | 238 | rows="#{auditMB.pageSize}" pageLinks="#{auditMB.maxPageLinks}">]]></programlisting> |
261 | </section> | 239 | </section> |
240 | + --> | ||
262 | 241 | ||
263 | <section> | 242 | <section> |
264 | <title>Referências</title> | 243 | <title>Referências</title> |
@@ -267,7 +246,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { | @@ -267,7 +246,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { | ||
267 | <listitem>Implementing Search Result Pagination in a Web Application (http://www.developer.com/java/other/article.php/3696226/)</listitem> | 246 | <listitem>Implementing Search Result Pagination in a Web Application (http://www.developer.com/java/other/article.php/3696226/)</listitem> |
268 | <listitem>A Pagination Technique Using Spring (http://www.developer.com/java/web/article.php/10935_3830886_1/)</listitem> | 247 | <listitem>A Pagination Technique Using Spring (http://www.developer.com/java/web/article.php/10935_3830886_1/)</listitem> |
269 | <listitem>Spring JDBC Pagination Tutorial (http://www.codefutures.com/tutorials/spring-pagination/)</listitem> | 248 | <listitem>Spring JDBC Pagination Tutorial (http://www.codefutures.com/tutorials/spring-pagination/)</listitem> |
270 | - <listitem>PrimeFaces DataTable - Lazy Loading (http://www.primefaces.org/showcase/ui/datatableLazy.jsf)</listitem> | 249 | + <!-- <listitem>PrimeFaces DataTable - Lazy Loading (http://www.primefaces.org/showcase/ui/datatableLazy.jsf)</listitem> --> |
271 | </itemizedlist> | 250 | </itemizedlist> |
272 | </section> | 251 | </section> |
273 | 252 |
@@ -0,0 +1,188 @@ | @@ -0,0 +1,188 @@ | ||
1 | +<?xml version='1.0' encoding="utf-8"?> | ||
2 | +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" | ||
3 | + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> | ||
4 | +<chapter id="properties"> | ||
5 | + | ||
6 | + <title>Demoiselle Properties</title> | ||
7 | + | ||
8 | + <para> | ||
9 | + Em um projeto com o <emphasis>Demoiselle Framework</emphasis>, algumas propriedades e configurações | ||
10 | + do <emphasis>Framework</emphasis> podem ser ajustadas no arquivo <literal>demoiselle.properties</literal>. | ||
11 | + Além disso, a partir da versão 2.3.0 também é nesse arquivo que devem ser definidas as estratégias de | ||
12 | + <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>. | ||
13 | + </para> | ||
14 | + <para> | ||
15 | + A seguir listamos as propriedades e configurações do <emphasis>Demoiselle Framework</emphasis> que o usuário pode modificar, | ||
16 | + acompanhados de alguns exemplos ilustrativos. Também mostraremos como escolher as estratégias para | ||
17 | + <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>, oferecidas pelo | ||
18 | + <emphasis>Demoiselle</emphasis>. | ||
19 | + </para> | ||
20 | + | ||
21 | + <section> | ||
22 | + <title>Configurações do Core</title> | ||
23 | + <para> | ||
24 | + <itemizedlist> | ||
25 | + <listitem> | ||
26 | + <para> | ||
27 | + <literal>frameworkdemoiselle.pagination.page.size</literal> - Configura o número de linhas que será | ||
28 | + exibido na grade de uma página. Por padrão, esse número é 10. | ||
29 | + </para> | ||
30 | + <para> | ||
31 | + Exemplo de configuração: <literal>frameworkdemoiselle.pagination.page.size = 15</literal>, ajusta em 15 | ||
32 | + a quantidade de linhas em uma grade | ||
33 | + </para> | ||
34 | + </listitem> | ||
35 | + <listitem> | ||
36 | + <para> | ||
37 | + <literal>frameworkdemoiselle.pagination.max.page.links</literal> - Configura a quantidade de links que | ||
38 | + será exibido em uma página. Por padrão, esse valor é 5. | ||
39 | + </para> | ||
40 | + <para> | ||
41 | + Exemplo de configuração: <literal>frameworkdemoiselle.pagination.max.page.links = 20</literal>, configura em 20 | ||
42 | + o número de links que podem ser exibidos em uma página. | ||
43 | + </para> | ||
44 | + </listitem> | ||
45 | + <listitem> | ||
46 | + <para> | ||
47 | + <literal>frameworkdemoiselle.security.enabled</literal> - Configura a habilitação das funcionalidades do | ||
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. | ||
50 | + </para> | ||
51 | + <para> | ||
52 | + Exemplo de configuração: <literal>frameworkdemoiselle.security.enabled = false</literal>, desabilita as | ||
53 | + funcionalidades de segurança do <emphasis>Demoiselle</emphasis>. | ||
54 | + </para> | ||
55 | + </listitem> | ||
56 | + </itemizedlist> | ||
57 | + </para> | ||
58 | + </section> | ||
59 | + | ||
60 | + <section> | ||
61 | + <title>Configurações da extensão JSF</title> | ||
62 | + <para> | ||
63 | + <itemizedlist> | ||
64 | + <listitem> | ||
65 | + <para> | ||
66 | + <literal>frameworkdemoiselle.security.login.page</literal> - Configura a página de login. Por padrão, a página | ||
67 | + configurada é <emphasis>“/login”</emphasis>. | ||
68 | + </para> | ||
69 | + <para> | ||
70 | + Exemplo de configuração: <literal>frameworkdemoiselle.security.login.page = “/inicial”</literal>, configura a | ||
71 | + página <emphasis>“/inicial”</emphasis> como a página de login. | ||
72 | + </para> | ||
73 | + </listitem> | ||
74 | + | ||
75 | + <listitem> | ||
76 | + <para> | ||
77 | + <literal>frameworkdemoiselle.security.redirect.after.login</literal> - Configura a página que será acessada após | ||
78 | + o login. Por padrão, a página configurada é <emphasis>“/index”</emphasis>. | ||
79 | + </para> | ||
80 | + <para> | ||
81 | + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.after.login = "/menu"</literal>, configura | ||
82 | + a página <emphasis>“/menu”</emphasis> para ser acessada no redirecionamento após o login do usuário. | ||
83 | + </para> | ||
84 | + </listitem> | ||
85 | + | ||
86 | + <listitem> | ||
87 | + <para> | ||
88 | + <literal>frameworkdemoiselle.security.redirect.after.logout</literal> - Configura a página para a qual a aplicação | ||
89 | + será direcionada após o logout do usuário. Por padrão, a página configurada é <emphasis>“/login”</emphasis>. | ||
90 | + </para> | ||
91 | + <para> | ||
92 | + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.after.logout = "/index"</literal>, configura | ||
93 | + a página "/index" para ser acessada no redirecionamento após o logout do usuário. | ||
94 | + </para> | ||
95 | + </listitem> | ||
96 | + | ||
97 | + <listitem> | ||
98 | + <para> | ||
99 | + <literal>frameworkdemoiselle.security.redirect.enebled</literal> - Configura a habilitação do redirecionamento da página | ||
100 | + após <emphasis>login</emphasis> e <emphasis>logout</emphasis>. Por padrão, o valor dessa propriedade é <emphasis>true</emphasis>. | ||
101 | + </para> | ||
102 | + <para> | ||
103 | + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.enebled = false</literal>, desabilita os | ||
104 | + redirecionamentos de páginas após <emphasis>login</emphasis> e <emphasis>logout</emphasis>. | ||
105 | + </para> | ||
106 | + </listitem> | ||
107 | + | ||
108 | + <listitem> | ||
109 | + <para> | ||
110 | + <literal>frameworkdemoiselle.handle.application.exception</literal> - Define se a extensão vai capturar ou não alguma exceção | ||
111 | + lançada pela aplicação. Por padrão, essa configuração vem marcada como “true”, que diz para a extensão capturar a exceção. | ||
112 | + </para> | ||
113 | + <para> | ||
114 | + Exemplo de configuração: <emphasis>frameworkdemoiselle.handle.application.exception = false</emphasis>, desabilita a captura | ||
115 | + de exceções lançadas pela aplicação. | ||
116 | + </para> | ||
117 | + </listitem> | ||
118 | + | ||
119 | + <listitem> | ||
120 | + <para> | ||
121 | + <literal>frameworkdemoiselle.handle.aplication.exception.page</literal> - Configura a página para a qual a aplicação será | ||
122 | + direcionada em caso de exceção. Por padrão, a página configurada é <emphasis>“/application_error”</emphasis>. | ||
123 | + </para> | ||
124 | + <para> | ||
125 | + Exemplo de configuração: <emphasis>framework.handle.aplication.exception.page = “/exception_x_page”</emphasis>, redireciona a | ||
126 | + aplicação para a página <emphasis>/exception_x_page</emphasis> caso ocorra alguma exceção. | ||
127 | + </para> | ||
128 | + </listitem> | ||
129 | + </itemizedlist> | ||
130 | + </para> | ||
131 | + </section> | ||
132 | + | ||
133 | + <section> | ||
134 | + <title>Configurações da Extensão JPA</title> | ||
135 | + <para> | ||
136 | + <itemizedlist> | ||
137 | + <listitem> | ||
138 | + <para> | ||
139 | + <literal>frameworkdemoiselle.persistence.unit.name</literal> - Quando é definida mais de uma unidade de persitencia | ||
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 | ||
142 | + indicar qual é a unidade de persistência que deve ser utilizada quando no <emphasis>Entity Manager</emphasis> não | ||
143 | + houver essa definição. | ||
144 | + </para> | ||
145 | + <para> | ||
146 | + Exemplo de configuração: <literal>frameworkdemoiselle.persistence.unit.name = database1-ds</literal>, configura a | ||
147 | + unidade de persistencia <literal>database1-ds</literal> como padrão da aplicação. | ||
148 | + </para> | ||
149 | + </listitem> | ||
150 | + </itemizedlist> | ||
151 | + </para> | ||
152 | + </section> | ||
153 | + | ||
154 | + <section> | ||
155 | + <title>Escolhendo Estratégias</title> | ||
156 | + <para> | ||
157 | + Para escolher as estratégias de <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis> | ||
158 | + devem ser configuradas as propriedades: <literal>frameworkdemoiselle.transaction.class</literal>, | ||
159 | + <literal>frameworkdemoiselle.security.authorizer.class</literal> e <literal>frameworkdemoiselle.security.authenticator.class</literal> | ||
160 | + , respectivamente. | ||
161 | + </para> | ||
162 | + <para> | ||
163 | + Para utilizar as estratégias fornecidas pelo próprio <emphasis>Framework Demoiselle</emphasis>, você deve configurar essas | ||
164 | + propriedades da seguinte forma: | ||
165 | + <itemizedlist> | ||
166 | + <listitem> | ||
167 | + <para> | ||
168 | + <literal>frameworkdemoiselle.transaction.class = br.gov.frameworkdemoiselle.transaction.JPATransaction</literal>, | ||
169 | + para transações <emphasis>JPA</emphasis>, e <literal>frameworkdemoiselle.transaction.class = | ||
170 | + br.gov.frameworkdemoiselle.transaction.JTATransaction</literal>, para transações <emphasis>JTA</emphasis>; | ||
171 | + </para> | ||
172 | + </listitem> | ||
173 | + <listitem> | ||
174 | + <para> | ||
175 | + <literal>frameworkdemoiselle.security.authorizer.class = br.gov.serpro.inscricao.security.Autorizador</literal>; | ||
176 | + </para> | ||
177 | + </listitem> | ||
178 | + <listitem> | ||
179 | + <para> | ||
180 | + <literal>frameworkdemoiselle.security.authenticator.class = br.gov.serpro.inscricao.security.Autenticador</literal>. | ||
181 | + </para> | ||
182 | + </listitem> | ||
183 | + </itemizedlist> | ||
184 | + As instruções para você construir e utilizar sua própria estratégia estãodescritas nos capítulos <link linkend="transacao">Transação</link> | ||
185 | + e <link linkend="security">Segurança</link>. | ||
186 | + </para> | ||
187 | + </section> | ||
188 | +</chapter> |