Commit 2dcc80abc56fab29e2b92edcd8ce695db044842f

Authored by Luciano Borges
1 parent f1402b00
Exists in master

Ajuste fino na formatação.

documentation/quickstart/pt-BR/authorgroup.xml
... ... @@ -4,6 +4,10 @@
4 4 <authorgroup>
5 5 <author>
6 6 <firstname>Emerson</firstname>
  7 + <surname>Oliveira</surname>
  8 + </author>
  9 + <author>
  10 + <firstname>Emerson</firstname>
7 11 <surname>Saito</surname>
8 12 </author>
9 13 <author>
... ...
documentation/quickstart/pt-BR/bookinfo.xml
... ... @@ -2,7 +2,7 @@
2 2 <!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
4 4 <bookinfo>
5   - <title>Framework Demoiselle 2.3</title>
  5 + <title>Framework Demoiselle 2.3.0</title>
6 6 <subtitle>QuickStart</subtitle>
7 7 <xi:include href="authorgroup.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8 8 </bookinfo>
... ...
documentation/quickstart/pt-BR/criacao.xml
... ... @@ -7,7 +7,7 @@
7 7 <section>
8 8 <title>Nossa primeira aplicação</title>
9 9 <para>
10   - Para iniciar o uso do <emphasis>Demoiselle Framework 2.3</emphasis>, criaremos uma aplicação
  10 + Para iniciar o uso do <emphasis>Demoiselle Framework</emphasis>, criaremos uma aplicação
11 11 Java do tipo Web utilizando o <ulink url="http://maven.apache.org/"><citetitle>Apache Maven</citetitle></ulink>,
12 12 através do plugin para IDE Eclipse (M2Eclipse) para gerenciar todo o clico de vida do Projeto,
13 13 desde a criação até o <emphasis>deploy</emphasis>.
... ... @@ -66,7 +66,7 @@
66 66 </caution>
67 67 <caution>
68 68 <para>
69   - A versão do arquétipo irá variar conforme surjam novas versões do Demoiselle. A imagem deste guia apresenta a versão 2.3, contudo,
  69 + A versão do arquétipo irá variar conforme surjam novas versões do Demoiselle. A imagem deste guia apresenta a versão 2.3.0, contudo,
70 70 fique sempre atento para as novas versões do Demoiselle em nosso site e sempre utilize a versão do arquétipo mais recente.
71 71 </para>
72 72 </caution>
... ... @@ -116,8 +116,7 @@
116 116 </mediaobject>
117 117 </section>
118 118 <para>
119   - Ao término do processo será criado o projeto <literal>bookmark</literal> gerenciado
120   - pelo Maven e com a seguinte estrutura de diretórios:
  119 + Ao término do processo será criado o projeto <literal>bookmark</literal> gerenciado pelo Maven e com a seguinte estrutura de diretórios:
121 120 </para>
122 121 <programlisting>
123 122 <![CDATA[bookmark/
... ... @@ -185,70 +184,63 @@
185 184 | |-- beans.xml
186 185 | |-- persistence.xml]]>
187 186 </programlisting>
188   -
189   -
190 187 <section>
191   - <title>Entidade de Domínio</title>
  188 + <title>Entidade de domínio</title>
192 189 <para>
193 190 Dentro do pacote <literal>br.gov.frameworkdemoiselle.sample.bookmark.domain</literal> foi criada a classe
194 191 <literal>Bookmark</literal>, a qual será responsável por representar um objeto de bookmark
195 192 a ser persistido no banco de dados usando JPA:
196 193 </para>
197 194 <programlisting role="JAVA">
198   - <![CDATA[
199   - @Entity
200   - public class Bookmark implements Serializable {
201   -
202   - private static final long serialVersionUID = 1L;
203   -
204   - /*
205   - * If you are using Glassfish then remove the strategy attribute
206   - */
207   - @Id
208   - @GeneratedValue(strategy = SEQUENCE)
209   - private Long id;
210   -
211   - @Column
212   - private String description;
213   -
214   - @Column
215   - private String link;
216   -
217   - public Bookmark() {
218   - super();
219   - }
220   -
221   - public Bookmark(String description, String link) {
222   - this.description = description;
223   - this.link = link;
224   - }
225   -
226   - public Long getId() {
227   - return id;
228   - }
229   -
230   - public void setId(Long id) {
231   - this.id = id;
232   - }
233   -
234   - public String getDescription() {
235   - return description;
236   - }
237   -
238   - public void setDescription(String description) {
239   - this.description = description;
240   - }
241   -
242   - public String getLink() {
243   - return link;
244   - }
245   -
246   - public void setLink(String link) {
247   - this.link = link;
248   - }
249   -
250   - }
251   - ]]>
  195 +<![CDATA[@Entity
  196 +public class Bookmark implements Serializable {
  197 +
  198 +private static final long serialVersionUID = 1L;
  199 +
  200 +/* If you are using Glassfish then remove the strategy attribute */
  201 +@Id
  202 +@GeneratedValue(strategy = SEQUENCE)
  203 +private Long id;
  204 +
  205 +@Column
  206 +private String description;
  207 +
  208 +@Column
  209 +private String link;
  210 +
  211 +public Bookmark() {
  212 + super();
  213 +}
  214 +
  215 +public Bookmark(String description, String link) {
  216 + this.description = description;
  217 + this.link = link;
  218 +}
  219 +
  220 +public Long getId() {
  221 + return id;
  222 +}
  223 +
  224 +public void setId(Long id) {
  225 + this.id = id;
  226 +}
  227 +
  228 +public String getDescription() {
  229 + return description;
  230 +}
  231 +
  232 +public void setDescription(String description) {
  233 + this.description = description;
  234 +}
  235 +
  236 +public String getLink() {
  237 + return link;
  238 +}
  239 +
  240 +public void setLink(String link) {
  241 + this.link = link;
  242 +}
  243 +}]]>
