Seam SVN: r13284 - branches/enterprise.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2010-06-22 06:10:15 -0400 (Tue, 22 Jun 2010)
New Revision: 13284
Added:
branches/enterprise/JBPAPP_5_0_JBPAPP-4507/
Log:
created branch for Support patch JBPAPP-4507
Copied: branches/enterprise/JBPAPP_5_0_JBPAPP-4507 (from rev 13283, tags/JBPAPP_5_0_1)
14 years, 8 months
Seam SVN: r13283 - in modules/drools/trunk: api and 3 other directories.
by seam-commits@lists.jboss.org
Author: tsurdilovic
Date: 2010-06-21 13:27:48 -0400 (Mon, 21 Jun 2010)
New Revision: 13283
Modified:
modules/drools/trunk/api/pom.xml
modules/drools/trunk/impl/pom.xml
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/ExecutionResultsProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/SeamDelegate.java
modules/drools/trunk/impl/src/test/java/org/jboss/…
[View More]seam/drools/test/delegate/DelegateTest.java
modules/drools/trunk/pom.xml
Log:
Fixed SeamDelegate to use the beans class instead of Object.class and updated the poms to make sure they get correct arquillian dependencies.
Modified: modules/drools/trunk/api/pom.xml
===================================================================
--- modules/drools/trunk/api/pom.xml 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/api/pom.xml 2010-06-21 17:27:48 UTC (rev 13283)
@@ -64,27 +64,6 @@
<groupId>org.jboss.weld</groupId>
<artifactId>weld-extensions</artifactId>
</dependency>
- <!-- Test Dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.seam.xml</groupId>
- <artifactId>seam-xml-config</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
</project>
Modified: modules/drools/trunk/impl/pom.xml
===================================================================
--- modules/drools/trunk/impl/pom.xml 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/impl/pom.xml 2010-06-21 17:27:48 UTC (rev 13283)
@@ -1,97 +1,107 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.jboss.seam.drools</groupId>
- <artifactId>seam-drools-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
+ <parent>
+ <groupId>org.jboss.seam.drools</groupId>
+ <artifactId>seam-drools-parent</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
- <groupId>org.jboss.seam.drools</groupId>
- <artifactId>seam-drools-impl</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>Seam Drools Module Core Implementation</name>
+ <groupId>org.jboss.seam.drools</groupId>
+ <artifactId>seam-drools-impl</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>Seam Drools Module Core Implementation</name>
- <dependencies>
- <dependency>
- <groupId>javax.el</groupId>
- <artifactId>el-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.spec.javax.interceptor</groupId>
- <artifactId>jboss-interceptors-api_1.1_spec</artifactId>
- </dependency>
- <dependency>
+ <dependencies>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.enterprise</groupId>
+ <artifactId>cdi-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.interceptor</groupId>
+ <artifactId>jboss-interceptors-api_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-templates</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-decisiontables</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-workitems</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.weld</groupId>
+ <artifactId>weld-extensions</artifactId>
+ </dependency>
+
+ <dependency>
+ <artifactId>seam-drools-api</artifactId>
+ <groupId>org.jboss.seam.drools</groupId>
+ <scope>compile</scope>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>org.jboss.seam.xml</groupId>
+ <artifactId>seam-xml-config</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-weld-embedded</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.weld</groupId>
+ <artifactId>weld-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-compiler</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-templates</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-decisiontables</artifactId>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-workitems</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.weld</groupId>
- <artifactId>weld-extensions</artifactId>
- </dependency>
- <!-- Test Dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.jboss.seam.xml</groupId>
- <artifactId>seam-xml-config</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
- <scope>test</scope>
- </dependency>
+ </dependencies>
- <dependency>
- <artifactId>seam-drools-api</artifactId>
- <groupId>org.jboss.seam.drools</groupId>
- <scope>compile</scope>
- </dependency>
-
- </dependencies>
-
</project>
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/ExecutionResultsProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/ExecutionResultsProducer.java 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/ExecutionResultsProducer.java 2010-06-21 17:27:48 UTC (rev 13283)
@@ -29,6 +29,7 @@
import javax.enterprise.context.RequestScoped;
import javax.enterprise.context.SessionScoped;
+import javax.enterprise.inject.Default;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
@@ -73,6 +74,7 @@
@SuppressWarnings("unchecked")
@Produces
@Stateless
+ @Default
@RequestScoped
public ExecutionResults produceStatelessExecutionResults(StatelessKnowledgeSession ksession) {
return ksession.execute(CommandFactory.newBatchExecution(getCommandList()));
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/KnowledgeBaseProducer.java 2010-06-21 17:27:48 UTC (rev 13283)
@@ -28,6 +28,7 @@
import java.util.Iterator;
import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Default;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
@@ -70,6 +71,7 @@
DroolsExtension droolsExtension;
@Produces
+ @Default
@ApplicationScoped
public KnowledgeBase produceKnowledgeBase(DroolsConfig config) throws Exception
{
Modified: modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/SeamDelegate.java
===================================================================
--- modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/SeamDelegate.java 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/impl/src/main/java/org/jboss/seam/drools/SeamDelegate.java 2010-06-21 17:27:48 UTC (rev 13283)
@@ -55,7 +55,7 @@
{
Bean<?> bean = beans.iterator().next();
CreationalContext<?> context = manager.createCreationalContext(bean);
- return manager.getReference(bean, Object.class, context);
+ return manager.getReference(bean, bean.getBeanClass(), context);
}
else
{
Modified: modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/delegate/DelegateTest.java
===================================================================
--- modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/delegate/DelegateTest.java 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/impl/src/test/java/org/jboss/seam/drools/test/delegate/DelegateTest.java 2010-06-21 17:27:48 UTC (rev 13283)
@@ -27,6 +27,7 @@
import static org.junit.Assert.assertNotSame;
import javax.enterprise.inject.Default;
+import javax.inject.Inject;
import org.drools.runtime.StatefulKnowledgeSession;
import org.jboss.arquillian.api.Deployment;
@@ -60,8 +61,15 @@
return archive;
}
+
+ @Inject
+ DelegateBean delegateBean;
+
+ @Inject
+ @Default @DefaultConfig StatefulKnowledgeSession ksession;
+
@Test
- public void testDelegate(DelegateBean delegateBean, @Default @DefaultConfig StatefulKnowledgeSession ksession) {
+ public void testDelegate() {
assertNotNull(ksession);
assertNotNull(delegateBean);
ksession.fireAllRules();
Modified: modules/drools/trunk/pom.xml
===================================================================
--- modules/drools/trunk/pom.xml 2010-06-20 19:35:38 UTC (rev 13282)
+++ modules/drools/trunk/pom.xml 2010-06-21 17:27:48 UTC (rev 13283)
@@ -1,95 +1,100 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.jboss.seam</groupId>
- <artifactId>seam-parent</artifactId>
- <version>1</version>
- </parent>
+ <parent>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>seam-parent</artifactId>
+ <version>1</version>
+ </parent>
- <groupId>org.jboss.seam.drools</groupId>
- <artifactId>seam-drools-parent</artifactId>
- <packaging>pom</packaging>
- <version>3.0.0-SNAPSHOT</version>
- <name>Seam Drools Parent</name>
+ <artifactId>seam-drools-parent</artifactId>
+ <groupId>org.jboss.seam.drools</groupId>
+ <version>3.0.0-SNAPSHOT</version>
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
+ <packaging>pom</packaging>
+ <name>Seam Drools Parent</name>
- <modules>
- <module>api</module>
- <module>impl</module>
- <module>docs</module>
- <!-- <module>examples</module> -->
- </modules>
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
- <developers>
- <developer>
- <name>Tihomir Surdilovic</name>
- <email>tsurdilo(a)redhat.com</email>
- <url>http://in.relation.to/Bloggers/Tihomir</url>
- <organization>JBoss, by Red Hat</organization>
- <organizationUrl>http://jboss.org</organizationUrl>
- <timezone>EST</timezone>
- <roles>
- <role>Module Lead</role>
- </roles>
- </developer>
- </developers>
+ <description>
+ The Parent for Seam Drools Modules
+ </description>
- <properties>
- <arquillian.version>1.0.0-SNAPSHOT</arquillian.version>
- <seam.version>3.0.0.b01</seam.version>
- </properties>
+ <url>http://www.seamframework.org</url>
- <dependencyManagement>
- <dependencies>
+ <modules>
+ <module>api</module>
+ <module>impl</module>
+ <module>docs</module>
+ <!-- <module>examples</module> -->
+ </modules>
- <dependency>
- <groupId>org.jboss.seam</groupId>
- <artifactId>seam</artifactId>
- <version>${seam.version}</version>
- <scope>import</scope>
- <type>pom</type>
- </dependency>
+ <developers>
+ <developer>
+ <name>Tihomir Surdilovic</name>
+ <email>tsurdilo(a)redhat.com</email>
+ <url>http://in.relation.to/Bloggers/Tihomir</url>
+ <organization>JBoss, by Red Hat</organization>
+ <organizationUrl>http://jboss.org</organizationUrl>
+ <timezone>EST</timezone>
+ <roles>
+ <role>Module Lead</role>
+ </roles>
+ </developer>
+ </developers>
- <!-- Override dependencyManagement from org.jboss.seam:seam -->
- <dependency>
- <groupId>org.jboss.seam.drools</groupId>
- <artifactId>seam-drools-api</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <properties>
+ <seam.version>3.0.0.b01</seam.version>
+ </properties>
- <dependency>
- <groupId>org.jboss.seam.drools</groupId>
- <artifactId>seam-drools-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <dependencyManagement>
+ <dependencies>
- </dependencies>
- </dependencyManagement>
+ <dependency>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>seam</artifactId>
+ <version>${seam.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
- <profiles>
- <profile>
- <id>distribution</id>
- <activation>
- <property>
- <name>release</name>
- </property>
- </activation>
- <modules>
- <module>dist</module>
- <module>docs</module>
- </modules>
- </profile>
- </profiles>
+ <!-- Override dependencyManagement from org.jboss.seam:seam -->
+ <dependency>
+ <groupId>org.jboss.seam.drools</groupId>
+ <artifactId>seam-drools-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/seam/modules/drools/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/seam/modules/drools/trunk</developerConnection>
- <url>http://fisheye.jboss.org/browse/Seam/modules/drools/trunk</url>
- </scm>
+ <dependency>
+ <groupId>org.jboss.seam.drools</groupId>
+ <artifactId>seam-drools-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <profiles>
+ <profile>
+ <id>distribution</id>
+ <activation>
+ <property>
+ <name>release</name>
+ </property>
+ </activation>
+ <modules>
+ <module>dist</module>
+ <module>docs</module>
+ </modules>
+ </profile>
+ </profiles>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/seam/modules/drools/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/seam/modules/drools/trunk</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Seam/modules/drools/trunk</url>
+ </scm>
+
</project>
[View Less]
14 years, 8 months
Seam SVN: r13282 - modules/international/trunk/docs/reference/src/main/docbook/en-US.
by seam-commits@lists.jboss.org
Author: kenfinni
Date: 2010-06-20 15:35:38 -0400 (Sun, 20 Jun 2010)
New Revision: 13282
Modified:
modules/international/trunk/docs/reference/src/main/docbook/en-US/locales.xml
modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml
modules/international/trunk/docs/reference/src/main/docbook/en-US/timezones.xml
Log:
Update i18n reference guide
Modified: modules/international/trunk/docs/reference/src/main/docbook/en-US/locales.xml
=================================…
[View More]==================================
--- modules/international/trunk/docs/reference/src/main/docbook/en-US/locales.xml 2010-06-20 01:57:33 UTC (rev 13281)
+++ modules/international/trunk/docs/reference/src/main/docbook/en-US/locales.xml 2010-06-20 19:35:38 UTC (rev 13282)
@@ -1,6 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
-<chapter id="locales">
+<chapter id="international.locales">
<title>Locales</title>
+ <section id="defaultlc">
+ <title>Default Locale</title>
+ <para>
+ In a similar fashion to TimeZones we have an application <literal>Locale</literal> retrieved by
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+java.util.Locale lc;]]></programlisting>
+ <para>
+ accessible via EL with "defaultLocale".
+ </para>
+ <para>
+ By default the <literal>Locale</literal> will be set to the JVM default, unless you override the <literal>DefaultLocaleProducer</literal> Bean through XML Config.
+ Here are a few examples of XML that can be used to define the various types of Locales that are available ...
+ </para>
+ <para>
+ This will set the default language to be French.
+ </para>
+<programlisting role="XML"><![CDATA[<beans xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:s="urn:java:seam:core"
+ xmlns:lc="urn:java:org.jboss.seam.international.locale"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/javaee
+ http://docs.jboss.org/cdi/beans_1_0.xsd">
+
+ <lc:DefaultLocaleProducer>
+ <s:specializes/>
+ <lc:defaultLocaleKey>fr</lc:defaultLocaleKey>
+ </lc:DefaultLocaleProducer>
+</beans>]]></programlisting>
+ <para>
+ This will set the default language to be English with the country of US.
+ </para>
+<programlisting role="XML"><![CDATA[<beans xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:s="urn:java:seam:core"
+ xmlns:lc="urn:java:org.jboss.seam.international.locale"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/javaee
+ http://docs.jboss.org/cdi/beans_1_0.xsd">
+
+ <lc:DefaultLocaleProducer>
+ <s:specializes/>
+ <lc:defaultLocaleKey>en_US</lc:defaultLocaleKey>
+ </lc:DefaultLocaleProducer>
+</beans>]]></programlisting>
+ <para>
+ As you can see from the previous examples, you can define the <literal>Locale</literal> with lang_country_variant. It's important to note that the first two parts of the locale definition
+ are not expected to be greater than 2 characters otherwise an error will be produced and it will default to the JVM <literal>Locale</literal>.
+ </para>
+ </section>
+ <section id="userlc">
+ <title>User Locale</title>
+ <para>
+ The Locale associated with the User Session can be retrieved by
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+@UserLocale
+java.util.Locale locale;]]></programlisting>
+ <para>
+ which is EL accessible via "userLocale".
+ </para>
+ <para>
+ By default the <literal>Locale</literal> will be the same as that of the application when the User Session is initially created. However, changing the User's <literal>Locale</literal> is a simple
+ matter of firing an event to update it. An example would be
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+@Changed
+Event<java.util.Locale> localeEvent;
+
+public void setUserLocale()
+{
+ Locale canada = Locale.CANADA;
+ localeEvent.fire(canada);
+}]]></programlisting>
+ </section>
+ <section id="availlc">
+ <title>Available Locales</title>
+ <para>
+ We've also provided a list of available Locales that can be accessed via
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+List<java.util.Locale> locales;]]></programlisting>
+ <para>
+ The locales that will be returned with this can be defined with XML configuration of the <literal>AvailableLocales</literal> Bean such as
+ </para>
+<programlisting role="XML"><![CDATA[<beans xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:s="urn:java:seam:core"
+ xmlns:lc="urn:java:org.jboss.seam.international.locale"
+ xsi:schemaLocation="
+ http://java.sun.com/xml/ns/javaee
+ http://docs.jboss.org/cdi/beans_1_0.xsd">
+
+ <lc:AvailableLocales>
+ <s:specializes/>
+ <lc:supportedLocaleKeys>
+ <s:value>en</s:value>
+ <s:value>fr</s:value>
+ </lc:supportedLocaleKeys>
+ </lc:AvailableLocales>
+</beans>]]></programlisting>
+ </section>
</chapter>
\ No newline at end of file
Modified: modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml
===================================================================
--- modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-20 01:57:33 UTC (rev 13281)
+++ modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-20 19:35:38 UTC (rev 13282)
@@ -1,6 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
<chapter id="international.messages">
<title>Messages</title>
+ <para>
+ There are currently two ways to create a message within the module.
+ </para>
+ <para>
+ The first would mostly be used when you don't want to add the generated message directly to the UI, but want to log it out, or store it somewhere else
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+MessageFactory factory;
+
+public String getMessage()
+{
+ MessageBuilder builder = factory.info("There are {0} cars, and they are all {1}; {1} is the best color.", 5, "green");#
+ return builder.build().getText();
+}]]></programlisting>
+ <para>
+ The second is to add the message to a list that will be returned to the UI for display.
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+Messages messages;
+
+public void setMessage()
+{
+ messages.info("There are {0} cars, and they are all {1}; {1} is the best color.", 5, "green");
+}]]></programlisting>
+ <para>
+ Either of these methods supports the four message levels which are info, warning, error and fatal.
+ </para>
+ <para>
+ Both the MessageFactory and Messages classes support four ways in which to create a Message:</para>
+ <itemizedlist>
+ <listitem>Directly adding the message</listitem>
+ <listitem>Directly adding the message and replacing parameters</listitem>
+ <listitem>Retrieving the message from a bundle</listitem>
+ <listitem>Retrieving the message from a bundle and replacing parameters</listitem>
+ </itemizedlist>
+ <para>
+ Examples for each of these are:</para>
+ <itemizedlist>
+ <listitem><programlisting role="JAVA"><![CDATA[messages.info("Simple Text");]]></programlisting></listitem>
+ <listitem><programlisting role="JAVA"><![CDATA[messages.info("Simple Text with {0} parameter", 1);]]></programlisting></listitem>
+ <listitem><programlisting role="JAVA"><![CDATA[messages.info(new BundleKey("org.jboss.international.seam.test.TestBundle", "key1"));]]></programlisting></listitem>
+ <listitem><programlisting role="JAVA"><![CDATA[messages.info(new BundleKey("org.jboss.international.seam.test.TestBundle", "key2"), 1);]]></programlisting></listitem>
+ </itemizedlist>
+ <para>
+ The above examples assume that there is a properties file existing at <literal>org.jboss.international.seam.test.TestBundle.properties</literal> with <literal>key1</literal> being a simple text string
+ and <literal>key2</literal> including a single parameter.
+ </para>
</chapter>
\ No newline at end of file
Modified: modules/international/trunk/docs/reference/src/main/docbook/en-US/timezones.xml
===================================================================
--- modules/international/trunk/docs/reference/src/main/docbook/en-US/timezones.xml 2010-06-20 01:57:33 UTC (rev 13281)
+++ modules/international/trunk/docs/reference/src/main/docbook/en-US/timezones.xml 2010-06-20 19:35:38 UTC (rev 13282)
@@ -11,9 +11,10 @@
<title>Default TimeZone</title>
<para>
Starting at the application level the module provides a <literal>DateTimeZone</literal> that can be retrieved with
-<programlisting>
-@Inject
-DateTimeZone applicationTimeZone;</programlisting>
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
+DateTimeZone applicationTimeZone;]]></programlisting>
+ <para>
It can also be accessed through EL by the name "defaultTimeZone"!
</para>
<para>
@@ -38,34 +39,33 @@
<title>User TimeZone</title>
<para>
We also have a <literal>DateTimeZone</literal> that is scoped to the User Session which can be retrieved with
-<programlisting>
-@Inject
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
@UserTimeZone
-DateTimeZone userTimeZone;</programlisting>
+DateTimeZone userTimeZone;]]></programlisting>
+ <para>
It can also be accessed through EL using "userTimeZone".
</para>
<para>
By default the <literal>TimeZone</literal> will be the same as the application when the User Session is initialised. However, changing
the User's <literal>TimeZone</literal> is a simple matter of firing an event to update it. An example would be
-<programlisting>
-@Inject
+ </para>
+<programlisting role="JAVA"><![CDATA[@Inject
@Changed
-Event<DateTimeZone> tzEvent;
+Event<DateTimeZone> tzEvent;
public void setUserTimeZone()
{
DateTimeZone tijuana = DateTimeZone.forID("America/Tijuana");
tzEvent.fire(tijuana);
-}</programlisting>
- </para>
+}]]></programlisting>
</section>
<section id="availtz">
<title>Available TimeZones</title>
<para>
We've also provided a list of available TimeZones that can be accessed via
-<programlisting>
-@Inject
-List<DateTimeZone> timeZones;</programlisting>
</para>
+<programlisting role="JAVA"><![CDATA[@Inject
+List<DateTimeZone> timeZones;]]></programlisting>
</section>
</chapter>
\ No newline at end of file
[View Less]
14 years, 8 months
Seam SVN: r13281 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/bootstrap.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 21:57:33 -0400 (Sat, 19 Jun 2010)
New Revision: 13281
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/bootstrap/ApplicationInitializer.java
Log:
Use EJB to startup, not hacked onto JSF event
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/bootstrap/ApplicationInitializer.java
===================================================================
--- examples/trunk/…
[View More]booking-simplified/src/main/java/org/jboss/seam/examples/booking/bootstrap/ApplicationInitializer.java 2010-06-20 01:43:49 UTC (rev 13280)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/bootstrap/ApplicationInitializer.java 2010-06-20 01:57:33 UTC (rev 13281)
@@ -24,15 +24,14 @@
import java.util.ArrayList;
import java.util.List;
-import javax.ejb.Stateless;
-import javax.enterprise.event.Observes;
+import javax.annotation.PostConstruct;
+import javax.ejb.Singleton;
+import javax.ejb.Startup;
import javax.enterprise.inject.Alternative;
-import javax.faces.event.PostConstructApplicationEvent;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
+import javax.transaction.UserTransaction;
import org.jboss.seam.examples.booking.model.Hotel;
import org.jboss.seam.examples.booking.model.User;
@@ -41,12 +40,15 @@
/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
-@Stateless
+@Singleton @Startup
@Alternative
public class ApplicationInitializer
{
@PersistenceContext
- private EntityManager em;
+ private EntityManager entityManager;
+
+ @Inject
+ private UserTransaction utx;
@Inject
Logger log;
@@ -88,7 +90,8 @@
hotels.add(new Hotel(100, 2, "Hotel Cammerpoorte", "Nationalestraat 38-40", "Antwerp", null, "2000", "BE"));
}
- public void init(@Observes final PostConstructApplicationEvent event)
+ @PostConstruct
+ public void init()
{
try
{
@@ -101,7 +104,7 @@
}
}
- private void persist(final List entities)
+ private void persist(List<?> entities)
{
for (Object e : entities)
{
@@ -109,18 +112,25 @@
}
}
- private void persist(final Object entity)
+ private void persist(Object entity)
{
try
{
- em.persist(entity);
+ utx.begin();
+ entityManager.persist(entity);
+ utx.commit();
}
- catch (ConstraintViolationException e)
+ catch (Exception e)
{
- for (ConstraintViolation v : e.getConstraintViolations())
+ log.error("Error importing data: " + entity, e);
+ try
{
- log.error("Cannot persist entity because it has validation errors " + v.getRootBean() + ": " + v.getPropertyPath() + " " + v.getMessage());
+ utx.rollback();
}
+ catch (Exception e1)
+ {
+ log.error("Error rolling back transaction", e1);
+ }
}
}
}
[View Less]
14 years, 8 months
Seam SVN: r13280 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 21:43:49 -0400 (Sat, 19 Jun 2010)
New Revision: 13280
Removed:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ConfirmedLiteral.java
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingAgent.java
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingHistory.java
examples/trunk/booking-simplified/src/main/…
[View More]java/org/jboss/seam/examples/booking/booking/Confirmed.java
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ReservationDateRangeValidator.java
Log:
javadoc
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingAgent.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingAgent.java 2010-06-20 01:41:48 UTC (rev 13279)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingAgent.java 2010-06-20 01:43:49 UTC (rev 13280)
@@ -23,6 +23,8 @@
import static javax.persistence.PersistenceContextType.EXTENDED;
+import java.util.Locale;
+
import javax.ejb.Stateful;
import javax.enterprise.context.ConversationScoped;
import javax.enterprise.context.RequestScoped;
@@ -37,6 +39,7 @@
import javax.persistence.PersistenceContext;
import org.jboss.seam.examples.booking.account.Authenticated;
+import org.jboss.seam.examples.booking.i18n.DefaultBundleKey;
import org.jboss.seam.examples.booking.model.Booking;
import org.jboss.seam.examples.booking.model.Hotel;
import org.jboss.seam.examples.booking.model.User;
@@ -47,16 +50,14 @@
import org.slf4j.Logger;
import com.ocpsoft.pretty.time.PrettyTime;
-import java.util.Locale;
-import org.jboss.seam.examples.booking.i18n.DefaultBundleKey;
-import org.jboss.seam.international.locale.UserLocale;
/**
+ * The BookingAgent manages the main booking flow
+ *
* @author Dan Allen
*/
-@Named
-@Stateful
-@ConversationScoped
+
+@Stateful @ConversationScoped @Named
public class BookingAgent
{
@Inject
@@ -71,15 +72,13 @@
@Inject
private Messages messages;
- @Inject
- @Authenticated
+ @Inject @Authenticated
private User user;
@Inject
private Locale locale;
- @Inject
- @Confirmed
+ @Inject @Confirmed
private Event<Booking> bookingConfirmedEventSrc;
private Hotel hotelSelection;
@@ -138,17 +137,13 @@
messages.info(new DefaultBundleKey("booking_confirmed")).textDefault("You're booked to stay at the {0} {1}.").textParams(booking.getHotel().getName(), new PrettyTime(locale).format(booking.getCheckinDate()));
}
- @Produces
- @Named
- @ConversationScoped
+ @Produces @ConversationScoped @Named
public Booking getBooking()
{
return booking;
}
- @Produces
- @Named("hotel")
- @RequestScoped
+ @Produces @RequestScoped @Named("hotel")
public Hotel getSelectedHotel()
{
return booking != null ? booking.getHotel() : hotelSelection;
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingHistory.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingHistory.java 2010-06-20 01:41:48 UTC (rev 13279)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/BookingHistory.java 2010-06-20 01:43:49 UTC (rev 13280)
@@ -52,18 +52,18 @@
import org.slf4j.Logger;
/**
+ * The booking history exposes the current users existing bookings
+ *
* @author Dan Allen
*/
-@Named
-@Stateful
-@SessionScoped
+@Stateful @SessionScoped @Named
public class BookingHistory
{
@Inject
private Logger log;
@PersistenceContext
- private EntityManager em;
+ private EntityManager entityManager;
@Inject
private Messages messages;
@@ -76,9 +76,7 @@
private List<Booking> bookingsForUser = null;
- @Produces
- @Authenticated
- @Named("bookings")
+ @Produces @Authenticated @Named("bookings")
public List<Booking> getBookingsForCurrentUser()
{
if (bookingsForUser == null && identity.isLoggedIn())
@@ -88,8 +86,7 @@
return bookingsForUser;
}
- public void onBookingComplete(@Observes(during = TransactionPhase.AFTER_SUCCESS, notifyObserver = Reception.IF_EXISTS)
- @Confirmed final Booking booking)
+ public void onBookingComplete(@Observes(during = TransactionPhase.AFTER_SUCCESS, notifyObserver = Reception.IF_EXISTS) @Confirmed Booking booking)
{
// optimization, save the db call
if (bookingsForUser != null)
@@ -106,10 +103,10 @@
public void cancelBooking(final Booking selectedBooking)
{
log.info("Canceling booking {0} for {1}", selectedBooking.getId(), currentUserInstance.get().getName());
- Booking booking = em.find(Booking.class, selectedBooking.getId());
+ Booking booking = entityManager.find(Booking.class, selectedBooking.getId());
if (booking != null)
{
- em.remove(booking);
+ entityManager.remove(booking);
messages.info(new DefaultBundleKey("booking_canceled"))
.textDefault("The booking at the {0} on {1} has been canceled.")
.textParams(selectedBooking.getHotel().getName(),
@@ -127,7 +124,7 @@
private void fetchBookingsForCurrentUser()
{
String username = currentUserInstance.get().getUsername();
- CriteriaBuilder builder = em.getCriteriaBuilder();
+ CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Booking> cquery = builder.createQuery(Booking.class);
Root<Booking> booking = cquery.from(Booking.class);
booking.fetch(Booking_.hotel, JoinType.INNER);
@@ -135,7 +132,7 @@
.where(builder.equal(booking.get(Booking_.user).get(User_.username), username))
.orderBy(builder.asc(booking.get(Booking_.checkinDate)));
- bookingsForUser = em.createQuery(cquery).getResultList();
+ bookingsForUser = entityManager.createQuery(cquery).getResultList();
}
}
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/Confirmed.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/Confirmed.java 2010-06-20 01:41:48 UTC (rev 13279)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/Confirmed.java 2010-06-20 01:43:49 UTC (rev 13280)
@@ -34,12 +34,12 @@
import javax.inject.Qualifier;
/**
+ * A qualifier, used to differentiate confirmed and unconfirmed bookings
+ *
* @author Dan Allen
*/
@Target( { TYPE, METHOD, PARAMETER, FIELD })
@Retention(RUNTIME)
@Documented
@Qualifier
-public @interface Confirmed
-{
-}
+public @interface Confirmed {}
Deleted: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ConfirmedLiteral.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ConfirmedLiteral.java 2010-06-20 01:41:48 UTC (rev 13279)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ConfirmedLiteral.java 2010-06-20 01:43:49 UTC (rev 13280)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.seam.examples.booking.booking;
-
-import javax.enterprise.util.AnnotationLiteral;
-
-public class ConfirmedLiteral extends AnnotationLiteral<Confirmed> implements Confirmed
-{
- public static final ConfirmedLiteral INSTANCE = new ConfirmedLiteral();
-}
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ReservationDateRangeValidator.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ReservationDateRangeValidator.java 2010-06-20 01:41:48 UTC (rev 13279)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/booking/ReservationDateRangeValidator.java 2010-06-20 01:43:49 UTC (rev 13280)
@@ -40,7 +40,7 @@
import org.jboss.seam.international.status.builder.BundleTemplateMessage;
/**
- * A cross-field validator that validates the begin date is in the future and
+ * A cross-field validator that validates the start date is in the future and
* before the end date.
*
* @author Dan Allen
@@ -48,30 +48,31 @@
@FacesValidator("reservationDateRange")
public class ReservationDateRangeValidator implements Validator
{
- @Inject
- @InputField
- private Date beginDate;
+ @Inject @InputField
+ private Date startDate;
- @Inject
- @InputField
+ @Inject @InputField
private Date endDate;
@Inject
private Instance<BundleTemplateMessage> messageBuilder;
+
public void validate(final FacesContext ctx, final UIComponent form, final Object value) throws ValidatorException
{
+ @SuppressWarnings("unchecked")
Map<String, UIInput> fieldMap = (Map<String, UIInput>) value;
+
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -1);
- if (beginDate.before(calendar.getTime()))
+ if (startDate.before(calendar.getTime()))
{
String message = messageBuilder.get().text(new DefaultBundleKey("booking_checkInNotFutureDate"))
// FIXME the component should come through via injection
.targets(fieldMap.get("beginDate").getClientId()).build().getText();
throw new ValidatorException(new FacesMessage(message));
}
- else if (!beginDate.before(endDate))
+ else if (!startDate.before(endDate))
{
String message = messageBuilder.get().text(new DefaultBundleKey("booking_checkOutBeforeCheckIn"))
// FIXME the component should come through via injection
[View Less]
14 years, 8 months
Seam SVN: r13279 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 21:41:48 -0400 (Sat, 19 Jun 2010)
New Revision: 13279
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Authenticated.java
Log:
ws
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Authenticated.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/…
[View More]account/Authenticated.java 2010-06-19 23:02:17 UTC (rev 13278)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Authenticated.java 2010-06-20 01:41:48 UTC (rev 13279)
@@ -43,6 +43,4 @@
@Retention(RUNTIME)
@Documented
@Qualifier
-public @interface Authenticated
-{
-}
+public @interface Authenticated {}
[View Less]
14 years, 8 months
Seam SVN: r13278 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 19:02:17 -0400 (Sat, 19 Jun 2010)
New Revision: 13278
Added:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentUserManager.java
Removed:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java
Log:
better name
Deleted: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java
=======================…
[View More]============================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java 2010-06-19 23:00:46 UTC (rev 13277)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java 2010-06-19 23:02:17 UTC (rev 13278)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.seam.examples.booking.account;
-
-import javax.ejb.Stateful;
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-import org.jboss.seam.examples.booking.model.User;
-
-/**
- * Exposes the currently logged in user
- *
- * @author Dan Allen
- */
-@Stateful @SessionScoped
-public class AccountHolder
-{
- private User currentUser;
-
- @Produces @Authenticated @Named("currentUser")
- public User getCurrentAccount()
- {
- return currentUser;
- }
-
- public void onLogin(@Observes @Authenticated User user)
- {
- currentUser = user;
- }
-}
Copied: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentUserManager.java (from rev 13277, examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java)
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentUserManager.java (rev 0)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentUserManager.java 2010-06-19 23:02:17 UTC (rev 13278)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.examples.booking.account;
+
+import javax.ejb.Stateful;
+import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+import org.jboss.seam.examples.booking.model.User;
+
+/**
+ * Exposes the currently logged in user
+ *
+ * @author Dan Allen
+ */
+@Stateful @SessionScoped
+public class CurrentUserManager
+{
+ private User currentUser;
+
+ @Produces @Authenticated @Named("currentUser")
+ public User getCurrentAccount()
+ {
+ return currentUser;
+ }
+
+ public void onLogin(@Observes @Authenticated User user)
+ {
+ currentUser = user;
+ }
+}
[View Less]
14 years, 8 months
Seam SVN: r13277 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 19:00:46 -0400 (Sat, 19 Jun 2010)
New Revision: 13277
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java
examples/trunk/booking-…
[View More]simplified/src/main/java/org/jboss/seam/examples/booking/account/PasswordManager.java
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Registrar.java
Log:
formatting
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java 2010-06-19 22:57:13 UTC (rev 13276)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/AccountHolder.java 2010-06-19 23:00:46 UTC (rev 13277)
@@ -34,15 +34,12 @@
*
* @author Dan Allen
*/
-@Stateful
-@SessionScoped
+@Stateful @SessionScoped
public class AccountHolder
{
private User currentUser;
- @Produces
- @Authenticated
- @Named("currentUser")
+ @Produces @Authenticated @Named("currentUser")
public User getCurrentAccount()
{
return currentUser;
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java 2010-06-19 22:57:13 UTC (rev 13276)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java 2010-06-19 23:00:46 UTC (rev 13277)
@@ -45,12 +45,10 @@
@Inject
private BundleTemplateMessage messageBuilder;
- @Inject
- @InputField
+ @Inject @InputField
private String newPassword;
- @Inject
- @InputField
+ @Inject @InputField
private String confirmPassword;
public void validate(final FacesContext ctx, final UIComponent form, final Object components) throws ValidatorException
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java 2010-06-19 22:57:13 UTC (rev 13276)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java 2010-06-19 23:00:46 UTC (rev 13277)
@@ -34,6 +34,9 @@
import org.jboss.seam.international.status.builder.BundleTemplateMessage;
/**
+ * A JSF Validator, used to check that the password the user submits matches
+ * that on record.
+ *
* @author Dan Allen
*/
@FacesValidator("currentPassword")
@@ -42,22 +45,19 @@
@Inject
private BundleTemplateMessage messageBuilder;
- @Inject
- @Authenticated
+ @Inject @Authenticated
private User currentUser;
- @SuppressWarnings("unchecked")
public void validate(final FacesContext ctx, final UIComponent comp, final Object value) throws ValidatorException
{
String currentPassword = (String) value;
if ((currentUser.getPassword() != null) && !currentUser.getPassword().equals(currentPassword))
{
/*
- * This is an ugly way to put i18n in FacesMessages: https://jira.jboss.org/browse/SEAMFACES-24
+ * This is an ugly way to put i18n in FacesMessages:
+ * https://jira.jboss.org/browse/SEAMFACES-24
*/
- throw new ValidatorException(new FacesMessage(messageBuilder.text(
- new DefaultBundleKey("account_passwordNotConfirmed")).build()
- .getText()));
+ throw new ValidatorException(new FacesMessage(messageBuilder.text(new DefaultBundleKey("account_passwordNotConfirmed")).build().getText()));
}
}
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/PasswordManager.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/PasswordManager.java 2010-06-19 22:57:13 UTC (rev 13276)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/PasswordManager.java 2010-06-19 23:00:46 UTC (rev 13277)
@@ -34,10 +34,11 @@
import org.jboss.seam.international.status.Messages;
/**
+ * The view controller for changing the user password
+ *
* @author Dan Allen
*/
-@Stateful
-@Model
+@Stateful @Model
public class PasswordManager
{
@PersistenceContext
@@ -46,12 +47,10 @@
@Inject
private Messages messages;
- @Inject
- @Authenticated
+ @Inject @Authenticated
private User user;
- @NotNull
- @Size(min = 5, max = 15)
+ @NotNull @Size(min = 5, max = 15)
private String confirmPassword;
private boolean changed;
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Registrar.java
===================================================================
--- examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Registrar.java 2010-06-19 22:57:13 UTC (rev 13276)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/Registrar.java 2010-06-19 23:00:46 UTC (rev 13277)
@@ -40,6 +40,8 @@
import org.jboss.seam.international.status.builder.BundleKey;
/**
+ * The view controller for registering a new user
+ *
* @author Dan Allen
*/
@Stateful
@@ -59,8 +61,7 @@
private final User newUser = new User();
- @NotNull
- @Size(min = 5, max = 15)
+ @NotNull @Size(min = 5, max = 15)
private String confirmPassword;
private boolean registered;
[View Less]
14 years, 8 months
Seam SVN: r13276 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 18:57:13 -0400 (Sat, 19 Jun 2010)
New Revision: 13276
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java
Log:
Instance is not needed
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java
===================================================================
--- examples/trunk/booking-simplified/src/…
[View More]main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java 2010-06-19 22:56:06 UTC (rev 13275)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/CurrentPasswordValidator.java 2010-06-19 22:57:13 UTC (rev 13276)
@@ -21,7 +21,6 @@
*/
package org.jboss.seam.examples.booking.account;
-import javax.enterprise.inject.Instance;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -41,7 +40,7 @@
public class CurrentPasswordValidator implements Validator
{
@Inject
- private Instance<BundleTemplateMessage> msg;
+ private BundleTemplateMessage messageBuilder;
@Inject
@Authenticated
@@ -56,7 +55,7 @@
/*
* This is an ugly way to put i18n in FacesMessages: https://jira.jboss.org/browse/SEAMFACES-24
*/
- throw new ValidatorException(new FacesMessage(msg.get().text(
+ throw new ValidatorException(new FacesMessage(messageBuilder.text(
new DefaultBundleKey("account_passwordNotConfirmed")).build()
.getText()));
}
[View Less]
14 years, 8 months
Seam SVN: r13275 - examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-19 18:56:06 -0400 (Sat, 19 Jun 2010)
New Revision: 13275
Modified:
examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java
Log:
Instance is not needed
Modified: examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java
===================================================================
--- examples/trunk/booking-simplified/src/…
[View More]main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java 2010-06-19 22:54:53 UTC (rev 13274)
+++ examples/trunk/booking-simplified/src/main/java/org/jboss/seam/examples/booking/account/ConfirmPasswordValidator.java 2010-06-19 22:56:06 UTC (rev 13275)
@@ -21,7 +21,6 @@
*/
package org.jboss.seam.examples.booking.account;
-import javax.enterprise.inject.Instance;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -35,13 +34,16 @@
import org.jboss.seam.international.status.builder.BundleTemplateMessage;
/**
+ * Validate that both the password fields contain the same value. Implements the
+ * classic pasword change validation.
+ *
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
@FacesValidator("confirmPassword")
public class ConfirmPasswordValidator implements Validator
{
@Inject
- private Instance<BundleTemplateMessage> messageBuilder;
+ private BundleTemplateMessage messageBuilder;
@Inject
@InputField
@@ -53,15 +55,9 @@
public void validate(final FacesContext ctx, final UIComponent form, final Object components) throws ValidatorException
{
- //Map<String, UIInput> fieldMap = (Map<String, UIInput>) components;
if ((newPassword != null) && !newPassword.equals(confirmPassword))
{
- throw new ValidatorException(
- new FacesMessage(messageBuilder.get().text(
- new DefaultBundleKey("account_passwordsDoNotMatch"))
- // targets not honored yet
- //.targets(fieldMap.get("confirmPassword").getClientId())
- .build().getText()));
+ throw new ValidatorException(new FacesMessage(messageBuilder.text(new DefaultBundleKey("account_passwordsDoNotMatch")).build().getText()));
}
}
[View Less]
14 years, 8 months