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"> | ... | ... |