252 244 </programlisting>
253 245 <para>
254 246 Os dois construtores da classe <literal>Bookmark</literal> serão utilizados posteriormente na aplicação.
... ... @@ -258,31 +250,29 @@
258 250 </section>
259 251  
260 252 <section>
261   - <title>Camada de Persistência</title>
  253 + <title>Camada de persistência</title>
262 254 <para>
263 255 Dentro do pacote <literal>br.gov.frameworkdemoiselle.sample.bookmark.persistence</literal> foi criada a classe
264 256 <literal>BookmarkDAO</literal>, a qual será responsável por manipular os dados:
265 257 </para>
266 258 <programlisting role="JAVA">
267   - <![CDATA[
268   - @PersistenceController
269   - public class BookmarkDAO extends JPACrud<Bookmark, Long> {
270   -
271   - private static final long serialVersionUID = 1L;
272   -
273   - }
274   - ]]>
  259 +<![CDATA[@PersistenceController
  260 +public class BookmarkDAO extends JPACrud<Bookmark, Long> {
  261 +
  262 + private static final long serialVersionUID = 1L;
  263 +
  264 +}]]>
275 265 </programlisting>
276 266 <note>
277 267 <para>
278 268 A anotação <literal>@PersistenceController</literal> trata-se de um estereótipo fornecido
279   - pelo <emphasis>Demoiselle Framework 2</emphasis> para indicar que uma classe será tratada
  269 + pelo <emphasis>Demoiselle Framework</emphasis> para indicar que uma classe será tratada
280 270 como controlador da camada de persistência na aplicação.
281 271 </para>
282 272 </note>
283 273 <para>
284 274 A classe abstrata <literal>JPACrud</literal> faz parte do código de suporte fornecido pelo
285   - <emphasis>Demoiselle Framework 2</emphasis> (especificamente na extensão JPA). Ao utilizá-la,
  275 + <emphasis>Demoiselle Framework</emphasis> (especificamente na extensão JPA). Ao utilizá-la,
286 276 o desenvolvedor não precisará implementar métodos de manipulação de uma entidade, tais como busca,
287 277 listagem, inclusão, alteração e exclusão de registros. Dessa forma, apenas métodos específicos do
288 278 caso de uso necessitam ser criados manualmente.
... ... @@ -296,7 +286,7 @@
296 286 <para>
297 287 No diretório <filename>/src/main/resources/META-INF/</filename> foi criado o arquivo <filename>persistence.xml</filename>
298 288 utilizado para armazenar as configurações de acesso ao banco de dados via JPA (conexões controladas por um <literal>JPA Provider</literal>, ex: Hibernate)
299   - ou JTA (conexões controladas pelo <literal>Application Server</literal>, ex: JBossAS) e, como pode ser observado, o <emphasis>Demoiselle Framework 2</emphasis>
  289 + ou JTA (conexões controladas pelo <literal>Application Server</literal>, ex: JBossAS) e, como pode ser observado, o <emphasis>Demoiselle Framework</emphasis>
