Commit 2dcc80abc56fab29e2b92edcd8ce695db044842f
1 parent
f1402b00
Exists in
master
Ajuste fino na formatação.
Showing
6 changed files
with
157 additions
and
168 deletions
Show diff stats
documentation/quickstart/pt-BR/authorgroup.xml
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<Bookmark, Long, BookmarkDAO> { |
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<Bookmark, Long, BookmarkDAO> { |
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<Bookmark, Long> { |
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<Bookmark, Long> { |
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<Bookmark, Long> { |
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
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}]]> |
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}]]> |
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}]]> |
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"> | ... | ... |