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
documentation/reference/pt-BR/master.xml
| ... | ... | @@ -42,6 +42,7 @@ |
| 42 | 42 | <xi:include href="templates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
| 43 | 43 | <xi:include href="security.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
| 44 | 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 | 46 | </part> |
| 46 | 47 | <!-- parte 2 --> |
| 47 | 48 | <!-- <part id="2">--> |
| ... | ... | @@ -52,4 +53,4 @@ |
| 52 | 53 | <!-- apêndices --> |
| 53 | 54 | <xi:include href="instalacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> |
| 54 | 55 | |
| 55 | -</book> | |
| 56 | 56 | \ No newline at end of file |
| 57 | +</book> | ... | ... |
documentation/reference/pt-BR/paginacao.xml
| ... | ... | @@ -36,9 +36,11 @@ |
| 36 | 36 | |
| 37 | 37 | <section> |
| 38 | 38 | <title>Códigos de suporte</title> |
| 39 | + <!-- | |
| 39 | 40 | <para> |
| 40 | 41 | // TODO: explicar Pagination e PaginationContext |
| 41 | 42 | </para> |
| 43 | + --> | |
| 42 | 44 | <para> |
| 43 | 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 | 71 | |
| 70 | 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 | 149 | |
| 148 | 150 | <section> |
| 149 | 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 | 152 | <para> |
| 175 | 153 | Eis um exemplo de implementação de paginação em uma aplicação: |
| 176 | 154 | </para> |
| ... | ... | @@ -198,7 +176,7 @@ frameworkdemoiselle.pagination.max_page_links=10 |
| 198 | 176 | </note> |
| 199 | 177 | </section> |
| 200 | 178 | |
| 201 | - <section> | |
| 179 | +<!--<section> | |
| 202 | 180 | <title>Um exemplo usando PrimeFaces</title> |
| 203 | 181 | <para> |
| 204 | 182 | Eis um interessante caso de uso de paginação: ????. |
| ... | ... | @@ -259,6 +237,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { |
| 259 | 237 | value="#{auditMB.lazyModel}" lazy="true" paginator="true" |
| 260 | 238 | rows="#{auditMB.pageSize}" pageLinks="#{auditMB.maxPageLinks}">]]></programlisting> |
| 261 | 239 | </section> |
| 240 | + --> | |
| 262 | 241 | |
| 263 | 242 | <section> |
| 264 | 243 | <title>Referências</title> |
| ... | ... | @@ -267,7 +246,7 @@ public class AuditMB extends AbstractListPageBean<Audit, Long> { |
| 267 | 246 | <listitem>Implementing Search Result Pagination in a Web Application (http://www.developer.com/java/other/article.php/3696226/)</listitem> |
| 268 | 247 | <listitem>A Pagination Technique Using Spring (http://www.developer.com/java/web/article.php/10935_3830886_1/)</listitem> |
| 269 | 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 | 250 | </itemizedlist> |
| 272 | 251 | </section> |
| 273 | 252 | ... | ... |
| ... | ... | @@ -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> | ... | ... |