300 290 já traz neste arquivo vários exemplos de configurações para os mais distintos <literal>Application Servers</literal>, como:
301 291 JBoss AS7, JBoss AS6, GlassFish 3, Tomcat 6 e Tomcat7.
302 292 </para>
... ... @@ -304,29 +294,31 @@
304 294 O projeto criado pelo arquétipo <quote>demoiselle-jsf-jpa</quote> já vem configurado para usar conexão JPA com o HSQLDB, conforme código abaixo:
305 295 </para>
306 296 <programlisting role="XML">
307   - <![CDATA[
308   - <?xml version="1.0" encoding="UTF-8"?>
309   - <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
310   - xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
311   -
312   - <persistence-unit name="bookmark-ds" transaction-type="RESOURCE_LOCAL">
313   - <non-jta-data-source>java:jboss/datasources/ExampleDS</non-jta-data-source>
314   -
315   - <class>br.gov.frameworkdemoiselle.sample.bookmark.domain.Bookmark</class>
316   -
317   - <properties>
318   - <property name="hibernate.show_sql" value="true" />
319   - <property name="hibernate.format_sql" value="false" />
320   - <property name="hibernate.hbm2ddl.auto" value="create-drop" />
321   - </properties>
322   - </persistence-unit>
323   - </persistence>
324   - ]]>
  297 +<![CDATA[<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
  298 +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  299 +xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
  300 +http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  301 +
  302 + <persistence-unit name="bookmark-ds" transaction-type="RESOURCE_LOCAL">
  303 +
  304 + <non-jta-data-source>java:jboss/datasources/ExampleDS</non-jta-data-source>
  305 +
  306 + <class>br.gov.frameworkdemoiselle.sample.bookmark.domain.Bookmark</class>
  307 +
  308 + <properties>
  309 + <property name="hibernate.show_sql" value="true" />
  310 + <property name="hibernate.format_sql" value="false" />
  311 + <property name="hibernate.hbm2ddl.auto" value="create-drop" />
  312 + </properties>
  313 +
  314 + </persistence-unit>
  315 +
  316 +</persistence>]]>
325 317 </programlisting>
326 318 </section>
327 319  
328 320 <section>
329   - <title>Camada de Negócio</title>
  321 + <title>Camada de negócio</title>
330 322 <para>
331 323 Dentro do pacote <literal>br.gov.frameworkdemoiselle.sample.bookmark.business</literal> foi criada a classe
332 324 <literal>BookmarkBC</literal>, a qual será responsável por gerenciar as regras de negócio referentes aos bookmarks:
... ... @@ -334,9 +326,9 @@
334 326 <programlisting role="JAVA">
335 327 <![CDATA[@BusinessController
336 328 public class BookmarkBC extends DelegateCrud<Bookmark, Long, BookmarkDAO> {
337   -
  329 +
338 330 private static final long serialVersionUID = 1L;
339   -
  331 +
340 332 @Startup
341 333 @Transactional
342 334 public void load() {
... ... @@ -363,13 +355,13 @@ public class BookmarkBC extends DelegateCrud&lt;Bookmark, Long, BookmarkDAO&gt; {
363 355 <note>
364 356 <para>
365 357 A anotação <literal>@BusinessController</literal> trata-se de um estereótipo fornecido
366   - pelo <emphasis>Demoiselle Framework 2</emphasis> para indicar que uma classe será tratada
  358 + pelo <emphasis>Demoiselle Framework</emphasis> para indicar que uma classe será tratada
367 359 como controlador da camada de negócio na aplicação.
368 360 </para>
369 361 </note>
370 362 <para>
371 363 A classe <literal>DelegateCrud</literal> faz parte do código de suporte fornecido pelo
372   - <emphasis>Demoiselle Framework 2</emphasis>. Ao utilizá-la, o desenvolvedor não precisará
  364 + <emphasis>Demoiselle Framework</emphasis>. Ao utilizá-la, o desenvolvedor não precisará
373 365 implementar métodos de negócio triviais de uma entidade e tampouco programar a injeção de dependência
374 366 entre as camadas de negócio e persistência. Tal injeção será realizada de forma implícita.
375 367 </para>
... ... @@ -382,7 +374,7 @@ public class BookmarkBC extends DelegateCrud&lt;Bookmark, Long, BookmarkDAO&gt; {
382 374 </section>
383 375  
384 376 <section>
385   - <title>Camada de Apresentação</title>
  377 + <title>Camada de apresentação</title>
386 378 <para>
387 379 Dentro do pacote <literal>package br.gov.frameworkdemoiselle.sample.bookmark.view</literal> foram criadas as
388 380 classes <literal>BookmarkEditMB</literal> e <literal>BookmarkListMB</literal>, onde a primeira é responsável
... ... @@ -425,7 +417,6 @@ public class BookmarkEditMB extends AbstractEditPageBean&lt;Bookmark, Long&gt; {
425 417 protected void handleLoad() {
426 418 setBean(this.bookmarkBC.load(getId()));
427 419 }
428   -
429 420 }]]>
430 421 </programlisting>
431 422 <programlisting role="JAVA">
... ... @@ -458,13 +449,12 @@ public class BookmarkListMB extends AbstractListPageBean&lt;Bookmark, Long&gt; {
458 449 }
459 450 return getPreviousView();
460 451 }
461   -
462 452 }]]>
463 453 </programlisting>
464 454  
465 455 <para>
466 456 A anotação <literal>@ViewController</literal> trata-se de um estereótipo fornecido
467   - pelo <emphasis>Demoiselle Framework 2</emphasis> para indicar que uma classe será tratada
  457 + pelo <emphasis>Demoiselle Framework</emphasis> para indicar que uma classe será tratada
