:index-group: Unrevised
:jbake-type: page
:jbake-status: status=published
= Apache DeltaSpike Demo

Notice: Licensed to the Apache Software Foundation (ASF) under one or
more contributor license agreements. See the NOTICE file distributed
with this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version 2.0
(the ``License''); you may not use this file except in compliance with
the License. You may obtain a copy of the License at .
http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or agreed to in writing, software distributed under the
License is distributed on an ``AS IS'' BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the
License.

Passo para executar o exemplo

Build e start da demo:

[source,java]
----
mvn clean package tomee:run
----

Abrir:

[source,java]
----
http://localhost:8080/
----

Este exemplo mostra como melhorar os aplicativos JSF2/CDI/BV/JPA com
recursos fornecidos pelo Apache DeltaSpike e MyFaces ExtVal.

=== Introdução ao Apache DeltaSpike e MyFaces ExtVal

O projeto Apache DeltaSpike hospeda extensões portáveis para contextos e
Injeção de Dependência (CDI - JSR 299). DeltaSpike é uma caixa de ferramentas para sua
aplicação CDI. Como o próprio CDI, o DeltaSpike está focado na segurança de tipos (type-safety).
É um framework modularizado e extensível. Então é fácil escolher o
peças necessárias para facilitar o trabalho diário em seu projeto.

MyFaces Extensions Validator (também conhecido como ExtVal) é um framework de validação centrada no JSF
que é compatível com JSF 1.x e JSF 2.x. Este exemplo
como como melhorar a integração padrão do Bean-Validation
(JSR-303) com JSF2 bem como validação de campo cruzado baseada em metadados.

Recursos Ilustrados

Apache DeltaSpike

Type-safe view-config

Type-safe (custom) view-meta-data

Type-safe navigation

Type-safe custom project-stage

@WindowScoped

Controlling DeltaSpike grouped-conversations with
GroupedConversationManager

@GroupedConversationScoped

Manual conversation handling

Secured pages (AccessDecisionVoter)

@Transactional

I18n (type-safe messages)

Dependency-Injection for JSR303 (BV) constraint-validators

Dependency-Injection for JSF phase-listeners

Apache MyFaces ExtVal

Cross-Field validation (@Equals)

Type-safe group-validation (@BeanValidation) for JSF action-methods