468 458 como controlador da camada de apresentação (i.e., visão) na aplicação.
469 459 </para>
470 460 <para>
... ... @@ -479,13 +469,13 @@ public class BookmarkListMB extends AbstractListPageBean&lt;Bookmark, Long&gt; {
479 469 </para>
480 470 <para>
481 471 A anotação <literal>@Transactional</literal> trata-se de uma anotação fornecida pelo
482   - <emphasis>Demoiselle Framework 2</emphasis> para indicar que o método em questão
  472 + <emphasis>Demoiselle Framework</emphasis> para indicar que o método em questão
483 473 será incluído na sessão transacional. Caso essa anotação esteja vinculada na classe,
484 474 todos os seus métodos serão considerados transacionais.
485 475 </para>
486 476 <para>
487 477 As classes <literal>AbstractEditPageBean</literal> e <literal>AbstractListPageBean</literal> fazem parte
488   - do código de suporte fornecido pelo <emphasis>Demoiselle Framework 2</emphasis> (especificamente na extensão JSF).
  478 + do código de suporte fornecido pelo <emphasis>Demoiselle Framework</emphasis> (especificamente na extensão JSF).
489 479 Ao utilizá-las, o desenvolvedor não precisará implementar métodos específicos de navegação para uma tela de
490 480 cadastro (i.e., do tipo <emphasis>CRUD</emphasis>).
491 481 </para>
... ...
documentation/quickstart/pt-BR/images/new-maven-project02.png

38.3 KB | W: | H:

47.6 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
documentation/quickstart/pt-BR/master.xml
... ... @@ -7,10 +7,4 @@
7 7 <xi:include href="instalacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8 8 <xi:include href="criacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
9 9 <xi:include href="melhoria.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
10   - </book>
11   -
12   -<!--
13   -
14   - <xi:include href="avancado.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
15   --->
16   -
  10 + </book>
17 11 \ No newline at end of file
... ...
documentation/quickstart/pt-BR/melhoria.xml
... ... @@ -9,7 +9,7 @@
9 9 <title>Exibindo mensagens para o usuário</title>
10 10 <para>
11 11 Uma vez que o objetivo principal da aplicação foi concluído (i.e., listagem e edição de bookmarks),
12   - veremos algumas funcionalidades adicionais fornecidas pelo <emphasis>Demoiselle Framework 2</emphasis>,
  12 + veremos algumas funcionalidades adicionais fornecidas pelo <emphasis>Demoiselle Framework</emphasis>,
13 13 iniciando pelo tratamento de mensagens.
14 14 </para>
15 15 <para>
... ... @@ -18,14 +18,15 @@
18 18 exibidas ao usuário:
19 19 </para>
20 20 <programlisting role="JAVA">
21   - <![CDATA[public interface InfoMessages {
22   - final Message BOOKMARK_DELETE_OK = new DefaultMessage("{bookmark-delete-ok}");
23   - final Message BOOKMARK_INSERT_OK = new DefaultMessage("{bookmark-insert-ok}");
24   - final Message BOOKMARK_UPDATE_OK = new DefaultMessage("{bookmark-update-ok}");
25   - }]]></programlisting>
  21 +<![CDATA[public interface InfoMessages {
  22 + final Message BOOKMARK_DELETE_OK = new DefaultMessage("{bookmark-delete-ok}");
  23 + final Message BOOKMARK_INSERT_OK = new DefaultMessage("{bookmark-insert-ok}");
  24 + final Message BOOKMARK_UPDATE_OK = new DefaultMessage("{bookmark-update-ok}");
  25 +}]]>
  26 + </programlisting>
26 27 <note>
27 28 <para>
28   - A unidade básica de manipulação de mensagens no <emphasis>Demoiselle Framework 2</emphasis>
  29 + A unidade básica de manipulação de mensagens no <emphasis>Demoiselle Framework</emphasis>
29 30 é a interface <literal>Message</literal>. Ou seja, basta que esta última seja implementada na
30 31 aplicação para que o contexto de mensagens possa manipulá-la.
31 32 A classe <literal>DefaultMessage</literal> é oferecida como implementação padrão dessa interface.
... ... @@ -56,30 +57,30 @@ bookmark-update-ok=Bookmark atualizado: {0}]]&gt;
56 57 </areaspec>
57 58 <programlisting role="JAVA">
58 59 <![CDATA[@BusinessController
59   - public class BookmarkBC extends DelegateCrud<Bookmark, Long, BookmarkDAO> {
  60 +public class BookmarkBC extends DelegateCrud<Bookmark, Long, BookmarkDAO> {
60 61  
61   - @Inject
62   - private MessageContext messageContext;
63   -
64   - ...
  62 +@Inject
  63 +private MessageContext messageContext;
65 64  
66   - @Override
67   - public void insert(Bookmark bookmark) {
68   - super.insert(bookmark);
69   - messageContext.add(InfoMessages.BOOKMARK_INSERT_OK, bookmark.getDescription());
70   - }
71   -
72   - @Override
73   - public void update(Bookmark bookmark) {
74   - super.update(bookmark);
75   - messageContext.add(InfoMessages.BOOKMARK_UPDATE_OK, bookmark.getDescription());
76   - }
77   -
78   - @Override
79   - public void delete(Long id) {
80   - super.delete(id);
81   - messageContext.add(InfoMessages.BOOKMARK_DELETE_OK, id);
82   - }
  65 +...
  66 +
  67 +@Override
  68 +public void insert(Bookmark bookmark) {
  69 + super.insert(bookmark);
  70 + messageContext.add(InfoMessages.BOOKMARK_INSERT_OK, bookmark.getDescription());
  71 +}
  72 +
  73 +@Override
  74 +public void update(Bookmark bookmark) {
  75 + super.update(bookmark);
  76 + messageContext.add(InfoMessages.BOOKMARK_UPDATE_OK, bookmark.getDescription());
  77 +}
  78 +
  79 +@Override
  80 +public void delete(Long id) {
  81 + super.delete(id);
  82 + messageContext.add(InfoMessages.BOOKMARK_DELETE_OK, id);
  83 +}
83 84 }]]></programlisting>
84 85 <calloutlist>
85 86 <callout arearefs="inject-context">
... ... @@ -143,14 +144,14 @@ bookmark-update-ok=Bookmark atualizado: {0}]]&gt;
143 144 do projeto <literal>bookmark</literal> e inclua nele a seguinte dependência:
144 145 </para>
145 146 <programlisting role="XML">
146   - <![CDATA[<dependencies>
147   - ...
148   - <dependency>
149   - <groupId>org.hibernate</groupId>
150   - <artifactId>hibernate-validator</artifactId>
151   - <version>4.3.0.Final</version>
152   - </dependency>
153   - </dependencies>]]>
  147 +<![CDATA[<dependencies>
  148 + ...
  149 + <dependency>
  150 + <groupId>org.hibernate</groupId>
  151 + <artifactId>hibernate-validator</artifactId>
  152 + <version>4.3.0.Final</version>
  153 + </dependency>
  154 +</dependencies>]]>
154 155 </programlisting>
155 156 <note>
156 157 <para>
... ... @@ -172,27 +173,27 @@ bookmark-update-ok=Bookmark atualizado: {0}]]&gt;
172 173 <area id="valid-link" coords="14"/>
173 174 </areaspec>
174 175 <programlisting role="JAVA">
175   - <![CDATA[@Entity
176   - public class Bookmark {
177   -
178   - @Id
179   - @GeneratedValue
180   - private Long id;
181   -
182   - @Column
183   - @NotNull
184   - @Size(min = 1, max = 30)
185   - private String description;
186   -
187   - @Column
188   - @NotNull
189   - @NotBlank
190   - @Size(max = 255)
191   - @URL
192   - private String link;
193   -
194   - ...
195   - }]]>
  176 +<![CDATA[@Entity
  177 +public class Bookmark {
  178 +
  179 + @Id
  180 + @GeneratedValue
  181 + private Long id;
  182 +
  183 + @Column
  184 + @NotNull
  185 + @Size(min = 1, max = 30)
  186 + private String description;
  187 +
  188 + @Column
  189 + @NotNull
  190 + @NotBlank
  191 + @Size(max = 255)
  192 + @URL
  193 + private String link;
  194 +
  195 + ...
  196 +}]]>
196 197 </programlisting>
197 198 <calloutlist>
198 199 <callout arearefs="valid-desc">
... ...