From seam-commits at lists.jboss.org Mon Mar 31 21:41:47 2008 Content-Type: multipart/mixed; boundary="===============6215016626272744404==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7782 - branches/Seam_2_0/doc/Seam_Reference_Guide/en. Date: Mon, 31 Mar 2008 21:41:46 -0400 Message-ID: --===============6215016626272744404== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-03-31 21:41:46 -0400 (Mon, 31 Mar 2008) New Revision: 7782 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Websphere.xml Log: Formatting changes for PDF and fixed an issue with sections for the seam-ge= n section. Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Websphere.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/Websphere.xml 2008-03-31 = 23:11:38 UTC (rev 7781) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/Websphere.xml 2008-04-01 = 01:41:46 UTC (rev 7782) @@ -975,13 +975,15 @@ are some tricky changes needed to get an EJB3 application running= . This section will take you through the exact steps. = - The first step is setting up seam-gen to +
+ Running <literal>seam-gen</literal> Setup + The first step is setting up seam-gen to construct the base project. There are several choices made below, specifically the datasource and hibernate values that we will adj= ust once the project is created. = = - - = + =
+ = --===============6215016626272744404==-- From seam-commits at lists.jboss.org Mon Mar 31 21:42:12 2008 Content-Type: multipart/mixed; boundary="===============9131280251386254005==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7783 - branches/Seam_2_0/doc/Seam_Reference_Guide/en. Date: Mon, 31 Mar 2008 21:42:12 -0400 Message-ID: --===============9131280251386254005== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-03-31 21:42:12 -0400 (Mon, 31 Mar 2008) New Revision: 7783 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Oc4j.xml branches/Seam_2_0/doc/Seam_Reference_Guide/en/Weblogic.xml Log: Formatting changes for PDF Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Oc4j.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/Oc4j.xml 2008-04-01 01:41= :46 UTC (rev 7782) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/Oc4j.xml 2008-04-01 01:42= :12 UTC (rev 7783) @@ -529,47 +529,63 @@ = setup: [echo] Welcome to seam-gen :-) - [input] Enter your Java project workspace (the directory that contains= your Seam projects) [C:/Projects] [C:/Projects] + [input] Enter your Java project workspace (the directory that contains= your = +Seam projects) [C:/Projects] [C:/Projects] /home/jbalunas/workspace - [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.= GA] [C:/Program Files/jboss-4.2.2.GA] + [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.= GA] = +[C:/Program Files/jboss-4.2.2.GA] /home/jbalunas/jboss/jboss-4.2.2.GA [input] Enter the project name [myproject] [myproject] oc4j_example [echo] Accepted project name as: oc4j_example - [input] Select a RichFaces skin (not applicable if using ICEFaces) [bl= ueSky] ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DE= FAULT) + [input] Select a RichFaces skin (not applicable if using ICEFaces) [bl= ueSky] + ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT) = - [input] Is this project deployed as an EAR (with EJB components) or a = WAR (with no EJB support) [ear] ([ear], war, ) + [input] Is this project deployed as an EAR (with EJB components) or a = WAR = +(with no EJB support) [ear] ([ear], war, ) = - [input] Enter the Java package name for your session beans [com.mydoma= in.oc4j_example] [com.mydomain.oc4j_example] + [input] Enter the Java package name for your session beans [com.mydoma= in. +oc4j_example] [com.mydomain.oc4j_example] org.jboss.seam.tutorial.oc4j.action - [input] Enter the Java package name for your entity beans [org.jboss.s= eam.tutorial.oc4j.action] [org.jboss.seam.tutorial.oc4j.action] + [input] Enter the Java package name for your entity beans [org.jboss.s= eam. +tutorial.oc4j.action] [org.jboss.seam.tutorial.oc4j.action] org.jboss.seam.tutorial.oc4j.model - [input] Enter the Java package name for your test cases [org.jboss.sea= m.tutorial.oc4j.action.test] [org.jboss.seam.tutorial.oc4j.action.test] + [input] Enter the Java package name for your test cases [org.jboss.sea= m. +tutorial.oc4j.action.test] [org.jboss.seam.tutorial.oc4j.action.test] org.jboss.seam.tutorial.oc4j.test - [input] What kind of database are you using? [hsql] ([hsql], mysql, o= racle, postgres, mssql, db2, sybase, enterprisedb, h2) + [input] What kind of database are you using? [hsql] ([hsql], mysql, o= racle, + postgres, mssql, db2, sybase, enterprisedb, h2) mysql - [input] Enter the Hibernate dialect for your database [org.hibernate.d= ialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect] + [input] Enter the Hibernate dialect for your database [org.hibernate. +dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect] = - [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.j= ar] [lib/hsqldb.jar] + [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.j= ar] = +[lib/hsqldb.jar] lib/mysql-connector.jar - [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driv= er] [com.mysql.jdbc.Driver] + [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driv= er] = +[com.mysql.jdbc.Driver] = - [input] Enter the JDBC URL for your database [jdbc:mysql:///test] [jdb= c:mysql:///test] + [input] Enter the JDBC URL for your database [jdbc:mysql:///test] = +[jdbc:mysql:///test] jdbc:mysql:///oc4jexample [input] Enter database username [sa] [sa] username [input] Enter database password [] [] password - [input] skipping input as property hibernate.default_schema.new has al= ready been set. + [input] skipping input as property hibernate.default_schema.new has al= ready = +been set. [input] Enter the database catalog name (it is OK to leave this blank)= [] [] = - [input] Are you working with tables that already exist in the database= ? [n] (y, [n], ) + [input] Are you working with tables that already exist in the database= ? [n] = + (y, [n], ) y - [input] Do you want to drop and recreate the database tables and data = in import.sql each time you deploy? [n] (y, [n], ) + [input] Do you want to drop and recreate the database tables and data = in = +import.sql each time you deploy? [n] (y, [n], ) n [input] Enter your ICEfaces home directory (leave blank to omit ICEfac= es) [] [] = -[propertyfile] Creating new property file: /home/jbalunas/workspace/jboss-= seam/seam-gen/build.properties +[propertyfile] Creating new property file: = +/home/jbalunas/workspace/jboss-seam/seam-gen/build.properties [echo] Installing JDBC driver jar to JBoss server [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/d= efault/lib [echo] Type 'seam create-project' to create the new project Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Weblogic.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/Weblogic.xml 2008-04-01 0= 1:41:46 UTC (rev 7782) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/Weblogic.xml 2008-04-01 0= 1:42:12 UTC (rev 7783) @@ -865,30 +865,41 @@ = setup: [echo] Welcome to seam-gen :-) - [input] Enter your Java project workspace (the directory that contains= your Seam projects) [C:/Projects] [C:/Projects] + [input] Enter your Java project workspace (the directory that contains= your = +Seam projects) [C:/Projects] [C:/Projects] /home/jbalunas/workspace - [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.= GA] [C:/Program Files/jboss-4.2.2.GA] + [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.= GA] = +[C:/Program Files/jboss-4.2.2.GA] /home/jbalunas/jboss/jboss-4.2.2.GA [input] Enter the project name [myproject] [myproject] weblogic-example [echo] Accepted project name as: weblogic_example - [input] Select a RichFaces skin (not applicable if using ICEFaces) [bl= ueSky] ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DE= FAULT) + [input] Select a RichFaces skin (not applicable if using ICEFaces) [bl= ueSky] + ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT) = - [input] Is this project deployed as an EAR (with EJB components) or a = WAR (with no EJB support) [ear] ([ear], war, ) + [input] Is this project deployed as an EAR (with EJB components) or a = WAR = +(with no EJB support) [ear] ([ear], war, ) war - [input] Enter the Java package name for your session beans [com.mydoma= in.weblogic_example] [com.mydomain.weblogic_example] + [input] Enter the Java package name for your session beans [org.jboss.= seam. +tutorial.weblogic.action] [org.jboss.seam.tutorial.weblogic.action] org.jboss.seam.tutorial.weblogic.action - [input] Enter the Java package name for your entity beans [org.jboss.s= eam.tutorial.weblogic.action] [org.jboss.seam.tutorial.weblogic.action] + [input] Enter the Java package name for your entity beans [org.jboss.s= eam. +tutorial.weblogic.model] [org.jboss.seam.tutorial.weblogic.model] org.jboss.seam.tutorial.weblogic.model - [input] Enter the Java package name for your test cases [org.jboss.sea= m.tutorial.weblogic.action.test] [org.jboss.seam.tutorial.weblogic.action.t= est] + [input] Enter the Java package name for your test cases [org.jboss.sea= m. +tutorial.weblogic.action.test] [org.jboss.seam.tutorial.weblogic.action.te= st] org.jboss.seam.tutorial.weblogic.test - [input] What kind of database are you using? [hsql] ([hsql], mysql, o= racle, postgres, mssql, db2, sybase, enterprisedb, h2) + [input] What kind of database are you using? [hsql] ([hsql], mysql, o= racle, + postgres, mssql, db2, sybase, enterprisedb, h2) = - [input] Enter the Hibernate dialect for your database [org.hibernate.d= ialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect] + [input] Enter the Hibernate dialect for your database [org.hibernate. +dialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect] = - [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.j= ar] [lib/hsqldb.jar] + [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.j= ar] = +[lib/hsqldb.jar] = - [input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriv= er] [org.hsqldb.jdbcDriver] + [input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriv= er] = + [org.hsqldb.jdbcDriver] = [input] Enter the JDBC URL for your database [jdbc:hsqldb:.] [jdbc:hsq= ldb:.] = @@ -900,13 +911,16 @@ = [input] Enter the database catalog name (it is OK to leave this blank)= [] [] = - [input] Are you working with tables that already exist in the database= ? [n] (y, [n], ) + [input] Are you working with tables that already exist in the database= ? [n] = + (y, [n], ) = - [input] Do you want to drop and recreate the database tables and data = in import.sql each time you deploy? [n] (y, [n], ) + [input] Do you want to drop and recreate the database tables and data = in = +import.sql each time you deploy? [n] (y, [n], ) = [input] Enter your ICEfaces home directory (leave blank to omit ICEfac= es) [] [] = -[propertyfile] Creating new property file: /rhdev/projects/jboss-seam/cvs-= head/jboss-seam/seam-gen/build.properties +[propertyfile] Creating new property file: = +/rhdev/projects/jboss-seam/cvs-head/jboss-seam/seam-gen/build.properties [echo] Installing JDBC driver jar to JBoss server [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/d= efault/lib [echo] Type 'seam create-project' to create the new project --===============9131280251386254005==-- From seam-commits at lists.jboss.org Tue Apr 1 08:21:31 2008 Content-Type: multipart/mixed; boundary="===============3138315335553425500==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7784 - trunk/examples/wiki/view. Date: Tue, 01 Apr 2008 08:21:31 -0400 Message-ID: --===============3138315335553425500== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-01 08:21:31 -0400 (Tue, 01 Apr 2008) New Revision: 7784 Modified: trunk/examples/wiki/view/message.xhtml Log: JBSEAM-2660 Modified: trunk/examples/wiki/view/message.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/message.xhtml 2008-04-01 01:42:12 UTC (rev 778= 3) +++ trunk/examples/wiki/view/message.xhtml 2008-04-01 12:21:31 UTC (rev 778= 4) @@ -37,16 +37,16 @@ =

Unhandled or wrapper exception:

= -
Top level exception : #{org.jboss.seam.exception.class.name}: #{org.j=
boss.seam.exception.message}
+
Top level exception : #{org.jboss.seam.caughtException.class.name}: #=
{org.jboss.seam.caughtException.message}
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-
+
 #{stackElement}
 
= - -
Root cause exception: #{wiki:unwrap(org.jboss.seam.exception).class.n=
ame}: #{wiki:unwrap(org.jboss.seam.exception).message}
+
+
Root cause exception: #{wiki:unwrap(org.jboss.seam.caughtException).c=
lass.name}: #{wiki:unwrap(org.jboss.seam.caughtException).message}
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-
+
 #{stackElement}
 
--===============3138315335553425500==-- From seam-commits at lists.jboss.org Tue Apr 1 08:39:06 2008 Content-Type: multipart/mixed; boundary="===============1636819522798142570==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7785 - trunk/ui/src/main/java/org/jboss/seam/ui/renderkit. Date: Tue, 01 Apr 2008 08:39:05 -0400 Message-ID: --===============1636819522798142570== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-01 08:39:05 -0400 (Tue, 01 Apr 2008) New Revision: 7785 Modified: trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/CommandButtonParamete= rRendererBase.java trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationNameRende= rerBase.java trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationPropagati= onRendererBase.java Log: Minor, get parameter name from component Modified: trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/CommandButtonP= arameterRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/CommandButtonParamet= erRendererBase.java 2008-04-01 12:21:31 UTC (rev 7784) +++ trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/CommandButtonParamet= erRendererBase.java 2008-04-01 12:39:05 UTC (rev 7785) @@ -26,7 +26,7 @@ = protected abstract LogProvider getLog(); = - protected abstract String getParameterName(); + protected abstract String getParameterName(UIComponent component); = @Override protected void doEncodeEnd(ResponseWriter writer, FacesContext context,= UIComponent component) @@ -56,13 +56,13 @@ "if (document.all)" + "{ " + // what follows should work with NN6 but doesn't = in M14" "input.type =3D 'hidden';" + - "input.name =3D '" + getParameterName() + "';" + = + "input.name =3D '" + getParameterName(component) + "'= ;" + = "input.value =3D '" + parameter.getValue() + "';" + "}" + "else if (document.getElementById) " + "{" + // so here is theNN6 workaround "input.setAttribute('type', 'hidden');" + = - "input.setAttribute('name', '" + getParameterName() += "');" + = + "input.setAttribute('name', '" + getParameterName(com= ponent) + "');" + = "input.setAttribute('value', '" + parameter.getValue(= ) + "');" + "}" + "form.appendChild(input);" + Modified: trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationNa= meRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationNameRend= ererBase.java 2008-04-01 12:21:31 UTC (rev 7784) +++ trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationNameRend= ererBase.java 2008-04-01 12:39:05 UTC (rev 7785) @@ -1,5 +1,7 @@ package org.jboss.seam.ui.renderkit; = +import javax.faces.component.UIComponent; + import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.ui.component.UIConversationName; @@ -12,7 +14,7 @@ { = private static LogProvider log =3D Logging.getLogProvider(ConversationN= ameRendererBase.class); - private static final String PARAMETER_NAME =3D "conversationName"; + = = @Override protected LogProvider getLog() @@ -21,9 +23,9 @@ } = @Override - protected String getParameterName() + protected String getParameterName(UIComponent component) { - return PARAMETER_NAME; + return ((UIConversationName) component).getName(); } = @Override Modified: trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationPr= opagationRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationPropagat= ionRendererBase.java 2008-04-01 12:21:31 UTC (rev 7784) +++ trunk/ui/src/main/java/org/jboss/seam/ui/renderkit/ConversationPropagat= ionRendererBase.java 2008-04-01 12:39:05 UTC (rev 7785) @@ -3,6 +3,8 @@ = = = +import javax.faces.component.UIComponent; + import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.ui.component.UIConversationPropagation; @@ -13,8 +15,8 @@ */ public class ConversationPropagationRendererBase extends CommandButtonPara= meterRendererBase { = + = private static LogProvider log =3D Logging.getLogProvider(ConversationP= ropagationRendererBase.class); - private static final String PARAMETER_NAME =3D "conversationPropagation= "; = @Override protected Class getComponentClass() @@ -29,8 +31,8 @@ } = @Override - protected String getParameterName() + protected String getParameterName(UIComponent component) { - return PARAMETER_NAME; + return ((UIConversationPropagation) component).getName(); } } \ No newline at end of file --===============1636819522798142570==-- From seam-commits at lists.jboss.org Tue Apr 1 13:14:49 2008 Content-Type: multipart/mixed; boundary="===============0394848197193686897==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7787 - in maven-plugins/trunk: seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam and 1 other directories. Date: Tue, 01 Apr 2008 13:14:49 -0400 Message-ID: --===============0394848197193686897== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-01 13:14:49 -0400 (Tue, 01 Apr 2008) New Revision: 7787 Removed: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/common-xhtml.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/common.xsl Modified: maven-plugins/trunk/seam-docbook-xslt/pom.xml maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-html.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-pdf.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/nochunk-html.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Merged Seam XSL customization layer with JBoss.org style so that all projec= ts can benefit. Merged features include: rendering of authors, editors, and= others in the authorgroup. Different placement of titles around examples, = figures etc. Non-graphic callout settings. New PDF title page and settings = to prevent blank pages. Monospaced programlisting font and custom TOC with = bold chapter titles. TOC section depth of 2 to match the HTML. In addition = the authorgroup, PRE.JSP and PRE.XHTML CSS configuration was moved to JBoss= .org CSS. Modified: maven-plugins/trunk/seam-docbook-xslt/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/pom.xml 2008-04-01 13:52:25 UTC (= rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/pom.xml 2008-04-01 17:14:49 UTC (= rev 7787) @@ -32,7 +32,7 @@ org.jboss jbossorg-docbook-xslt - 1.1.0-200803311754 + 1.1.0-SNAPSHOT @@ -71,4 +71,4 @@ = - \ No newline at end of file + Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/common-xhtml.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common-xhtml.xsl 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common-xhtml.xsl 2008-04-01 17:14:49 UTC (rev 7787) @@ -1,66 +0,0 @@ - - - - - - - - 1 - - - 1 - - - 0 - 0 - - - - figure after example before equation before table before procedure b= efore - - - - - - - 0 - - - 90 - - -
-
- - - - - -
- -
- - - - - -
- -
- - - - - -
-
-
- = -
Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/common.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common.xsl 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common.xsl 2008-04-01 17:14:49 UTC (rev 7787) @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ( - - ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - edited by - - - - and thanks to - - - - \ No newline at end of file Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-01 17:14:49 UTC (rev 7787) @@ -6,18 +6,16 @@ Author: Pete Muir --> = - = - - = - - = + = - + = Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-pdf.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-01 17:14:49 UTC (rev 7787) @@ -6,181 +6,21 @@ Author: Pete Muir --> = - = - = - 1 - - - - - - - 1 - - - 80 - - - 0 - - - - - - - - - ( - - ) - - - - - - - auto - - - - - figure after example before equation before table before procedure b= efore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = - - - - - #576C74 #885324 #BA5624 #BA5624 = - - - - - - - - - - 17.4cm - - - #D3D2D1 #D3D2D1 0.6pt @@ -223,57 +63,4 @@ = - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/nochunk-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-01 17:14:49 UTC (rev 7787) @@ -13,10 +13,9 @@ exclude-result-prefixes=3D"#default"> = - - = + = Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-01 13:52:25 UTC (rev 7786) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-01 17:14:49 UTC (rev 7787) @@ -120,15 +120,6 @@ } = /* - Simpler author style on contents page - */ -.authorgroup div { - margin-left: 10px; - margin-right: 10px; - margin-bottom: 15px; -} - -/* Make the seam version info into a title */ .releaseinfo { @@ -137,17 +128,6 @@ } = /* - For highlighting, looks very odd or broken at the 0px jboss.org styleshee= ts use - */ -PRE.JSP { - LINE-HEIGHT: 8px -} - -PRE.XHTML { - LINE-HEIGHT: 8px -} - -/* use sfwk.org tables */ .table-contents th { --===============0394848197193686897==-- From seam-commits at lists.jboss.org Tue Apr 1 13:31:16 2008 Content-Type: multipart/mixed; boundary="===============7322776745706664818==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7788 - maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframework. Date: Tue, 01 Apr 2008 13:31:16 -0400 Message-ID: --===============7322776745706664818== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-01 13:31:16 -0400 (Tue, 01 Apr 2008) New Revision: 7788 Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/support_doc.png Log: Community Documentation rather than Support Documentation Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/se= amframework/support_doc.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============7322776745706664818==-- From seam-commits at lists.jboss.org Tue Apr 1 15:51:59 2008 Content-Type: multipart/mixed; boundary="===============7131617702577514994==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7789 - in branches/Seam_2_0: doc/Seam_Reference_Guide/en and 1 other directory. Date: Tue, 01 Apr 2008 15:51:59 -0400 Message-ID: --===============7131617702577514994== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-04-01 15:51:58 -0400 (Tue, 01 Apr 2008) New Revision: 7789 Modified: branches/Seam_2_0/build/core.pom.xml branches/Seam_2_0/build/root.pom.xml branches/Seam_2_0/doc/Seam_Reference_Guide/en/Groovy.xml Log: JBSEAM-2491 Groovy 1.5.4 Modified: branches/Seam_2_0/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/core.pom.xml 2008-04-01 17:31:16 UTC (rev 7788) +++ branches/Seam_2_0/build/core.pom.xml 2008-04-01 19:51:58 UTC (rev 7789) @@ -139,7 +139,7 @@ = - groovy + org.codehaus.groovy groovy-all true Modified: branches/Seam_2_0/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/root.pom.xml 2008-04-01 17:31:16 UTC (rev 7788) +++ branches/Seam_2_0/build/root.pom.xml 2008-04-01 19:51:58 UTC (rev 7789) @@ -455,9 +455,9 @@ = - groovy + org.codehaus.groovy groovy-all - 1.1-BETA-1 + 1.5.4 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Groovy.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/Groovy.xml 2008-04-01 17:= 31:16 UTC (rev 7788) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/Groovy.xml 2008-04-01 19:= 51:58 UTC (rev 7789) @@ -48,7 +48,7 @@
Writing Groovy components = - As you should have noticed by now, Seam uses annotations= heavily. Be sure to use Groovy 1.1 Beta1 or + As you should have noticed by now, Seam uses annotations= heavily. Be sure to use Groovy 1.1 or above for annotation support. Here are some example of gro= ovy code used in a Seam application. =
@@ -94,13 +94,6 @@ accessed from Java as hotel.getCity(), th= e getters and setters being generated by the Groovy compiler. This type of syntactic sugar makes th= e entity code very concise. = - Some temporary gotchas: Groovy 1.1 Beta1 does not (y= et) support generics. One negative effect of - this is that entity relationships have no built-in typ= e information. It is necessary to use the - targetEntity attribute of the appropriate @*T= oMany annotation instead of simply - using a generic type definition like Collection&= lt;Entity>. For the same - reason, you won't be able to benefit from the very use= ful yet. The good - news is that support for generics is targeted for Groo= vy 1.1 (Groovy 1.1 Beta2 at the time of - writing).
=
--===============7131617702577514994==-- From seam-commits at lists.jboss.org Tue Apr 1 16:13:44 2008 Content-Type: multipart/mixed; boundary="===============2862750753319207871==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7790 - tags. Date: Tue, 01 Apr 2008 16:13:43 -0400 Message-ID: --===============2862750753319207871== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-01 16:13:43 -0400 (Tue, 01 Apr 2008) New Revision: 7790 Added: tags/JBoss_Seam_2_0_2_CR1/ Log: create JBoss_Seam_2_0_2_CR1 tag Copied: tags/JBoss_Seam_2_0_2_CR1 (from rev 7789, branches/Seam_2_0) --===============2862750753319207871==-- From seam-commits at lists.jboss.org Tue Apr 1 17:39:02 2008 Content-Type: multipart/mixed; boundary="===============3082564609490225220==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7791 - tags/JBoss_Seam_2_0_2_CR1. Date: Tue, 01 Apr 2008 17:39:02 -0400 Message-ID: --===============3082564609490225220== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-01 17:39:02 -0400 (Tue, 01 Apr 2008) New Revision: 7791 Modified: tags/JBoss_Seam_2_0_2_CR1/readme.txt Log: updated for 2.0.2.CR1 Modified: tags/JBoss_Seam_2_0_2_CR1/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- tags/JBoss_Seam_2_0_2_CR1/readme.txt 2008-04-01 20:13:43 UTC (rev 7790) +++ tags/JBoss_Seam_2_0_2_CR1/readme.txt 2008-04-01 21:39:02 UTC (rev 7791) @@ -1,6 +1,6 @@ JBoss Seam - Contextual Component framework for Java EE 5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D -version 2.0.1.GA, January 2008 +version 2.0.2.CR1, April 2008 = This software is distributed under the terms of the FSF Lesser Gnu Public License (see lgpl.txt). = --===============3082564609490225220==-- From seam-commits at lists.jboss.org Wed Apr 2 06:26:13 2008 Content-Type: multipart/mixed; boundary="===============4793429884319455890==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7792 - trunk/seam-gen/build-scripts. Date: Wed, 02 Apr 2008 06:26:13 -0400 Message-ID: --===============4793429884319455890== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-02 06:26:13 -0400 (Wed, 02 Apr 2008) New Revision: 7792 Modified: trunk/seam-gen/build-scripts/build-war.xml Log: JBSEAM-2319 Modified: trunk/seam-gen/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build-scripts/build-war.xml 2008-04-01 21:39:02 UTC (rev= 7791) +++ trunk/seam-gen/build-scripts/build-war.xml 2008-04-02 10:26:13 UTC (rev= 7792) @@ -45,7 +45,7 @@ --===============0131274569495382195==-- From seam-commits at lists.jboss.org Wed Apr 2 13:20:37 2008 Content-Type: multipart/mixed; boundary="===============3227329605137880857==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7795 - trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory. Date: Wed, 02 Apr 2008 13:20:37 -0400 Message-ID: --===============3227329605137880857== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: christian.bauer(a)jboss.com Date: 2008-04-02 13:20:37 -0400 (Wed, 02 Apr 2008) New Revision: 7795 Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/Bl= ogDAO.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/Bl= ogDirectory.java Log: SQL query optimization for blog entries Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirec= tory/BlogDAO.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logDAO.java 2008-04-02 14:16:44 UTC (rev 7794) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logDAO.java 2008-04-02 17:20:37 UTC (rev 7795) @@ -21,9 +21,17 @@ = import javax.persistence.EntityManager; import java.util.List; +import java.util.Map; +import java.util.HashMap; import java.io.Serializable; +import java.math.BigInteger; = /** + * Queries and database operations related to blog entries (mostly aggrega= tion queries). + * + * TODO: The queries (especially since they are all SQL) should be externa= lized to a hbm.xml file. However, + * building them dynamically here is less duplication for now. + * * @author Christian Bauer */ @Name("blogDAO") @@ -90,33 +98,27 @@ if (day !=3D null) query.setParameter("limitDay", day); } = - public List findBlogEntriesWithCommentCount(WikiDirectory s= tartDir, + public List findBlogEntriesInDirectory(WikiDirectory startD= ir, WikiDocument ig= noreDoc, Pager pager, Integer year, Integer month, Integer day, - String tag) { + String tag, + boolean countCo= mments) { = + final Map blogEntryMap =3D new HashMap(); + StringBuilder queryString =3D new StringBuilder(); - queryString.append("select").append(" "); for (int i =3D 0; i < getWikiDocumentSQLColumnNames().length; i++)= { queryString.append(getWikiDocumentSQLColumnNames()[i]); if (i !=3D getWikiDocumentSQLColumnNames().length-1) queryStri= ng.append(", "); } - queryString.append(", count(c3.NODE_ID) as COMMENT_COUNT").append(= " "); + queryString.append(", '0' as COMMENT_COUNT").append(" "); queryString.append(getblogEntryFromClause(tag)); - queryString.append("left outer join WIKI_NODE c1 on doc.NODE_ID = =3D c1.PARENT_NODE_ID").append(" "); - queryString.append("left outer join WIKI_COMMENT c2 on c1.NODE_ID = =3D c2.NODE_ID").append(" "); - queryString.append("left outer join WIKI_COMMENT c3 on c2.NS_THREA= D =3D c3.NS_THREAD").append(" "); queryString.append(getBlogEntryWhereClause(ignoreDoc, year, month,= day, tag)); = - queryString.append("group by").append(" "); - for (int i =3D 0; i < getWikiDocumentSQLColumnNames().length; i++)= { - queryString.append(getWikiDocumentSQLColumnNames()[i]); - if (i !=3D getWikiDocumentSQLColumnNames().length-1) queryStri= ng.append(", "); - } queryString.append(" "); queryString.append("order by doc2.CREATED_ON desc"); = @@ -135,15 +137,46 @@ public Object transformTuple(Object[] result, String[] ali= ases) { BlogEntry be =3D new BlogEntry(); be.setEntryDocument( (WikiDocument)result[0]); - be.setCommentCount( (Long)result[1] ); + blogEntryMap.put(be.getEntryDocument().getId(), be); /= / Put in map so we can attach comment count later return be; } public List transformList(List list) { return list; } } ); = - return (List)query.list(); + List result =3D (List)query.list(); = + if (countComments) { + // The risk here is that pager.getQueryMaxResults() is too lar= ge for the IN() operator of some DBs... + StringBuilder commentQueryString =3D new StringBuilder(); + commentQueryString.append("select doc.NODE_ID as DOC_ID, count= (c3.NODE_ID) as COMMENT_COUNT").append(" "); + commentQueryString.append("from WIKI_DOCUMENT doc").append(" "= ); + commentQueryString.append("left outer join WIKI_NODE c1 on doc= .NODE_ID =3D c1.PARENT_NODE_ID").append(" "); + commentQueryString.append("left outer join WIKI_COMMENT c2 on = c1.NODE_ID =3D c2.NODE_ID").append(" "); + commentQueryString.append("left outer join WIKI_COMMENT c3 on = c2.NS_THREAD =3D c3.NS_THREAD").append(" "); + commentQueryString.append("where doc.NODE_ID in (:blogEntriesI= ds)").append(" "); + commentQueryString.append("group by doc.NODE_ID"); + + SQLQuery commentQuery =3D getSession().createSQLQuery(commentQ= ueryString.toString()); + commentQuery.setComment("Finding comment count for blog entrie= s"); + commentQuery.addScalar("DOC_ID"); + commentQuery.addScalar("COMMENT_COUNT"); + commentQuery.setParameterList("blogEntriesIds", blogEntryMap.k= eySet()); + + commentQuery.setResultTransformer( + new ResultTransformer() { + public Object transformTuple(Object[] result, String[] a= liases) { + BlogEntry be =3D blogEntryMap.get( ((BigInteger)resu= lt[0]).longValue() ); + be.setCommentCount( ((BigInteger)result[1]).longValu= e() ); + return null; + } + public List transformList(List list) { return list; } + } + ); + commentQuery.list(); + } + + return result; } = public Long countBlogEntries(WikiDirectory startDir, WikiDocument igno= reDoc, Integer year, Integer month, Integer day, String tag) { Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirec= tory/BlogDirectory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logDirectory.java 2008-04-02 14:16:44 UTC (rev 7794) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logDirectory.java 2008-04-02 17:20:37 UTC (rev 7795) @@ -91,12 +91,13 @@ return; } blogEntries =3D - blogDAO.findBlogEntriesWithCommentCount( + blogDAO.findBlogEntriesInDirectory( currentDirectory, currentDocument, pager, year, month, day, - tag + tag, + true ); } = @@ -110,12 +111,12 @@ @Observer(value =3D {"Macro.render.blogRecentEntries", "PersistenceCon= text.filterReset"}, create =3D false) public void loadRecentBlogEntries() { List recentBlogEntriesNonAggregated =3D - blogDAO.findBlogEntriesWithCommentCount( + blogDAO.findBlogEntriesInDirectory( currentDirectory, currentDocument, new Pager(prefs.getRecentEntriesItems()), null, null, null, - null + null, false ); = // Now aggregate by day --===============3227329605137880857==-- From seam-commits at lists.jboss.org Wed Apr 2 14:20:10 2008 Content-Type: multipart/mixed; boundary="===============0044304633572461955==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7796 - branches/Seam_2_0/seam-gen/build-scripts. Date: Wed, 02 Apr 2008 14:20:09 -0400 Message-ID: --===============0044304633572461955== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-04-02 14:20:09 -0400 (Wed, 02 Apr 2008) New Revision: 7796 Modified: branches/Seam_2_0/seam-gen/build-scripts/build-war.xml Log: JBSEAM-2319 Ant 1.7.0 does not detect groovy classes properly Modified: branches/Seam_2_0/seam-gen/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/build-scripts/build-war.xml 2008-04-02 17:20= :37 UTC (rev 7795) +++ branches/Seam_2_0/seam-gen/build-scripts/build-war.xml 2008-04-02 18:20= :09 UTC (rev 7796) @@ -45,7 +45,7 @@ = - - = + + + + + + + + + + + + + + mysql @@ -61,13 +85,4 @@ = - - - - - Modified: trunk/examples/wiki/src/etc/META-INF/components-prod.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-04-03 09:= 16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-04-03 11:= 17:41 UTC (rev 7806) @@ -39,11 +39,26 @@ = = - - = + + + + + + + + + org.hibernate.ejb.HibernatePersistence java:/wikiDatasource - + = @@ -39,8 +39,8 @@ = - - + + = Modified: trunk/examples/wiki/src/etc/META-INF/persistence-prod-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/persistence-prod-war.xml 2008-04-0= 3 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/etc/META-INF/persistence-prod-war.xml 2008-04-0= 3 11:17:41 UTC (rev 7806) @@ -9,7 +9,7 @@ org.hibernate.ejb.HibernatePersistence java:/wikiDatasource - + = @@ -34,8 +34,8 @@ = - - + + = Modified: trunk/examples/wiki/src/etc/META-INF/persistence-test-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/persistence-test-war.xml 2008-04-0= 3 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/etc/META-INF/persistence-test-war.xml 2008-04-0= 3 11:17:41 UTC (rev 7806) @@ -11,7 +11,7 @@ = = @@ -50,10 +50,6 @@ value=3D"org.jboss.seam.wiki.core.nestedset.listener= .NestedSetPostInsertEventListener"/> - = = Added: trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties = (rev 0) +++ trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties 2008-04= -03 11:17:41 UTC (rev 7806) @@ -0,0 +1 @@ +org.jboss.seam.deployment.annotationTypes=3Dorg.jboss.seam.wiki.preference= s.annotations.Preferences \ No newline at end of file Modified: trunk/examples/wiki/src/etc/WEB-INF/faces-config.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/WEB-INF/faces-config.xml 2008-04-03 09:16:3= 0 UTC (rev 7805) +++ trunk/examples/wiki/src/etc/WEB-INF/faces-config.xml 2008-04-03 11:17:4= 1 UTC (rev 7806) @@ -1,8 +1,5 @@ - + = @@ -13,8 +10,22 @@ = - org.jboss.seam.wiki.core.ui.UIPlugin - org.jboss.seam.wiki.core.ui.UIPlugin + org.jboss.seam.wiki.core.ui.UIPlugin + org.jboss.seam.wiki.core.ui.UIPlugin = + + + HTML_BASIC + + org.jboss.seam.ui.Cache + + org.jboss.seam.ui.CacheRenderer + + + org.jboss.seam.wiki.core.ui.WikiPageFragmentCacheRenderer + + + + Modified: trunk/examples/wiki/src/etc/WEB-INF/pages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-04-03 09:16:30 UTC (= rev 7805) +++ trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-04-03 11:17:41 UTC (= rev 7806) @@ -380,7 +380,10 @@ - #{messages['lacewiki.msg.FatalError']} (#{wikiInit.adminCo= ntact}) + #{messages['lacewiki.msg.FatalError']} (#{wikiInit.adminCo= ntact}): + '#{org.jboss.seam.handledException.class.name}, + #{org.jboss.seam.handledException.message} + in #{org.jboss.seam.handledException.stackTrace[0].classNa= me}@#{org.jboss.seam.handledException.stackTrace[0].lineNumber}' Modified: trunk/examples/wiki/src/etc/ehcache.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/ehcache.xml 2008-04-03 09:16:30 UTC (rev 78= 05) +++ trunk/examples/wiki/src/etc/ehcache.xml 2008-04-03 11:17:41 UTC (rev 78= 06) @@ -82,9 +82,6 @@ timeToIdleSeconds=3D"120" timeToLiveSeconds=3D"120" overflowToDisk=3D"false" - maxElementsOnDisk=3D"10000000" - diskPersistent=3D"false" - diskExpiryThreadIntervalSeconds=3D"120" memoryStoreEvictionPolicy=3D"LRU" /> = @@ -94,13 +91,11 @@ overflowToDisk=3D"false" timeToIdleSeconds=3D"300" timeToLiveSeconds=3D"600" - diskPersistent=3D"false" memoryStoreEvictionPolicy=3D"LRU"/> = = = = = = = = = = + + \ No newline at end of file Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-03 09:1= 6:30 UTC (rev 7805) +++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-03 11:1= 7:41 UTC (rev 7806) @@ -672,7 +672,7 @@ lacewiki.msg.ImportOk=3DCreated file '{0}' in current directory. lacewiki.msg.OptimisticLockError=3DSomeone modified the same record while = you were editing it. Your workspace has been closed. lacewiki.msg.AccessDenied=3DAccess Denied -lacewiki.msg.FatalError=3DRequest failed, please check the application log= or contact the administrator! +lacewiki.msg.FatalError=3DRequest failed, please check the application log= or contact the administrator lacewiki.msg.Trash.Emptied=3DAll items in the trash have been permanently = deleted. lacewiki.msg.AutomaticallyGeneratedFeed=3DAggregated Feed = Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/feed/F= eedConnectorPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/feed/FeedCo= nnectorPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/feed/FeedCo= nnectorPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.connectors.feed; - -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.annotations.Name; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("feedConnectorPreferencesSupport") -public class FeedConnectorPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(FeedConnectorPreferences.class) ); - }}; - } -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/jira/J= iraConnectorPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/jira/JiraCo= nnectorPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/connectors/jira/JiraCo= nnectorPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.connectors.jira; - -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.annotations.Name; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("jiraConnectorPreferencesSupport") -public class JiraConnectorPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(JiraConnectorPreferences.class) ); - }}; - } -} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Docu= mentHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -45,7 +45,7 @@ private WikiDocument historicalCopy; private Boolean minorRevision; private String formContent; - Set linkTargets; + private Set linkTargets; private boolean enabledPreview =3D false; private boolean pushOnFeeds =3D false; private boolean pushOnSiteFeed =3D false; @@ -333,7 +333,7 @@ /* -------------------------- Public Features ------------------------= ------ */ = // TODO: We need to duplicate this here, otherwise it will only valida= ted on persist(): http://jira.jboss.com/jira/browse/JBSEAM-2671 - @Length(min =3D 0, max =3D 32768) + @Length(min =3D 0, max =3D 32767) public String getFormContent() { // Load the document content and resolve links if (formContent =3D=3D null) syncInstanceToFormContent(getParentNo= de()); Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs= /CorePreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/Core= PreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/Core= PreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,22 +0,0 @@ -package org.jboss.seam.wiki.core.action.prefs; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.HashSet; -import java.util.Set; - -(a)Name("corePreferencesSupport") -public class CorePreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(WikiPreferences.class) ); - add( createPreferenceEntity(UserManagementPreferences.class) ); - add( createPreferenceEntity(DocumentEditorPreferences.class) ); - add( createPreferenceEntity(CommentsPreferences.class) ); - }}; - } - -} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/pref= s/UserManagementPreferences.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/User= ManagementPreferences.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/prefs/User= ManagementPreferences.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -58,7 +58,7 @@ visibility =3D PreferenceVisibility.SYSTEM, editorIncludeName =3D "AdaptiveTextInput" ) - @Length(min =3D 0, max =3D 1024) + @Length(min =3D 0, max =3D 1023) private String homepageDefaultContent; = public String getActivationCodeSalt() { Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheM= anager.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheMana= ger.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheMana= ger.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,74 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.cache; + +import org.jboss.seam.annotations.*; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.Component; +import org.jboss.seam.ScopeType; +import org.jboss.seam.contexts.Contexts; +import org.jboss.seam.log.Logging; +import org.jboss.seam.log.LogProvider; +import net.sf.ehcache.CacheManager; +import net.sf.ehcache.management.ManagementService; + +import javax.management.MBeanServer; +import java.lang.management.ManagementFactory; + +/** + * Seam-managed EHCache backend, starts and stops one CacheManager per app= lication. + * + * @author Christian Bauer + */ +(a)BypassInterceptors +public class EHCacheManager { + + private static final LogProvider log =3D Logging.getLogProvider(EHCach= eManager.class); + + private CacheManager manager; + private boolean registerMonitoring =3D true; + + public boolean isRegisterMonitoring() { + return registerMonitoring; + } + + public void setRegisterMonitoring(boolean registerMonitoring) { + this.registerMonitoring =3D registerMonitoring; + } + + @Create + public void initCacheManager() { + log.info("initalizing EHCacheManager from /ehcache.xml"); + manager =3D CacheManager.create(); + + if (isRegisterMonitoring()) { + // Register statistics MBean of EHCache on the current MBean s= erver + log.info("registering EHCache monitoring MBean"); + MBeanServer mBeanServer =3D ManagementFactory.getPlatformMBean= Server(); + ManagementService.registerMBeans(manager, mBeanServer, false, = false, false, true); + } + } + + @Destroy + public void shutdownCacheManager() { + log.info("shutting down EHCacheManager"); + manager.shutdown(); + manager =3D null; + } + + @Unwrap + public CacheManager getCacheManager() { + return manager; + } + + public static CacheManager instance() { + if (!Contexts.isApplicationContextActive()) { + throw new IllegalStateException("No active application scope"); + } + return (CacheManager)Component.getInstance("ehCacheManager"); + } +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheP= rovider.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheProv= ider.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/EHCacheProv= ider.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,61 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.cache; + +import org.hibernate.cache.*; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.util.Properties; + +import net.sf.ehcache.CacheManager; + +/** + * Cache provider for Hibernate that utilizes Seam-managed EHCache backend. + * + * @author Christian Bauer + */ +public class EHCacheProvider implements CacheProvider { + + private static final Log log =3D LogFactory.getLog(EHCacheProvider.cla= ss); + + protected CacheManager getCacheManager() { + return EHCacheManager.instance(); + } + + public void start(Properties properties) throws CacheException { + // NOOP, started by EHCacheManager Seam component + } + + public void stop() { + // NOOP, destroyed by EHCacheManager Seam component + } + + public Cache buildCache(String name, Properties properties) throws Cac= heException { + try { + net.sf.ehcache.Cache cache =3D getCacheManager().getCache(name= ); + if (cache =3D=3D null) { + log.warn("Could not find configuration [" + name + "]; usi= ng defaults."); + getCacheManager().addCache(name); + cache =3D getCacheManager().getCache(name); + log.debug("started EHCache region: " + name); + } + return new EhCache(cache); + } + catch (net.sf.ehcache.CacheException e) { + throw new CacheException(e); + } + } + + public long nextTimestamp() { + return Timestamper.next(); + } + + public boolean isMinimalPutsEnabledByDefault() { + return false; + } +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFrag= mentCache.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmen= tCache.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/cache/PageFragmen= tCache.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,78 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.cache; + +import net.sf.ehcache.Cache; +import net.sf.ehcache.CacheManager; +import net.sf.ehcache.Element; +import org.jboss.seam.Component; +import org.jboss.seam.ScopeType; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.contexts.Contexts; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; + +import java.io.Serializable; + +/** + * Override Seam built-in pojoCache component with EHCache implementation. + * + * @author Christian Bauer + */ + +(a)BypassInterceptors +public class PageFragmentCache { + + private static final LogProvider log =3D Logging.getLogProvider(PageFr= agmentCache.class); + + public static final String CACHE_REGION_NAME =3D "WikiPageFragmentCach= e"; + + // This is threadsafe + Cache cache; + + @Create + public void start() throws Exception { + + log.info("starting wiki page fragment cache region"); + try { + CacheManager manager =3D EHCacheManager.instance(); + + cache =3D EHCacheManager.instance().getCache(CACHE_REGION_NAME= ); + if (cache =3D=3D null) { + log.warn("Could not find configuration [" + CACHE_REGION_N= AME + "]; using defaults."); + manager.addCache(CACHE_REGION_NAME); + cache =3D manager.getCache(CACHE_REGION_NAME); + log.debug("started EHCache region: " + CACHE_REGION_NAME); + } + + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + public void put(Serializable key, String content) { + cache.put(new Element(key, content)); + } + + public String get(Serializable key) { + Element result =3D cache.get(key); + return result !=3D null ? (String)result.getValue() : null; + } + + public void remove(Serializable key) { + cache.remove(key); + } + + public static PageFragmentCache instance() { + if (!Contexts.isApplicationContextActive()) { + throw new IllegalStateException("No active application scope"); + } + return (PageFragmentCache) Component.getInstance(PageFragmentCache= .class, ScopeType.APPLICATION); + } + +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Datab= aseObjects.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/DatabaseObj= ects.hbm.xml 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/DatabaseObj= ects.hbm.xml 2008-04-03 11:17:41 UTC (rev 7806) @@ -46,71 +46,6 @@ = - - = = @@ -119,14 +54,14 @@ alter table WIKI_TAG drop foreign key FK_WIKI_TAG_FILE_ID; - + alter table WIKI_TAG add constraint FK_WIKI_TAG_FILE_ID foreig= n key (FILE_ID) references WIKI_FILE(NODE_ID) on delete cascade; - + = @@ -134,14 +69,14 @@ alter table WIKI_FILE_LINK drop foreign key FK_SOURCE_WIKI_FIL= E_ID; - + alter table WIKI_FILE_LINK add constraint FK_SOURCE_WIKI_FILE_= ID foreign key (SOURCE_WIKI_FILE_ID) references WIKI_FILE(NODE_ID) on delet= e cascade; - + = @@ -149,128 +84,24 @@ alter table WIKI_FILE_LINK drop foreign key FK_TARGET_WIKI_FIL= E_ID; - + alter table WIKI_FILE_LINK add constraint FK_TARGET_WIKI_FILE_= ID foreign key (TARGET_WIKI_FILE_ID) references WIKI_FILE(NODE_ID) on delet= e cascade; - + = - - - create index IDX_PREFERENCE_ENTITY_NAME on PREFERENCE (ENTITY_= NAME) drop index IDX_PREFERENCE_ENTITY_NAME - + = @@ -280,7 +111,7 @@ drop index IDX_PREFERENCE_ENTITY_PROPERTY_NAME - + = @@ -290,7 +121,7 @@ drop index IDX_WIKI_NODE_RATING - + = @@ -300,7 +131,7 @@ drop index IDX_WIKI_NODE_READ_ACCESS_LEVEL - + = @@ -310,7 +141,7 @@ drop index IDX_WIKI_NODE_CREATED_ON - + = @@ -320,7 +151,7 @@ drop index IDX_WIKI_DIRECTORY_NS_LEFT - + = @@ -330,7 +161,7 @@ drop index IDX_WIKI_DIRECTORY_NS_RIGHT - + = @@ -340,7 +171,7 @@ drop index IDX_WIKI_DIRECTORY_NS_THREAD - + = @@ -350,7 +181,7 @@ drop index IDX_WIKI_COMMENT_NS_LEFT - + = @@ -360,7 +191,7 @@ drop index IDX_WIKI_COMMENT_NS_RIGHT - + = @@ -370,7 +201,7 @@ drop index IDX_WIKI_COMMENT_NS_THREAD - + = @@ -380,7 +211,7 @@ drop index IDX_WIKI_DOCUMENT_HEADER_MACROS - + = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Feed.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Feed.java 2= 008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Feed.java 2= 008-04-03 11:17:41 UTC (rev 7806) @@ -23,16 +23,16 @@ @Column(name =3D "FEED_ID") private Long id; = - @Column(name =3D "FEED_LINK", nullable =3D false, length =3D 1024) + @Column(name =3D "FEED_LINK", nullable =3D false, length =3D 1023) private String link; = - @Column(name =3D "TITLE", nullable =3D false, length =3D 1024) + @Column(name =3D "TITLE", nullable =3D false, length =3D 1023) private String title; = - @Column(name =3D "DESCRIPTION", nullable =3D true, length =3D 1024) + @Column(name =3D "DESCRIPTION", nullable =3D true, length =3D 1023) private String description; = - @Column(name =3D "AUTHOR", nullable =3D false, length =3D 1024) + @Column(name =3D "AUTHOR", nullable =3D false, length =3D 1023) private String author; = @Column(name =3D "PUBLISHED_ON", nullable =3D false, updatable =3D fal= se) Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedE= ntry.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.j= ava 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.j= ava 2008-04-03 11:17:41 UTC (rev 7806) @@ -32,11 +32,11 @@ protected int version =3D 0; = @Column(name =3D "LINK", nullable =3D false) - @Length(min =3D 3, max =3D 1024) + @Length(min =3D 3, max =3D 1023) private String link; = @Column(name =3D "TITLE", nullable =3D false) - @Length(min =3D 3, max =3D 1024) + @Length(min =3D 3, max =3D 1023) private String title; = @Transient @@ -60,7 +60,7 @@ private String descriptionType; = @Column(name =3D "DESCRIPTION_VALUE", nullable =3D false) - @Length(min =3D 1, max =3D 32768) + @Length(min =3D 1, max =3D 32767) private String descriptionValue; = public FeedEntry() {} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Histo= ricalWikiFile.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/HistoricalW= ikiFile.hbm.xml 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/HistoricalW= ikiFile.hbm.xml 2008-04-03 11:17:41 UTC (rev 7806) @@ -25,7 +25,7 @@ = - + = = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/LinkP= rotocol.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/LinkProtoco= l.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/LinkProtoco= l.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -34,7 +34,7 @@ private String prefix; = @Column(name =3D "LINK", nullable =3D false) - @Length(min =3D 3, max =3D 1000) + @Length(min =3D 3, max =3D 1023) private String link; = public LinkProtocol() {} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/UserP= rofile.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/UserProfile= .java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/UserProfile= .java 2008-04-03 11:17:41 UTC (rev 7806) @@ -28,11 +28,11 @@ @Column(name =3D "CREATED_ON", nullable =3D false, updatable =3D false) private Date createdOn =3D new Date(); = - @Length(min =3D 0, max =3D 1000) + @Length(min =3D 0, max =3D 1023) @Column(name =3D "BIO", nullable =3D true) private String bio; = - @Length(min =3D 0, max =3D 1000) + @Length(min =3D 0, max =3D 1023) @Column(name =3D "WEBSITE", nullable =3D true) private String website; = @@ -40,11 +40,11 @@ @Column(name =3D "LOCATION", nullable =3D true) private String location; = - @Length(min =3D 0, max =3D 1000) + @Length(min =3D 0, max =3D 1023) @Column(name =3D "OCCUPATION", nullable =3D true) private String occupation; = - @Length(min =3D 0, max =3D 1000) + @Length(min =3D 0, max =3D 1023) @Column(name =3D "SIGNATURE", nullable =3D true) private String signature; = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiC= omment.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiComment= .java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiComment= .java 2008-04-03 11:17:41 UTC (rev 7806) @@ -16,7 +16,6 @@ @Entity @Table(name =3D "WIKI_COMMENT") @org.hibernate.annotations.ForeignKey(name =3D "FK_WIKI_COMMENT_NODE_ID") -//TODO: @org.hibernate.annotations.OnDelete(action =3D org.hibernate.annot= ations.OnDeleteAction.CASCADE) = @org.hibernate.search.annotations.Indexed @Searchable(description =3D "Comments") @@ -43,11 +42,11 @@ private String fromUserEmail; = @Column(name =3D "FROM_USER_HOMEPAGE", nullable =3D true) - @Length(min =3D 0, max =3D 1000) + @Length(min =3D 0, max =3D 1023) private String fromUserHomepage; = @Column(name =3D "CONTENT", nullable =3D false) - @Length(min =3D 1, max =3D 32768) + @Length(min =3D 1, max =3D 32767) @Basic(fetch =3D FetchType.LAZY) // Lazy loaded through bytecode instr= umentation @org.hibernate.search.annotations.Field(index =3D org.hibernate.search= .annotations.Index.TOKENIZED) private String content; Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiD= ocument.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocumen= t.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocumen= t.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -31,24 +31,24 @@ private boolean enableCommentsOnFeeds =3D true; = @Column(name =3D "HEADER", nullable =3D true) - @Length(min =3D 0, max =3D 4000) + @Length(min =3D 0, max =3D 1023) private String header; - @Column(name =3D "HEADER_MACROS", nullable =3D true, length =3D 4000) + @Column(name =3D "HEADER_MACROS", nullable =3D true, length =3D 1023) private String headerMacrosString; = @Column(name =3D "CONTENT", nullable =3D false) - @Length(min =3D 0, max =3D 32768) + @Length(min =3D 0, max =3D 32767) @Basic(fetch =3D FetchType.LAZY) // Lazy loaded through bytecode instr= umentation @org.hibernate.search.annotations.Field(index =3D org.hibernate.search= .annotations.Index.TOKENIZED) @Searchable(description =3D "Content") private String content; - @Column(name =3D "CONTENT_MACROS", nullable =3D true, length =3D 4000) + @Column(name =3D "CONTENT_MACROS", nullable =3D true, length =3D 1023) private String contentMacrosString; = @Column(name =3D "FOOTER", nullable =3D true) - @Length(min =3D 0, max =3D 4000) + @Length(min =3D 0, max =3D 1023) private String footer; - @Column(name =3D "FOOTER_MACROS", nullable =3D true, length =3D 4000) + @Column(name =3D "FOOTER_MACROS", nullable =3D true, length =3D 1023) private String footerMacrosString; = public WikiDocument() { Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences= /WikiPreferenceValue.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiP= referenceValue.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiP= referenceValue.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -54,7 +54,7 @@ @Column( name=3D"DOUBLE_VALUE"), @Column( name=3D"TIMESTAMP_VALUE"), @Column( name=3D"BOOLEAN_VALUE"), - @Column( name=3D"STRING_VALUE", length =3D 1024) + @Column( name=3D"STRING_VALUE", length =3D 1023) } ) private Object value; Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converte= rs.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.jav= a 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.jav= a 2008-04-03 11:17:41 UTC (rev 7806) @@ -10,7 +10,6 @@ import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Unwrap; import org.jboss.seam.wiki.core.model.Role; import org.jboss.seam.wiki.core.search.metamodel.SearchRegistry; import org.jboss.seam.wiki.core.search.metamodel.SearchableEntity; @@ -101,66 +100,4 @@ } } = - - @Name("treeNodeAdapter") - public static class TreeNodeAdapter { - - /* TODO: Fixme or deleteme - @Factory(value =3D "writableDirectoryTree", scope =3D ScopeType.CO= NVERSATION, autoCreate =3D true) - public TreeNode loadWritableDirectoryTree() { - Directory wikiroot =3D (Directory) Component.getInstance("rest= rictedWikiRoot"); - return new WikiTreeNode(wikiroot, true); - } - @Factory(value =3D "readableDirectoryTree", scope =3D ScopeType.CO= NVERSATION, autoCreate =3D true) - public TreeNode loadReadableDirectoryTree() { - Directory wikiroot =3D (Directory) Component.getInstance("rest= rictedWikiRoot"); - return new WikiTreeNode(wikiroot, false); - } - class WikiTreeNode implements TreeNode { - boolean onlyWritableChildren; - private Node wikiNode; - private Map childrenMap =3D new LinkedHashMa= p(); - - public WikiTreeNode(Node wikiNode, boolean onlyWritableChildre= n) { - if (wikiNode !=3D null) { - this.wikiNode =3D wikiNode; - this.onlyWritableChildren =3D onlyWritableChildren; - for (Node childNode : wikiNode.getChildren()) { - if (!WikiUtil.isDirectory(childNode)) continue; - if (onlyWritableChildren && !Identity.instance().h= asPermission("Node", "edit", childNode)) continue; - childrenMap.put(childNode.getId(), new WikiTreeNod= e(childNode, onlyWritableChildren)); - } - } - } - public Object getData() { return wikiNode; } - public void setData(Object node) { this.wikiNode =3D (Node)nod= e; } - - public boolean isLeaf() { - return childrenMap.size() =3D=3D 0; - } - public Iterator getChildren() { - return childrenMap.entrySet().iterator(); - } - public TreeNode getChild(Object identifier) { - return childrenMap.get( identifier ); - } - public void addChild(Object identifier, TreeNode treeNode) { - childrenMap.put(identifier, treeNode); - } - public void removeChild(Object identifier) { - // Immutable - } - - public TreeNode getParent() { - return new WikiTreeNode(wikiNode.getParent(), onlyWritable= Children); - } - - public void setParent(TreeNode treeNode) { - // Immutable - } - } - */ - - } - } Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFra= gmentCacheRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragme= ntCacheRenderer.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiPageFragme= ntCacheRenderer.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,76 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.ui; + +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.ui.component.UICache; +import org.jboss.seam.ui.util.cdk.RendererBase; +import org.jboss.seam.wiki.core.cache.PageFragmentCache; + +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.context.ResponseWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.io.Serializable; + +/** + * Implementation of <s:cache> renderer based on EHCache. + * + * @author Christian Bauer + */ +public class WikiPageFragmentCacheRenderer extends RendererBase { + + private static final LogProvider log =3D Logging.getLogProvider(UICach= e.class); + + @Override + protected Class getComponentClass() { + return UICache.class; + } + + @Override + protected void doEncodeChildren(ResponseWriter writer, FacesContext co= ntext, UIComponent component) throws IOException { + UICache cache =3D (UICache) component; + if (cache.isEnabled()) { + String key =3D cache.getKey(); + String cachedContent =3D getFromCache(key); + if (cachedContent =3D=3D null) { + log.debug("rendering from scratch: " + key); + StringWriter stringWriter =3D new StringWriter(); + ResponseWriter cachingResponseWriter =3D writer.cloneWithW= riter(stringWriter); + context.setResponseWriter(cachingResponseWriter); + renderChildren(context, component); + context.setResponseWriter(writer); + String output =3D stringWriter.getBuffer().toString(); + writer.write(output); + putInCache(key, output); + } else { + log.debug("rendering from cache: " + key); + writer.write(cachedContent); + } + } else { + log.debug("cached rendering is disabled for: " + cache.getKey(= )); + renderChildren(context, component); + } + } + + + @Override + public boolean getRendersChildren() { + return true; + } + + public static void putInCache(Serializable key, String content) { + PageFragmentCache.instance().put(key, content); + } + + public static String getFromCache(Serializable key) { + return PageFragmentCache.instance().get(key); + } + +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiSecu= rityEvents.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiSecurityEv= ents.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiSecurityEv= ents.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -15,6 +15,8 @@ import javax.faces.application.FacesMessage; = /** + * Overrides the "login failed" message and turns it into a WARN (we don't= want INFO here). + * * @author Christian Bauer */ @Name("org.jboss.seam.security.facesSecurityEvents") Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiText= Editor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor= .java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor= .java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +1,24 @@ package org.jboss.seam.wiki.core.ui; = -import org.jboss.seam.annotations.remoting.WebRemote; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; import org.jboss.seam.ScopeType; import org.jboss.seam.faces.FacesMessages; import org.jboss.seam.ui.validator.FormattedTextValidator; = -import java.util.Map; -import java.util.HashMap; import java.io.Serializable; = import javax.faces.validator.ValidatorException; import javax.faces.application.FacesMessage; = /** - * Store UI status of wiki text editor. + * Utility class bound to Wiki text editor UI. *

* * @author Christian Bauer */ @Name("wikiTextEditor") -(a)Scope(ScopeType.CONVERSATION) // TODO: Should be PAGE but doesn't work = with Seam remoting! +(a)Scope(ScopeType.CONVERSATION) public class WikiTextEditor implements Serializable { = public void validate(String textEditorId, String value) { Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirect= ory/BlogPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,28 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.blogdirectory; - -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.annotations.Name; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("blogPreferencesSupport") -public class BlogPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(BlogPreferences.class) ); - }}; - } - -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/Di= rMenuPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenu= PreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenu= PreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,48 +0,0 @@ -package org.jboss.seam.wiki.plugin.dirMenu; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.HashSet; -import java.util.Set; - -(a)Name("dirMenuPreferencesSupport") -public class DirMenuPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(DirMenuPreferences.class) ); - }}; - } - -/* TODO: Too complicated for now... - - @Name("dirMenuQualityPreferenceValueTemplate") - @Scope(ScopeType.CONVERSATION) - public static class DirMenuQualityTemplate implements PreferenceValueT= emplate { - - public List getTemplateValues() { - return Collections.emptyList(); - } - - public String getConverterComponentName() { - return "dirMenuQualityConverter"; - } - } - - @Name("dirMenuQualityConverter") - @org.jboss.seam.annotations.faces.Converter - public static class DirMenuQualityConverter implements Converter, Seri= alizable { - - public Object getAsObject(javax.faces.context.FacesContext facesCo= ntext, UIComponent uiComponent, String s) { - return s !=3D null ? DirMenuQuality.valueOf(s) : null; - } - - public String getAsString(javax.faces.context.FacesContext facesCo= ntext, UIComponent uiComponent, Object o) { - return o instanceof DirMenuQuality ? ((DirMenuQuality)o).name(= ) : null; - } - - } - */ -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirToc/Dir= TocPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirToc/DirTocPr= eferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirToc/DirTocPr= eferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.dirToc; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; - -import java.util.Set; -import java.util.HashSet; - -/** - * @author Christian Bauer - */ -(a)Name("dirTocPreferencesSupport") -public class DirTocPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(DirTocPreferences.class) ); - }}; - } -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/docPager/D= ocPagerPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/docPager/DocPag= erPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/docPager/DocPag= erPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,28 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.docPager; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("docPagerPreferencesSupport") -public class DocPagerPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(DocPagerPreferences.class) ); - }}; - } - -} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggre= gator/FeedAggregatorPreferences.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/= FeedAggregatorPreferences.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/= FeedAggregatorPreferences.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -34,7 +34,7 @@ visibility =3D {PreferenceVisibility.INSTANCE}, editorIncludeName =3D "AdaptiveTextInput" ) - @Length(min =3D 0, max =3D 4000) + @Length(min =3D 0, max =3D 4096) private String urls; = @PreferenceProperty( Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggreg= ator/FeedAggregatorPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/= FeedAggregatorPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/= FeedAggregatorPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.feedAggregator; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("feedAggregatorPreferencesSupport") -public class FeedAggregatorPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(FeedAggregatorPreferences.class) ); - }}; - } -} Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers= /FeedTeasersFeedPreferenceValueTemplate.java (from rev 7541, trunk/examples= /wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/FeedTeasersPreference= sSupport.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/Fee= dTeasersFeedPreferenceValueTemplate.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/Fee= dTeasersFeedPreferenceValueTemplate.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,42 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.plugin.feedTeasers; + +import org.jboss.seam.ScopeType; +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.wiki.core.feeds.FeedDAO; +import org.jboss.seam.wiki.core.model.Feed; +import org.jboss.seam.wiki.preferences.PreferenceValueTemplate; + +import java.io.Serializable; +import java.util.List; + +/** + * @author Christian Bauer + */ +(a)Name("feedTeasersFeedPreferenceValueTemplate") +(a)Scope(ScopeType.CONVERSATION) +public class FeedTeasersFeedPreferenceValueTemplate implements PreferenceV= alueTemplate, Serializable { + + @In + FeedDAO feedDAO; + + List feedIdentifiers; + + public List getTemplateValues() { + if (feedIdentifiers =3D=3D null) { + List feeds =3D feedDAO.findAllFeeds(); + for (Feed feed : feeds) { + feedIdentifiers.add(feed.getId().toString()); + } + } + return feedIdentifiers; + } + +} Property changes on: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugi= n/feedTeasers/FeedTeasersFeedPreferenceValueTemplate.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeaser= s/FeedTeasersPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/Fee= dTeasersPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedTeasers/Fee= dTeasersPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,57 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.feedTeasers; - -import org.jboss.seam.ScopeType; -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.wiki.core.feeds.FeedDAO; -import org.jboss.seam.wiki.core.model.Feed; -import org.jboss.seam.wiki.preferences.PreferenceValueTemplate; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.io.Serializable; - -/** - * @author Christian Bauer - */ -(a)Name("feedTeasersPreferencesSupport") -public class FeedTeasersPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(FeedTeasersPreferences.class) ); - }}; - } - - @Name("feedTeasersFeedPreferenceValueTemplate") - @Scope(ScopeType.CONVERSATION) - public static class FeedTeasersFeedTemplate implements PreferenceValue= Template, Serializable { - - @In - FeedDAO feedDAO; - - List feedIdentifiers; - - public List getTemplateValues() { - if (feedIdentifiers =3D=3D null) { - List feeds =3D feedDAO.findAllFeeds(); - for (Feed feed : feeds) { - feedIdentifiers.add(feed.getId().toString()); - } - } - return feedIdentifiers; - } - - } - -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/flash/Flas= hPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/flash/FlashPref= erencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/flash/FlashPref= erencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,19 +0,0 @@ -package org.jboss.seam.wiki.plugin.flash; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; - -import java.util.Set; -import java.util.HashSet; - -(a)Name("flashPreferencesSupport") -public class FlashPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(FlashPreferences.class) ); - }}; - } - -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/Foru= mPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumPref= erencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumPref= erencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,28 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.forum; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.Set; -import java.util.HashSet; - -/** - * @author Christian Bauer - */ -(a)Name("forumPreferencesSupport") -public class ForumPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(ForumPreferences.class) ); - add( createPreferenceEntity(ForumTopPostersPreferences.class) = ); - }}; - } -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/jiraIssueL= ist/JiraIssueListPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/jiraIssueList/J= iraIssueListPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/jiraIssueList/J= iraIssueListPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.jiraIssueList; - -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.annotations.Name; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author Christian Bauer - */ -(a)Name("jiraIssueListPreferencesSupport") -public class JiraIssueListPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(JiraIssueListPreferences.class) ); - }}; - } -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/lastmodifi= ed/LastModifiedDocumentsPreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/lastmodified/La= stModifiedDocumentsPreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 780= 5) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/lastmodified/La= stModifiedDocumentsPreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 780= 6) @@ -1,19 +0,0 @@ -package org.jboss.seam.wiki.plugin.lastmodified; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; - -import java.util.HashSet; -import java.util.Set; - -(a)Name("lastModifiedDocumentsPreferencesSupport") -public class LastModifiedDocumentsPreferencesSupport extends PreferencesSu= pport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(LastModifiedDocumentsPreferences.c= lass) ); - }}; - } - -} Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsP= referencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPrefer= encesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPrefer= encesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,27 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.plugin.tags; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity; -import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport; - -import java.util.Set; -import java.util.HashSet; - -/** - * @author Christian Bauer - */ -(a)Name("tagsPreferencesSupport") -public class TagsPreferencesSupport extends PreferencesSupport { - - public Set getPreferenceEntities() { - return new HashSet() {{ - add( createPreferenceEntity(TagsPreferences.class) ); - }}; - } -} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/meta= model/PreferenceRegistry.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/= PreferenceRegistry.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/= PreferenceRegistry.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,13 +1,10 @@ package org.jboss.seam.wiki.preferences.metamodel; = import org.jboss.seam.ScopeType; -import org.jboss.seam.wiki.preferences.PreferenceVisibility; -import org.jboss.seam.annotations.Logger; -import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.*; import org.jboss.seam.annotations.Observer; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.core.Events; import org.jboss.seam.log.Log; +import org.jboss.seam.wiki.preferences.PreferenceVisibility; = import java.util.*; = @@ -18,6 +15,12 @@ @Logger static Log log; = + @In( + value=3D"#{deploymentStrategy.annotatedClasses['org.jboss.seam.wik= i.preferences.annotations.Preferences']}", + required =3D false + ) + Set preferencesClasses; + Set preferenceEntities =3D new HashSet(); Map preferenceEntitiesByName =3D new HashMap= (); = @@ -26,36 +29,33 @@ Set preferenceEntitiesInstance =3D new HashSet(); = @Observer("Wiki.started") - public void scanForPreferencesSupportComponents() { - + public void create() { log.debug("initializing preferences registry"); = - // Fire an event and let all listeners add themself into the given= collection - Set preferencesSupportComponents =3D new HashS= et(); - Events.instance().raiseEvent("Preferences.addPreferencesSupport", = preferencesSupportComponents); + if (preferencesClasses =3D=3D null) + throw new RuntimeException("Add @Preferences annotation to MET= A-INF/seam-deployment.properties"); = - log.debug("found preferences support components: " + preferencesSu= pportComponents.size()); + for (Class preferencesClass : preferencesClasses) { + PreferenceEntity preferenceEntity =3D new PreferenceEntity(pre= ferencesClass); = - for (PreferencesSupport component : preferencesSupportComponents) { + log.debug("adding '" + preferenceEntity.getEntityName() + "', = " + preferenceEntity); = - for (PreferenceEntity preferenceEntity : component.getPreferen= ceEntities()) { - log.debug("adding '" + preferenceEntity.getEntityName() + = "', " + preferenceEntity); + if (preferenceEntitiesByName.containsKey(preferenceEntity.getE= ntityName())) { + throw new RuntimeException("Duplicate preference entity na= me: " + preferenceEntity.getEntityName()); + } = - if (preferenceEntitiesByName.containsKey(preferenceEntity.= getEntityName())) { - throw new RuntimeException("Duplicate preference entit= y name: " + preferenceEntity.getEntityName()); - } + preferenceEntities.add(preferenceEntity); + preferenceEntitiesByName.put(preferenceEntity.getEntityName(),= preferenceEntity); = - preferenceEntities.add(preferenceEntity); - preferenceEntitiesByName.put(preferenceEntity.getEntityNam= e(), preferenceEntity); + if (preferenceEntity.isSystemPropertiesVisible()) + preferenceEntitiesSystem.add(preferenceEntity); + if (preferenceEntity.isUserPropertiesVisible()) + preferenceEntitiesUser.add(preferenceEntity); + if (preferenceEntity.isInstancePropertiesVisible()) + preferenceEntitiesInstance.add(preferenceEntity); + } = - if (preferenceEntity.isSystemPropertiesVisible()) - preferenceEntitiesSystem.add(preferenceEntity); - if (preferenceEntity.isUserPropertiesVisible()) - preferenceEntitiesUser.add(preferenceEntity); - if (preferenceEntity.isInstancePropertiesVisible()) - preferenceEntitiesInstance.add(preferenceEntity); - } - } + } = public Set getPreferenceEntities() { Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metam= odel/PreferencesSupport.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/= PreferencesSupport.java 2008-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/= PreferencesSupport.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -1,30 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package org.jboss.seam.wiki.preferences.metamodel; - -import org.jboss.seam.ScopeType; -import org.jboss.seam.annotations.Observer; -import org.jboss.seam.annotations.Scope; - -import java.util.Set; - -(a)Scope(ScopeType.APPLICATION) -public abstract class PreferencesSupport { - - @Observer("Preferences.addPreferencesSupport") - public void add(Set preferencesSupportComponents) { - preferencesSupportComponents.add(this); - } - - public abstract Set getPreferenceEntities(); - - public PreferenceEntity createPreferenceEntity(Class preferenceEntityC= lass) { - return new PreferenceEntity(preferenceEntityClass); - } - - -} \ No newline at end of file Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiMySQL5Hibe= rnateDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiMySQL5Hiberna= teDialect.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiMySQL5Hiberna= teDialect.java 2008-04-03 11:17:41 UTC (rev 7806) @@ -0,0 +1,31 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.util; + +import org.hibernate.dialect.MySQL5InnoDBDialect; + +import java.sql.Types; + +/** + * Fix the broken Hibernate defaults for MySQL databases with UTF-8 encodi= ng. + * + * @author Christian Bauer + */ +public class WikiMySQL5HibernateDialect extends MySQL5InnoDBDialect { + + protected void registerVarcharTypes() { + registerColumnType( Types.VARCHAR, "longtext" ); + registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); + + // It's pretty safe to assume that anything with more than 1024 ch= aracters (minus length byte) should probably be + // a TEXT, not a VARCHAR which would have the "maximum row size" l= imit of 65KB. + // I mean, where is the limit? If you have 20 of these VARCHAR fie= lds on a table, and your character set is + // UTF8, you are over the limit. Less than 20 or so should be OK. = Just another fine example of how MySQL + // protects its users from seeing its ugly internal implementation= details. + registerColumnType( Types.VARCHAR, 1023, "varchar($l)" ); + } +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 200= 8-04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 200= 8-04-03 11:17:41 UTC (rev 7806) @@ -10,6 +10,7 @@ import org.jboss.seam.security.Identity; import org.jboss.seam.wiki.core.action.prefs.WikiPreferences; import org.jboss.seam.wiki.core.model.*; +import org.jboss.seam.wiki.core.engine.WikiMacro; import org.jboss.seam.wiki.preferences.Preferences; = import javax.faces.context.FacesContext; @@ -292,7 +293,8 @@ } = public static String formatDate(Date date) { - SimpleDateFormat fmt =3D new SimpleDateFormat("MMM dd, yyyy hh:mm = aaa"); + // TODO: Exceptional date formatting here... + SimpleDateFormat fmt =3D new SimpleDateFormat("MMM dd, yyyy HH:mm"= ); return fmt.format(date); } = @@ -335,4 +337,12 @@ return msgId.toString(); } = + public static String macroCacheKey(WikiDocument currentDocument, WikiM= acro macro) { + Hash hash =3D (Hash)Component.getInstance(Hash.class); + + StringBuilder builder =3D new StringBuilder(); + builder.append(currentDocument.getId()).append(macro.hashCode()).a= ppend(macro.getParams().hashCode()); + return macro.getName() + "-" + hash.hash(builder.toString()); + } + } Modified: trunk/examples/wiki/view/docEdit_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/docEdit_d.xhtml 2008-04-03 09:16:30 UTC (rev 7= 805) +++ trunk/examples/wiki/view/docEdit_d.xhtml 2008-04-03 11:17:41 UTC (rev 7= 806) @@ -180,7 +180,7 @@ - + = Modified: trunk/examples/wiki/view/includes/commentForm.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/includes/commentForm.xhtml 2008-04-03 09:16:30= UTC (rev 7805) +++ trunk/examples/wiki/view/includes/commentForm.xhtml 2008-04-03 11:17:41= UTC (rev 7806) @@ -87,7 +87,7 @@ - + Modified: trunk/examples/wiki/view/plugins/faqBrowser/faqQuestionForm.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/plugins/faqBrowser/faqQuestionForm.xhtml 2008-= 04-03 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/view/plugins/faqBrowser/faqQuestionForm.xhtml 2008-= 04-03 11:17:41 UTC (rev 7806) @@ -33,7 +33,7 @@ - + Modified: trunk/examples/wiki/view/plugins/forumReplies/replyForm.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/plugins/forumReplies/replyForm.xhtml 2008-04-0= 3 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/view/plugins/forumReplies/replyForm.xhtml 2008-04-0= 3 11:17:41 UTC (rev 7806) @@ -80,7 +80,7 @@ - + Modified: trunk/examples/wiki/view/plugins/forumTopics/topicForm.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/plugins/forumTopics/topicForm.xhtml 2008-04-03= 09:16:30 UTC (rev 7805) +++ trunk/examples/wiki/view/plugins/forumTopics/topicForm.xhtml 2008-04-03= 11:17:41 UTC (rev 7806) @@ -34,7 +34,7 @@ - + --===============1251272208575560641==-- From seam-commits at lists.jboss.org Thu Apr 3 07:34:45 2008 Content-Type: multipart/mixed; boundary="===============7188323136352300713==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7807 - trunk and 1 other directory. Date: Thu, 03 Apr 2008 07:34:45 -0400 Message-ID: --===============7188323136352300713== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-03 07:34:45 -0400 (Thu, 03 Apr 2008) New Revision: 7807 Modified: branches/Seam_2_0/build.xml trunk/build.xml Log: JBSEAM-2815 Modified: branches/Seam_2_0/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build.xml 2008-04-03 11:17:41 UTC (rev 7806) +++ branches/Seam_2_0/build.xml 2008-04-03 11:34:45 UTC (rev 7807) @@ -53,7 +53,7 @@ = - + @@ -76,6 +76,12 @@ + = + + + + = + ${basedir} : ${dist.dir} = @@ -421,7 +427,7 @@ = = @@ -455,7 +459,7 @@ = = - + enabled-attribute=3D"enabled" + /> = = Modified: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Aut= henticationEvents.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Authentic= ationEvents.java 2008-04-03 11:41:20 UTC (rev 7808) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Authentic= ationEvents.java 2008-04-03 13:15:04 UTC (rev 7809) @@ -8,7 +8,7 @@ @Name("authenticationEvents") public class AuthenticationEvents { - @Observer(JpaIdentityStore.EVENT_ACCOUNT_AUTHENTICATED) + @Observer(JpaIdentityStore.EVENT_USER_AUTHENTICATED) public void loginSuccessful(MemberAccount account) { Contexts.getSessionContext().set("authenticatedMember", account.getM= ember()); Modified: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Mem= berAccount.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberAcc= ount.java 2008-04-03 11:41:20 UTC (rev 7808) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberAcc= ount.java 2008-04-03 13:15:04 UTC (rev 7809) @@ -14,11 +14,10 @@ import javax.persistence.UniqueConstraint; = import org.hibernate.validator.NotNull; -import org.jboss.seam.security.management.UserAccount; = @Entity @Table(uniqueConstraints =3D @UniqueConstraint(columnNames =3D "username")) -public class MemberAccount extends UserAccount implements Serializable +public class MemberAccount implements Serializable { private static final long serialVersionUID =3D 6368734442192368866L; = @@ -26,8 +25,7 @@ private String username; private String passwordHash; private boolean enabled; = - private AccountType accountType; - private Set memberships; + private Set memberships; private Member member; = = @Id @GeneratedValue @@ -42,50 +40,33 @@ } = @NotNull - @Override public String getUsername() { return username; } = - @Override public void setUsername(String username) { this.username =3D username; } = - @Override = + = public String getPasswordHash() { return passwordHash; } = - @Override public void setPasswordHash(String passwordHash) { this.passwordHash =3D passwordHash; = - } = + } = = - @Override - public AccountType getAccountType() - { - return accountType; - } - = - @Override - public void setAccountType(AccountType accountType) - { - this.accountType =3D accountType; - } - = - @Override public boolean isEnabled() { return enabled; } = = - @Override public void setEnabled(boolean enabled) { this.enabled =3D enabled; = @@ -96,14 +77,12 @@ joinColumns =3D @JoinColumn(name =3D "AccountId"), inverseJoinColumns =3D @JoinColumn(name =3D "MemberOf") ) - @Override - public Set getMemberships() + public Set getMemberships() { return memberships; } = - @Override - public void setMemberships(Set memberships) + public void setMemberships(Set memberships) { this.memberships =3D memberships; } Modified: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Reg= isterAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RegisterA= ction.java 2008-04-03 11:41:20 UTC (rev 7808) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RegisterA= ction.java 2008-04-03 13:15:04 UTC (rev 7809) @@ -74,7 +74,7 @@ } = } = - @Observer(JpaIdentityStore.EVENT_ACCOUNT_CREATED) + @Observer(JpaIdentityStore.EVENT_USER_CREATED) public void accountCreated(MemberAccount account) { // The user *may* have been created from the user manager screen. In= that Modified: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/tes= t/testng.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/test/test= ng.xml 2008-04-03 11:41:20 UTC (rev 7808) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/test/test= ng.xml 2008-04-03 13:15:04 UTC (rev 7809) @@ -2,7 +2,7 @@ = = - + = \ No newline at end of file --===============1472001335755894654==-- From seam-commits at lists.jboss.org Thu Apr 3 11:06:48 2008 Content-Type: multipart/mixed; boundary="===============1143812349473555322==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7810 - branches/Seam_2_0. Date: Thu, 03 Apr 2008 11:06:48 -0400 Message-ID: --===============1143812349473555322== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-03 11:06:48 -0400 (Thu, 03 Apr 2008) New Revision: 7810 Modified: branches/Seam_2_0/release-process.txt Log: updated release process Modified: branches/Seam_2_0/release-process.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/release-process.txt 2008-04-03 13:15:04 UTC (rev 7809) +++ branches/Seam_2_0/release-process.txt 2008-04-03 15:06:48 UTC (rev 7810) @@ -171,11 +171,18 @@ CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `person` (`u= sername`) ) ENGINE=3DInnoDB = = -* run "seam setup create-project generate-entities explode" - - test the app, at least the list and edit pages for Person -* run "seam new-action new-form restart" - - test both generated pages - - run the unit tests in eclipse using the TestNG plugin = +* seam-gen EAR = + - run "seam setup create-project generate-entities explode" + - test the app, at least the list and edit pages for Person + - run "seam new-action new-form restart" + - test both generated pages + - run the unit tests in eclipse using the TestNG plugin = +* seam-gen WAR = + - run "seam setup create-project generate-entities explode" + - test the app, at least the list and edit pages for Person + - run "seam new-action new-form restart" + - test both generated pages + - run the unit tests in eclipse using the TestNG plugin = * Create a new war project in JBDS - Reverse engineer entities from MySQL - Test generated pages (check hot deployment of Seam components, html) --===============1143812349473555322==-- From seam-commits at lists.jboss.org Thu Apr 3 11:14:09 2008 Content-Type: multipart/mixed; boundary="===============2411885159509812540==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7811 - tags. Date: Thu, 03 Apr 2008 11:14:09 -0400 Message-ID: --===============2411885159509812540== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-03 11:14:08 -0400 (Thu, 03 Apr 2008) New Revision: 7811 Removed: tags/JBoss_Seam_2_0_2_CR1/ Log: removing old tag prior to applying updated tag --===============2411885159509812540==-- From seam-commits at lists.jboss.org Thu Apr 3 11:14:41 2008 Content-Type: multipart/mixed; boundary="===============5504097122684949179==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7812 - tags. Date: Thu, 03 Apr 2008 11:14:41 -0400 Message-ID: --===============5504097122684949179== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-03 11:14:41 -0400 (Thu, 03 Apr 2008) New Revision: 7812 Added: tags/JBoss_Seam_2_0_2_CR1/ Log: Updated tag for 2.0.2.CR1 Copied: tags/JBoss_Seam_2_0_2_CR1 (from rev 7811, branches/Seam_2_0) --===============5504097122684949179==-- From seam-commits at lists.jboss.org Thu Apr 3 17:36:38 2008 Content-Type: multipart/mixed; boundary="===============7158620622773538568==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7813 - in branches/Seam_2_0/doc/Seam_Reference_Guide/en: images and 1 other directory. Date: Thu, 03 Apr 2008 17:36:37 -0400 Message-ID: --===============7158620622773538568== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-03 17:36:37 -0400 (Thu, 03 Apr 2008) New Revision: 7813 Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Getting_Started_With_JBoss= _Tools.xml branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_1.png branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_2.png branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_runtime_= 1.png branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_runtime_= 2.png branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_web_project_0.p= ng branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_web_project_1.p= ng branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/tools/ Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/master.xml Log: Start work on getting started with jboss tools guide Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Getting_Started_With_J= Boss_Tools.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/Getting_Started_With_JBos= s_Tools.xml (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/Getting_Started_With_JBos= s_Tools.xml 2008-04-03 21:36:37 UTC (rev 7813) @@ -0,0 +1,499 @@ + + + + + Getting started with Seam, using JBoss Tools + + + JBoss Tools is a collection of Eclipse plugins. JBoss Tools a project + creation wizard for Seam, Content Assist for the Unified Expression + Language (EL) in both facelets and Java code, a graphical editor for= jPDL, + a graphical editor for Seam configuration files, support for running= Seam + integration tests from within Eclipse, and much more. + + + + In short, if you are an Eclipse user, then you'll want JBoss Tools! + + + + JBoss Tools, as with seam-gen, works best with JBoss AS, but it's po= ssible + with a few tweaks to get your app running on other application serve= rs. + The changes are much like those described for seam-gen later in this + reference manual. + + +

+ Before you start + + + Make sure you have JDK 5, JBoss AS 4.2, Eclipse 3.3, the JBoss To= ols + plugins (at least Seam Tools, the Visual Page Editor, jBPM Tools = and + JBoss AS Tools) and the TestNG plugin for Eclipse correctly insta= lled + before starting. + + + TODO - detail where the update sites are. + +
+ +
+ Setting up a new Eclipse project + + Start up Eclipse and select the Seam Perspective. + + Go to File -> New Seam Web Project. + + + + + + + + + + + + First, enter a name for your new project. For this tutorial, we're + going to use + helloworld + . + + + + + Now, we need to tell JBoss Tools about JBoss AS. This is a two st= age + process, first we need to define a runtime, make sure you select = JBoss + AS 4.2: + + + + + + + + + + + + + Enter a name for the runtime, and locate it on your hard drive: + + + + + + + + + + + + + Next, we need to define a server JBoss Tools can deploy the proje= ct to. + Make sure to again select JBoss AS 4.2, and also the runtime you = just + defined: + + + + + + + + + + + + On the next screen give the server a name, and hit finish: + + + + + + + + + + + + Make sure the runtime and server you just created are selected, s= elect + Dynamic Web Project with Seam 2.0 (technology preview)<= /emphasis> + and hit next: + + + + + + + + + + + + + The next 3 screens allow you to further customize your new projec= t, but + for us the defaults are fine. So just hit next until you reach the + final screen. + + = + + The first step here is to tell JBoss Tools about the Seam downloa= d you + want to use. Add a new = + Seam Runtime - make sure to give it a name, = and + select 2.0 as the version: + + + + + + + + + + + = + + Next, select your database type. You'll need to tell JBoss Tools = about + the database. + + + + JBoss has sophisticated support for hot re-deployment of WARs and= EARs. + Unfortunately, due to bugs in the JVM, repeated redeployment of an + EAR=E2=80=94which is common during development=E2=80=94eventually= causes the JVM to run + out of perm gen space. For this reason, we recommend running JBos= s in a + JVM with a large perm gen space at development time. If you're ru= nning + JBoss from JBoss IDE, you can configure this in the server launch + configuration, under "VM arguments". We suggest the following val= ues: + + + + -Xms512m -Xmx1024m -XX:PermSize=3D256m -XX:MaxPermSize=3D512 + + + + If you don't have so much memory available, the following is our + minimum recommendation: + + + + -Xms256m -Xmx512m -XX:PermSize=3D128m -XX:MaxPermSize=3D256 + + + + If you're running JBoss from the command line, you can configure = the + JVM options in + bin/run.conf + . + + + + If you don't want to bother with this stuff now, you don't have t= o=E2=80=94come + back to it later, when you get your first + OutOfMemoryException + . + + + + The most important choice you need to make is between EAR deploym= ent + and WAR deployment of your project. EAR projects support EJB 3.0 = and + require Java EE 5. WAR projects do not support EJB 3.0, but may be + deployed to a J2EE environment. The packaging of a WAR is also si= mpler + to understand. If you installed an EJB3-ready application server = like + JBoss, choose + ear + . Otherwise, choose + war + . We'll assume that you've chosen an EAR deployment for the rest = of the + tutorial, but you can follow exactly the same steps for a WAR + deployment. + + + + If you are working with an existing data model, make sure you tell + seam-gen that the tables already exist in the database. + + + + This copies the Seam jars, dependent jars and the JDBC driver jar= to a + new Eclipse project, and generates all needed resources and + configuration files, a facelets template file and stylesheet, alo= ng + with Eclipse metadata and an Ant build script. The Eclipse projec= t will + be automatically deployed to an exploded directory structure in J= Boss + AS as soon as you add the project using + + New -> Project... -> General -> Project -> Next + + , typing the + Project name + ( + helloworld + in this case), and then clicking + Finish + . Do not select + Java Project + from the New Project wizard. + + + + Go to + http://localhost:8080/helloworld + to see a welcome page. This is a facelets page, + view/home.xhtml + , using the template + view/layout/template.xhtml + . You can edit this page, or the template, in eclipse, and see the + results + immediately + , by clicking refresh in your browser. + + + + Don't get scared by the XML configuration documents that were gen= erated + into the project directory. They are mostly standard Java EE stuf= f, the + stuff you need to create once and then never look at again, and t= hey + are 90% the same between all Seam projects. (They are so easy to = write + that even seam-gen can do it.) + + + + The generated project includes three database and persistence + configurations. The + persistence-test.xml + and + import-test.sql + files are used when running the TestNG unit tests against HSQLDB.= The + database schema and the test data in + import-test.sql + is always exported to the database before running tests. The + myproject-dev-ds.xml + , + persistence-dev.xml + and + import-dev.sql + files are for use when deploying the application to your developm= ent + database. The schema might be exported automatically at deploymen= t, + depending upon whether you told seam-gen that you are working wit= h an + existing database. The + myproject-prod-ds.xml + , + persistence-prod.xml + and + import-prod.sql + files are for use when deploying the application to your producti= on + database. The schema is not exported automatically at deployment. + +
+ +
+ Creating a new action + + + If you're used to traditional action-style web frameworks, you're + probably wondering how you can create a simple web page with a + stateless action method in Java. If you type: + + + + Now go to + http://localhost:8080/helloworld/ping.seam + and click the button. You can see the code behind this action by + looking in the project + src + directory. Put a breakpoint in the + ping() + method, and click the button again. + + + + Finally, locate the + PingTest.xml + file in the test package and run the integration tests using the = TestNG + plugin for Eclipse. Alternatively, run the tests using + seam test + or the + test + target of the generated build. + +
+ +
+ Creating a form with an action + + The next step is to create a form. Type: + + = + + Restart the application again, and go to + http://localhost:8080/helloworld/hello.seam + . Then take a look at the generated code. Run the test. Try addin= g some + new fields to the form and Seam component (remember to restart the + deployment each time you change the Java code). + +
+ +
+ Generating an application from an existing database + + + Manually create some tables in your database. (If you need to swi= tch to + a different database, just run + seam setup + again.) Now type: + + + = + + Restart the deployment, and go to + http://localhost:8080/helloworld + . You can browse the database, edit existing objects, and create = new + objects. If you look at the generated code, you'll probably be am= azed + how simple it is! Seam was designed so that data access code is e= asy to + write by hand, even for people who don't want to cheat by using + seam-gen. + +
+ +
+ Generating an application from existing JPA/EJB3 entities</ti= tle> + + <para> + Place your existing, valid entity classes inside the + <literal>src/model</literal> + . Now type + </para> + + <para> + Restart the deployment, and go to + <literal>http://localhost:8080/helloworld</literal> + . + </para> + </section> + + <section> + <title>Seam and incremental hot deployment + + + When you deploy your Seam application as an exploded directory, y= ou'll + get some support for incremental hot deployment at development ti= me. + You need to enable debug mode in both Seam and Facelets, by addin= g this + line to + components.xml + : + + + ]]><= /programlisting> + + + Now, the following files may be redeployed without requiring a fu= ll + restart of the web application: + + + + + any facelets page + + + + + any + pages.xml + file + + + + + + But if we want to change any Java code, we still need to do a full + restart of the application. (In JBoss this may be accomplished by + touching the top level deployment descriptor: + application.xml + for an EAR deployment, or + web.xml + for a WAR deployment.) + + + + But if you really want a fast edit/compile/test cycle, Seam suppo= rts + incremental redeployment of JavaBean components. To make use of t= his + functionality, you must deploy the JavaBean components into the + WEB-INF/dev + directory, so that they will be loaded by a special Seam classloa= der, + instead of by the WAR or EAR classloader. + + + You need to be aware of the following limitations: + + + + + the components must be JavaBean components, they cannot be = EJB3 + beans (we are working on fixing this limitation) + + + + + entities can never be hot-deloyed + + + + + components deployed via + components.xml + may not be hot-deployed + + + + + + the hot-deployable components will not be visible to any cl= asses + deployed outside of + WEB-INF/dev + + + + + + Seam debug mode must be enabled and + jboss-seam-debug.jar + must be in + WEB-INF/lib + + + + + You must have the Seam filter installed in web.xml + + + + + You may see errors if the system is placed under any load a= nd + debug is enabled. + + + + + + + If you create a WAR project using seam-gen, incremental hot deplo= yment + is available out of the box for classes in the + src/action + source directory. However, seam-gen does not support incremental = hot + deployment for EAR projects. + +
= + + Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/Getting_= Started_With_JBoss_Tools.xml ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + text/plain Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_1.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_server_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_2.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_server_2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_runt= ime_1.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_server_runtime_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_server_runt= ime_2.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_server_runtime_2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_web_project= _0.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_web_project_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/new_web_project= _1.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en/images/n= ew_web_project_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en/master.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en/master.xml 2008-04-03 15:= 14:41 UTC (rev 7812) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en/master.xml 2008-04-03 21:= 36:37 UTC (rev 7813) @@ -6,6 +6,7 @@ + --===============7158620622773538568==-- From seam-commits at lists.jboss.org Thu Apr 3 22:08:23 2008 Content-Type: multipart/mixed; boundary="===============7176970016334770520==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7814 - in branches/Seam_2_0: examples/seamspace/resources/META-INF and 5 other directories. Date: Thu, 03 Apr 2008 22:08:22 -0400 Message-ID: --===============7176970016334770520== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-03 22:08:22 -0400 (Thu, 03 Apr 2008) New Revision: 7814 Added: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/Authenticator.java branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/MemberRole.java Removed: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/AuthenticationEvents.java branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/MemberAccount.java branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/UserAction.java branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/UserSearch.java branches/Seam_2_0/src/main/org/jboss/seam/identity-management-2.0.xsd branches/Seam_2_0/src/main/org/jboss/seam/security/management/ Modified: branches/Seam_2_0/examples/seamspace/resources/META-INF/security-rules.d= rl branches/Seam_2_0/examples/seamspace/resources/WEB-INF/components.xml branches/Seam_2_0/examples/seamspace/resources/import.sql branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/Member.java branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/RegisterAction.java branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule.= java Log: JBSEAM-2818 Modified: branches/Seam_2_0/examples/seamspace/resources/META-INF/security-= rules.drl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/resources/META-INF/security-rules.= drl 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/resources/META-INF/security-rules.= drl 2008-04-04 02:08:22 UTC (rev 7814) @@ -84,43 +84,3 @@ then check.grant(); end - -rule CreateAccount - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "create= ", granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end - -rule ReadAccount - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "read",= granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end - -rule UpdateAccount - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "update= ", granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end - -rule DeleteAccount - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "delete= ", granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end \ No newline at end of file Modified: branches/Seam_2_0/examples/seamspace/resources/WEB-INF/components= .xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/resources/WEB-INF/components.xml 2= 008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/resources/WEB-INF/components.xml 2= 008-04-04 02:08:22 UTC (rev 7814) @@ -3,7 +3,6 @@ xmlns:core=3D"http://jboss.com/products/seam/core" xmlns:persistence=3D"http://jboss.com/products/seam/persistenc= e" xmlns:security=3D"http://jboss.com/products/seam/security" - xmlns:identity-management=3D"http://jboss.com/products/seam/se= curity/management" xmlns:drools=3D"http://jboss.com/products/seam/drools" xmlns:captcha=3D"http://jboss.com/products/seam/captcha" xmlns:web=3D"http://jboss.com/products/seam/web" @@ -13,7 +12,6 @@ http://jboss.com/products/seam/persistence http://jboss.c= om/products/seam/persistence-2.0.xsd http://jboss.com/products/seam/components http://jboss.co= m/products/seam/components-2.0.xsd http://jboss.com/products/seam/security http://jboss.com/= products/seam/security-2.0.xsd - http://jboss.com/products/seam/security/management http:/= /jboss.com/products/seam/identity-management-2.0.xsd http://jboss.com/products/seam/web http://jboss.com/produ= cts/seam/web-2.0.xsd http://jboss.com/products/seam/drools http://jboss.com/pr= oducts/seam/drools-2.0.xsd http://jboss.com/products/seam/captcha http://jboss.com/p= roducts/seam/captcha-2.0.xsd"> @@ -24,10 +22,8 @@ concurrent-request-timeout=3D"500" conversation-id-parameter=3D"cid"/> = - - = - = - = + + = /META-INF/security-rules.drl Modified: branches/Seam_2_0/examples/seamspace/resources/import.sql =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/resources/import.sql 2008-04-03 21= :36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/resources/import.sql 2008-04-04 02= :08:22 UTC (rev 7814) @@ -1,20 +1,15 @@ -insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (1, 'Mr_Smiley', 'Mr', 'Smi= ley', 'smiley(a)nowhere.com', 'I smile because I care', 0, '1953-03-10', ''= , '2007-01-02') -insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (2, 'duke', 'duke', 'McDuke= ', 'duke(a)sun.com', 'I love the smell of coffee', 0, '1995-01-01', '', '20= 07-01-04') -insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (3, 'shadowman', 'shadow', = 'man', 'shadowman(a)redhat.com', 'I''m wearing a hat', 0, '1999-01-01', '',= '2007-01-05') -insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (4, 'mona', 'mona', 'lisa',= 'monalisa(a)louvre.fr', 'Some describe me as enigmatic', 1, '1503-07-01', = '', '2007-01-06') +insert into Member (memberid, username, hashedpassword, membername, firstn= ame, lastname, email, tagline, gender, dob, location, membersince) values (= 1, 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229', 'Mr_Smiley', 'Mr', 'Smiley',= 'smiley(a)nowhere.com', 'I smile because I care', 0, '1953-03-10', '', '20= 07-01-02') +insert into Member (memberid, username, hashedpassword, membername, firstn= ame, lastname, email, tagline, gender, dob, location, membersince) values (= 2, 'duke', '041cf7cf23d3d372644b707505218fb0', 'duke', 'duke', 'McDuke', 'd= uke(a)sun.com', 'I love the smell of coffee', 0, '1995-01-01', '', '2007-01= -04') +insert into Member (memberid, username, hashedpassword, membername, firstn= ame, lastname, email, tagline, gender, dob, location, membersince) values (= 3, 'shadowman', '1bafb3c11c60b0892007c63ac6a321de', 'shadowman', 'shadow', = 'man', 'shadowman(a)redhat.com', 'I''m wearing a hat', 0, '1999-01-01', '',= '2007-01-05') +insert into Member (memberid, username, hashedpassword, membername, firstn= ame, lastname, email, tagline, gender, dob, location, membersince) values (= 4, 'mona', '4af5cab77c62eaec5f87b570f2d2b127', 'mona', 'mona', 'lisa', 'mon= alisa(a)louvre.fr', 'Some describe me as enigmatic', 1, '1503-07-01', '', '= 2007-01-06') = -insert into MemberAccount (accountid, username, enabled, accounttype, memb= er_id) values (1, 'user', 1, 1, null); -insert into MemberAccount (accountid, username, enabled, accounttype, memb= er_id) values (2, 'admin', 1, 1, null); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (3, 'demo', 'ffd49efe97c77941fc149e1ab010fa8d',= 1, 0, 1); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (4, 'duke', '97291c29cc69a65890424d0f97db28f2',= 1, 0, 2); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (5, 'shadowman', 'd76acda33fcfede62a8a6979df88e= 690', 1, 0, 3); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (6, 'mona', '0a7adfe58071398e15b5177f4ace8493',= 1, 0, 4); +insert into MemberRole (roleid, name) values (1, 'user'); +insert into MemberRole (roleid, name) values (2, 'admin'); = -insert into AccountMembership (accountid, memberof) values (2, 1); -insert into AccountMembership (accountid, memberof) values (3, 2); -insert into AccountMembership (accountid, memberof) values (4, 1); -insert into AccountMembership (accountid, memberof) values (5, 1); -insert into AccountMembership (accountid, memberof) values (6, 1); +insert into MemberRoles (member_id, role_id) values (1, 2); +insert into MemberRoles (member_id, role_id) values (2, 1); +insert into MemberRoles (member_id, role_id) values (3, 1); +insert into MemberRoles (member_id, role_id) values (4, 1); = insert into MemberImage (imageid, member_id, contentType, data) values (1,= 1, 'image/png', '89504E470D0A1A0A0000000D49484452000000AA00000099080300000= 0884651B30000000467414D410000AFC837058AE90000001974455874536F66747761726500= 41646F626520496D616765526561647971C9653C00000300504C5445F6E555F5E664F8F9D86= 15D0B020101F3E433DAB920F7E874F8F8C8F8F270F7E984F8F4B8F8F398F8F3A0939218F2C9= 03F8F8E8F8F380F8F4A8F8F168F8F390F8F378F1D615E9D368F8F388F8F160F8F4B05D5A45F= 7EA93F3F224F3D824F8F9D0F5E325F8F9B8F8F250F8F158E8C703E7E544FFFFFFF8F4C8F8F9= C0F4E614DCCD2BF8F9B0E7E653F3F214F8F248E4C323F2DA33F0F100D2CB88E4C2137A782A8= 08080E7E436B0AD6B8E894FF8F8A0EEDB7FF8F9A8E8E564A9A545E3D825F0D100E7D944F0F1= 40D0CFC7E7DA342D2903A9A98BF6EAA3F8F998E5D516CCC9B0F8F140F0F148E3DA52B0AFA8E= 7D202E1C444CECE45DEC032F0EA00F0DA43908F73D4D16DE7E8D2F8FA90F0EA49F8F038E8E3= 93F0E200F0F138EFDA00E7E300EEC913E6E424E3C856F8F4C0C1BC86FCFDF0F8EB00DDBD0AF= 8F988F0D209F0F108F8F100F4EAB236332AF0F050C2BE4CF2DB58FEFFFCF0EA40FDFEF7F0F2= D8F8F4D0F0F280! F8EA3EE6E6C6F8EB4CF8EB08F0F030F8E24AE5E4A2F8EF2EE8E575E8E6B3F0F078EFE249E7= E984F0F088F8F108EFE13EF8F4D8474329F8F980F0F290F0EE70F0EE63F0F8E0F8E13EF0F2E= 0F0F268F0F2B0F0DA0AF8FA68F0F058F8FA58F0EB09F0F3B8F0F9C8F8FA50E7ED4595977AE7= EAE2F8F8F0F8FA48F8FA401915019C9B52F8E208F8F978E5E917F8F970F0F3C8F8F938F2EBC= 596968EF8E200F0E109F0F098F0F2D0F0F2C0E7EE33E8EE54E8F185F0ECD5F0F8D8ECEE24E8= EE71E8ED63F8DA00E8F2C2F0F2A0FBFAE7F8FA60F8D300F8DA0BF0F9E8F0F1E8F7FA29E8EEB= 3FCFEFDF0F858DAD8ACF0F0A8F8F3F0F8D30AF0F948F0F9C0F0ECE4E8EEA6ECCE23F0F9A8FC= FAF0F0F9F0A3A06CF8FA00A09E91FBFEF70F0A09F8F8E0F8FCDFF8FCF0F8F8F8F9FCE8F8FCF= 8F8F4E0F8F4E8F0F890F0F8D0F0F898F0F888F0F570F0F878F0F868F0F560F0F8B8F0F800F0= F8363E3D02E8F400F7FA11DDDF5EE8EED8DDDE37D9D9CB221F15F0F0F0BABBABDBDD94FDFDF= EFEFEFFEBCC33F0FC50F0F8B0F0F8408D8D80908890FBFBF7F0F8A0B2AE1FB8BA3EEBCE46E9= CD5BF068708C000027E94944415478DAD49D095C9357BAF04958B20BD9308440084B0904100= A222188522DB160B16295A0288A2088524344CA52AC088892A2822B2D1AB54A5BD74ED599DA= 3A63B7D1DEB14E! A7032FA66A6B97A9B4D63AB676C6B9DE56EF73CEFB2679134001BDF37DF380D4F90DEA DFE73CFB5974F3F88F11378FB1FF2182501F19B6184D2693D168FF5FD4CF08B546A7D5EB737= 28AB1E468351AB5D25A68323EF2306484A888CFF69377DF05F0422BF3B30F05121977D54A46= CAD4AB5341AE4E65AC6471157C915C4914D2FE62FF7E54879808B646FFE586231D6113C3C29= A9A2636855132695222485898D9CC9588D444A1F1FF21AA11E993A999BDFA785458E2FCC308= ACBCBC3CAD1C8BA1BCB2D2332868FE94D4D46BD7A6A6B0B8FC02E68318C383A19A98AA37571= C3F82109BCA6B6B838343AAAADC9030B0B8B9D5D6D6B602B0E7A44993264E9CE86696E9ACA6= 7F2BEA4DDBC26B0EACBC1A1576B8A6A6B2B20AF0C4623183C3E2B0A4F0813E59247055556D6= B5313D0CE9F3495912CEA19A1218C08F5A79B9833C75C060669A8AA0AF1F313031A97C51272= B9128944C1B50B8B858901B7B2B27246ECA4D4494DE6151AA6F1DF6800856AFD179B126B726= 3824342FC182C1697AB5028F8200A457AFA018140C0E74B2480AAA080198CDAFAFAAA5ACFA0= 8829A991E606F908EC6044A8C6C202052BAA2331062954CCE1482124A58B2891CBE5A274116= 2C5023A9671855C16074CA11699AE2772B430337FD89A1D01AAB150CD179A37D5971BFCC034= A552215771E04D20E4F1542A1E8F575050B075EB3F376EFCE8A38F1039202B24106F916E198= C656ECB5A63E74! 7BC9C9AC850149C33FEDFA21A4FA8F52D9B320D864D7E2CAE502601752E91CB97204E159BA= DC45251111E1EAE561784871714F09600AE822F5120534866312028B4D6B64E9C7867991B4B= C4040FBBF97F827A13DBE8AAE31D1DE586108654C6170844721E1081B0D96AB69249CA1AA5D= 2C15CC0E3C945D82014E90A6CB50CB765CB66CC884D9DB48C2BEA313D3254D8616AF584F68B= B2C3873337B5B0C0D32165F2546AA4C9354CBAD840956C351680256905E948B7246DED8C496= 767DC59C6550F39740D0BD5C4E49B3B0E5F497B8F23E3233B0485224DF6D8C5091448552A20= 456650C05369343A64B9142CD8C18C198181917756EA08D3C3472DD473CC61619921EDB0F42= 2B0CE82F08A8A35177A7C9010048199312A1B0B56EA871F6EDBB70F5B2ED832C0A60B8055C6= C21E561B14E81B3929659DDAF49051C1F1A320B11BFC386B6507D2E54BC044D7ACB970E1A24= F6767276665123D172ED050D978FD0FED43A805E8A7A0586406C02A447961597D6B5050606A= 64D46AA5E9A1A21AADFA6386CCE010B1542611E0A5672B7B488DFAD8967F0D928A0AA58D16F= B1B5A7E64AD60AF28E4222380E02564B5B4B066B436C506A5A64EE4CA4D0F13D5AAFDAAACAC= CC0F481502E4F580C3ECA1833A504958C0A583CA4941A87ACCBA8AD5E2565F0F812035752A9= 777FBA1A19A880! 3C78E746CDAC041114A8E40C181887BA3B20743C56AE50A1B5829600448AF915393455 6E3C3412D545F3A1ED5F1DE06A91015F505C8EDC18FACCEA4242A4DA96CD7D5C7A4800A4D0D= C08211AC34BBD53735C5A6463E9522B86F20180AAAD1AA5B71A4A3E3BDAF841250290F40C14= 8AD202E4A6552A47663ED872AA250B5A83690281AB82D0C3082F249A99191299282DB0F8C5A= A8D40A11E9DE6214F3514E420BDFDBDB6BA540095B4C2541696E5550E0B4FE544103AC54290= 38A45F5F724A860C008D4B7478E8ACDE77601D4A586CCCD400AEE04A068E13B9158298D1254= F01F3A2A2E12157C015F281543E69AD11A943A2572E2E8825EE34851FF8A7EE5093E27AC3C6= 6F3DEB5FC0F0A2A2AC048ADBD98F4CF7FFE3DA95382E8B1E57E27501BAA9D5423A2B1A6A32F= 9FCB567050290B790BB241E481AD85234535FD157EC85B0C31C17E1CA144C753123D84D5DAD= BDB498A8F5342453995F2A8F0704744A559AA4EA415690534D17E7E492694A2340B55ACAF6F= EA538A7BF9D63D51DF353E62524ACC86603F944AE505CC1E2B22ED2503BF8FD519D49EFED93= 4549E9D14D5005AAD0D351DA955FBF9BA7560AE52D06B6B6CA0EF94C8AB7CEB88DDCAA4BC6C= 2E8BF1E370D3C1A194E04E74549FFBA016B8A26A1DA8A4B97EFE395F815C0BAA9756CF4008B= 0A345A611A21A89CF8F676E0FE1C8043898621B75A0BA9232A970EA40E539913A50A9662627= 07A280024CC00F! B1C6064E99326D6541E1C8500BB5C73BCE6C6E17F2450515B0FA9491FA386BB51F29890A75= AA13AA8E4445B07C3BAA04E22B4401B11F84AC26B081C83B50C08E04B550732CAAE31FED6BF= 9221E9B69EDFDF4D3F3E7FBA3320746553B506D4AB5A1EAED1D221299700F87034DA25B7D6B= 60E0D9C8A912A669F8A826CD97473ACE7CBD562B023B257A7B8114B362CC8BF0E14CEA28FF8= 6804A61CA8A8BD7AE5D2B944A39805ADB1A783A3F726AFA8961A31A89B5656967DEFB82AFE1= 852BB1523F25512FDA954A76002E5D0A955081D5851422004AFF7ABD83548648D70A85528E9= 91105A881F9F991A335A69BC34335296586BCCC903D393A35CA5088D4D5528983CB99C48DA7= ADCB8937989F7DA83C148E528093EBDB8B5414F7C9565BE210A858B0484138E61670AD19B18= 1F967A70D6CAE2EA8B429E809BDB83C2F582CD3AAD888944475B252623964AAE56397FECBBA= 7C16C1FC1D7B1B0D954EAAA132942BAA0C2A41076A8BD95C5F3BE3CED9D3F963B84AE370B46= A524BABAA6242A41211C4536B67EF7984EAEC50D0A27CBFDEEAEF6179723D2896B90DAD3CDB= 29F4D3122A8EFB22CAF9158818969FAED5960DE67A68B9037DF3CFDE51140E03D548F019066= 84F8402502A9451E7B14B394729D0E9F7BFE97DD5C3E3FA2756EB412662C54EA576562A46B5= E5285B9C225185! 5C072AB01A507005B54E5F166E1C3A6AA1A6C5501E02995F04E9B4B7F3FC00A8B0F8EB ADEB7B6F747B78585EB52EFF1D53696BFD784EA436542D15FB257C72366403B5A38AABAA5A5= 1703DBBE8E7D9D621A1E2BF1091B3292F4D2C940878EC1E1F1C5191F3BBE894580EA83F347B= 805EFFD5433C6B1B51A85C487524A9969A0FDA2C5528A4914AF77238E290AA4ACF58600D8DB= C2BBF3954AD9A342D99B782A51201AA513ACFDBC2940395C0C204BD768205747B581E27BEFF= 0CA3AA5483A2920B5F5C2C9339BCDF8EBA97D3CEA8329437C59EF5CD8ABF33FBDCBD511D066= 25D77246DFB5B504EF12AD6F8748247F50E004A1C8418D0639DD50C26E0B1F409621F5E7E84= AAA15B2AC45304AAD592594A02E9D449AB78F5F7022AC72F04A106FA9E0C8D1C5D601C22AAE= 658C78EF616BE08052AA84F7B517BE2E8A5AC881385FEEF97F780B93E761D6DD5F9FF406C53= B20FA9551BD51A0D1A613AC5548C0A75BF40A7FBFC804E335BC05FB1B685868A45EC1752654= 0E5A06FFC34857568A885FAE31DDBF7700572354A5314A8D54AD729CA51B3ACD6F5EB213CDC= 58EA6101D6279063A9792A15429593A80E52C8523A8540F3DCC25DEEEE4F3FFA9C40BF768F0= B2966AD6D42AC6322193CE3506CD5A85C7524D30F2A3F2AFA53A4D61E1FBB43E1646AB53EF1= 2F7FFFA5CDCD4B9109782CFD84493C7F48BD71A386522BADEFC3A80A9D6A61B3057DEFE4E65= DDAE2142754B11! 86200781634DBB16721B6720B87826A151C2F7B4FCC47D5345DA9D61E6752A6F546B347B76= DAF16C5AC170F32C3F16C0AB3DAFA3E448A52BF5EA05AD867FBFEC9BB246B6D2E8549DBC57B= 5B3688FDAA0C4DC8B3A6788DE699EE8F6A52AF8ACA7C4B2AE0152891A59E3F6F63B5A352F5D= 427CD24A203F769827988CD2351E5AEA85AD5A3FEF03DF817747B34CFCEA1A1EE1503EB1708= B5CA505F0FCDCBA2E90AC2785F546B8EB9A36CAF4CA0C6CB0F71EA533AAA9DF48DE54BED94D= D1EE49F7FFDE90AE5A18D83A00AE4FEB435983CB381A6544EBB582CDEB0C12F041CABBE2930= B064D11846BAE9BE2940792C330D62AA4885961FA7A94FF180C26A5B7E8CFAC61BCB6F3C3E7= 6AC7FF3D2A5D76D0016D0EB3EC85614AAC8195534CEE2615B06F8922492D1508154FCD5D780= EA6730247AB695E47BDD492EBC1F6AA1EE481A38155FA76242A222532A0A5854870A0D3689B= A7C790FB1E6D90B3DCFFEF0FE8D4F9EC6CC281724853FCF93BBA2625315F95BF0F253D22C90= 491DA60AEBDFBE01A1BA951912837CDB4AE2C72CB3DE07D5A8FE3271E75B29EB541BD9BFA17= 2FFF997FED0D9EB3C9E224714E4FE4405DA9F40E5DFFBEF2FFC3829E9513519FA351AAA4A15= 680F48F412BDF651E733139647650E8DB68BFDDEF2030909090E8EF10456DFACD0E97264ACB= 707473569CD873! 3C45C81EA1D66EF1F9F1CEBFFDF8FA1A47AD1C74A9BF951ACB4490A359F60B3972C295 0DBEA7EB2A00254BD44B24EAF48EAB61B2A3282EE717CC7DA8B11E75B146AB96790EF94ACD0= 318ADBF460DF1FB5501F9597C69188366E63BEE4DF0D0BB6F4BF5F3ADFBBDE3EA07041653BA= 1AAD94A352FDD814A157F5A40D5CD6EF6A0A37A78EC9238A1BE6547455A9D9295356634714F= 0330122BA2766472243A35F3FB66D25FBA3FF93B425DDFD36FF0E318FB535DCA92251BE5F22= 5B666CA3E4AD34AF47CCD8F931D8BDF8D8C364926759052CB0FA458ABF3DBB2B2F2A7390D30= FAA1424DD59159265568D8C4275414F2587AA3F70FBD50E8F747653B76280A70E7A746DB82F= D50F5395A81E8D16E3AAA0742E57058B4F547A448A931699E4141BE255953A63B652C575423= 64AA0E4388F0808AFD7DB3FDF77DF5BC0F0DD5D14DD348312ADEBE947F400E2828543ED47EE= B24FA03CF7DDCED4CEAB14B46B75458FF90CD58A93195E541C8AFF2E397297F1A1CD5A46E88= CA0C16E7BCA952FE61290E2DD7E1C7AB1721AA5EB82F2A9B6275460569E0F3D3D393BAE9B60= A1FE3644EEB8F4849D48CBABAF96DBE2525F9D3C1026E0E865AA85915B6BD7D8FFE4D35D1EB= 6FFB9DBB5FEDF4B960754CA7075A7F357D3C4992EAC81695AFD737E8214A2775BB062B89935= 2914B6D47A43119954128B296788F519C78E4A7818B40E32385FC948E1D66A156A37EE1A527= 6D79F3FA0FBDBF! B15A8959F6413AE553D4184D5DE0984E3B2A3F11B5C58EAAE9755AFE6CDEC72EB63A79B690= 44F5F373B8542648466E651D1800425DA01CCC008C46AB24AA63BB58A6DB788838FF03558D7= 88CEDEC5D0F4A25683AA58D7CD56A1AA8F38822DD860A05A06A5CB7073DB0762728A40ED210= EC523131409A96919BEB191441A26A8C838E2CD4C223E5C110AAB6FE8EF8F4FC63FE285A5D1= FFB52AF0FEAF409D7DD693AEA00D31434EDB5CDD1F407340BBB693E854C552FE5F4737E1215= 69151940FE34BE69305493AAA5232D44C8D7B03F7B01FAD4C75E05D6B1FFE5034A454309D79= 96FB87D8E36E034C53E4995481AF4EB44B3FB3CE8163079E5658E1D35C4867A26332D2D23C3= A6D5FC31B470E58A2A3703AA4CB0914D587FFFE7CE4FCF836B8DEDEDF4C1A8CB07402537FC0= 74525C713EB7264FA063E0A01B46A25E1F217AEA83148AB69C800EA00D517A1D24A1617D442= D1F1F2186855FEF40EA0F6BED489A280FFED4E88AA3D4C07AAD28EEA389BD07F9AE218FA026= A4E8344B7D042AF6D77151F17F7473D93798B440D3A0916101A7F7770544154798C5826DAF8= CE0BD6DF5B7B3B5F5A8A9CAA132AEBF54C82795F54B90BAA6DE893232B9649F4E9FE1647A44= A98B9E78858DC0F35ED565A5A6E0642C52120F40E315804202451E5C162AE46B58FE85DFFFB= 3F747602AAFF7F! 5D5C7FA1A767CD9A81B627703A752695EB6C731FDB7C4A0F3D7FB1AC41F7BC9DD592F4 DCE77B8FB4D34971F08FB995762B2FB7AB0E0C00E500EF45D389412A2BA3461A66F0934A043= CA50FDEA000AD7637775EB46FF75628D1076DBFDF354ED9767C1D864ACD7C4124FAD949166C= 00CDE366E748DBE9A465C16586B22AC38E8C6BE55D010101757511BE274F8256A7CF2E1C18D= 5A46B3718F0A4AAE2E21F51ED0FC9D563E9DFF17C9AD9D37FB7AFDF26FA12397D6BD23EF0C7= A442D96A9DEE63F7C97DCDE366EA73F66C309BC56206AD9ECACC0C36245EC9CCCBEB3A55171= 0D116B1DBBBC43B7ECC6C621054ED061A2AA8F5CF807A7D161D55790FD425B4982AE0F7475D= 9103BDA062365756BC67438AF96B3F3F86D856F993A83BF20E6F7FEBBDB08E989D01735F8B3= 83D2CD44E94B01EB3A1BA287580FDFE7EA48EF5170A65C50DAB5F6F6890154B41A35FBF2536= D3332A8A53E5897967A29E1A3F6AFCAFE53BE764854E98E0ED3D26793054BDD9100CA822848= AFCFEEFFE605A4F5EA412AAE350C2885085B29C9CE215ABA47BDB916C3033C4CEA8699BD336= 6FDAD507E63CD93DF254D1DC880910589395F740E560D40B3844F9A0EA6AAC1DD599B4DF263= A6D179DEFB2FE78E603A02BD6AEDD7315946A361F3773C47452404DDC7E6494858A6541D159= 59A0D6C151738E3BA1FAFC752C9AF10D865A30F07EBFC8D9A71CA82B5614AF5DB96AAD740F4= 7CCE16CE0EC712! 8350685D4B4C4F66726E36102945DBFD4B59106A01E18B530078A95BD08957D01321441A04= 97FF7F53FFAF4B876A834D47B28D59954283DF6E5DA632D6BA5D216F39E3D624694935233D2= D262362590C9ECBA47F7A8405F52ABAA9B03A34AA290ADF2452AE505E8FB5F207A6FA05FFB8= 48F750D41ACA9703A3F45D57E05BC7E47135C94EA20FD0284C3C1CD3FADA2A20C1564B3D99D= AA13BBBBDD2B8310EAA2C10CA03007A1CA6CA86F10D6C7E02F08C66A5DC37CC5D1A050658AE= B26BAA69F52157452A1948351A986DA964EC9E507D0BCB49876777B89981014814280D7E8C1= 508BE9A804A0BE84FC6AE92CA8AB9EBD2FAAEEDE4A15DAE7A8B6D41F624FA819081582EA28A= A96E9B68CAA8B980BB6EA957C5F5436B3A7877881B0F622BFF278D24A9AAA0D55ED5CA6D046= 14FD2CD5BE91669B4FB58BDB6D650A454AA2E6E5E55DD97EB58F6275CFDF3D670ED26A327B6= 054AB332A41BCD0F924EE587C888304731FFB5EA8BAFBA2E22FF6593AB0DA490115486B026E= ED49C0152D0A00738AE66254E5105081F48D177A1F5B8A2CE007E6B344B8D3094ADA569A9C3= 6A2100D98FD49A50A855C210DD59651915233F230EAE1E360ACDD7D7DEEBF7846CF29CA220D= C03860C7EA8ABADCFAC7BFE316FB45029DA01C16AAA41FAAD449A9B4E5B7A176EDFCD502A4B= FA6469FFA6E5ED! 6DCD0FBDBAAD06E00CBAD3EC858BB3DFC6711FB680995DCF453F5DBEFA7D5540E5099C 3525903E8142BB52B2F1750E7678EEA8630B5FDD45FB2E71415CDDD8F51072D57A20C55212C= 8940C546136B1F6BCF85F54FE250F7E41B4CF63636B9874EDF4477EA509D399D35CAA119A9C= DFD81B3AC0CBAA92B353575B9359E79354750A7386AFE3771A5D5BBDBDE4661D54B3118AA2E= A5BE2A84211368D44AC2A7F3C21A6239F104CECACD2FA00DFF7BEFF7F727E5923BBE5296839= 43EA3B0A1E676D5D4E482DCFA05FE2CCBAFDF2D2EADAEDE7D12A17A7BCD660ED605A4D45756= 892502CD87A0559F0BB3A0F59B454ED99E243EDBB6ED3EFBFDFD952AECB78BE692A71069DAC= E1D79E55D753535FF70873FA8AFE3BBC571D5D573E6BE0DA4F15EE983740146D52A84CAC55A= 257AAC6B7AD6302F8C2527F7DF13BFDB76BFFD7EBA47C964F45314F4E577CC28C8663AAD3CA= 63CA36BFED1C3C761FDBB471DFE76F1E2EA2D805AE20D5A5D621A0455DD10E659259609742A= 650F3AF6BB1CBCEB89A598F5C5EFF1D9847BECF76BFB8529E140A84E839F331919187547D7F= C53B7C65BBA3D263F15306F0BC81C94AB42E3A729076B039592B044D02A5FAB41A86B7A7E03= 2DB5F55FB8DCB9FE38B1EDDEFBFD5A814B392D1C54A9F6E47F2B63275454319E3BF3F2765C4= 34E9570E5DBB82D5B22B26DA817066BAE99024065C80095D9A354327F83C67ED61F96E220D0= FCECB67BEFF76B! F9F753AA1329CEFEB73240D276D65C39BCE34C02DACFFCE55476292895445D94BF60B091C5= BB26795462A59F50A2D754002AF12C5171F0E0724AAD1E370EDE7BBF5F3B408FD28FD451A66= C870F841A9391D8752A60FEE6A7D0AE967B5D51766911851ABA68CC8241675646E5F144831B= 4B26D129994A2535A5B8F803B6D6EE66E521257B2B5BD56FBF5FE0DA4C0D86EA670B539BCAB= 0209F02D49A80E897CF5C45EE6FF9E5D4DCA2D2D2B8EC39A456BDB8E7061DB05B8F85190C52= A14417CE24AFD18019ACB1BE4ACE449E561E52B3DF51FDA9FF7EBFE3A40FDF394B0D4C4A434= 55AED7AB9EB70C778F427B8474617815AE3905227784F58345D31E8D0F291C215516106B154= 2628A86023ADA21685C99CE58F4BB3EB8F33F7A9D9E86882EB7EFF1050D1869FDDF91126128= 49A917BF4D4D133BFF6A1DAEF97AE39A5A573E200B50D85AAF805A2C150DF859E1550191C99= 80C7B6A32A0F128F918DE4D227986C363AF0E1B2DF6F23D5BBD653B4FD7EA7804AA1A691A83= 53B3B9E72C74A4D3C95F597D2ECB8ECEC3925DE60AB5E33D5C641518D9A63D7CA21B5F2D1D9= 5A1BEA67C4F7FF229B9EE66789F7B7F6DFEFA750F5FA7EEE6F476DA7B44A7A14897A2B0F0F5= 373CB83CD09B84C1DD5B53FBBB4B4318EF47FEF45D3934F18073DBB6254AF0A4B0CF6E3F245= BCF00A8C0A617F! DFC183B3A8ED16FFF795CA77FAA1F29D510720E5D09C1F82D47B58A757F26EA5E5E6D6 E56E372775A3D32F7DA9A7E635966683905175D1F425B7073F666324D685251A5C50C15CDFB= 871DD8237FCFD9F2D50F5DBEF1F022AA9555B3C2D3B83945A73250F4A9580DC1990A6D07992= 512F37663716656FF9761EA9D5F83BCCC17603FF4A0E83AF5586B014E8CC32690088F533E6F= 21BD4B983E647953CD7F57718C000962A75DA9DA6AA54A4D4BC2B355772EBEAEA70958AAABF= 2B718D8D73B2E31AE7D9A2EAE87337EF81FA88F58B6B95552C2E57AF2A40EA64E20B54E115A= F54DCB0ED373C7E88ADFA001DF1D46A6DA7A7052EC31419AD45B5E77EDCABFA859405076F37= 844134ED4283F4A35DD77EE9C6EDB47B4744517563E3E2B8B83973779F0C0D9DB0689ADC742= FAD3E6292D47B5631582C894E85EF50E2CB5EE1F0F1AC6D77F0FAC2E7D550F78B04DAFFA150= F92E3D0AAA53B9745452A5246A704C624CB0A132F768DDCEBA9D5DF337FF6AC12EDB9778AAA= 8A8A871F162E45427013574D102A773AC4EA8EF6283D531122BDD185C894883D50AA8AF6054= E513B65DF2EB8F2B79CF69340211757A9A3FE0DCC7D19F501E45C6AAE098AA8CEDDBD1156C5= 8FBA0EDEDA3F0EF0A3D6A576351512990C66517CD3D791A50A727171AEF7D2044299BD80A6A= 55E06B75CA0A506AB8F295F0F043CA7D8FDBCED3343FAE66FFE947DB496FFD40633F29CDF9D= BC5E8580238D46! 6726FA232A3B2127554B9A906BF51D73D4897EACA8E2B2A8D03C9CE7E0D525556E8A2694B4= CF73B66239AEA09D6AAC0D7D5C84329EC2505EC258794C48BD7A9CD9CEB4FEF63BFF3276CAE= F8983712011D554AEBFB40A9B48309C05AEE990B71DFB3BCEAADA9EEDDE4886A54EE965288F= D24EAEEB9732740A4BACBBCFFE125565379157A8542CE2359C3D95BD5EC021E7BDB672F4EB6= 6DE6FBBFBF4DFD4F0A55824ECFF2D3F9039372C4B6FD8990CD642FBD236367578D674670D43= 32429E834F5BB6C52A738A962FF9FA6B87DF37E47C2CE290C89E5E81ABD6809C91ACE2E50AB= E1F37925662565E98BDB3692A8F8902779D54BD67FF9D1C1349BF891B3B40CE8FBF2B66F9E3= ADEE281775C2CEE8721F6CF2BA248E7B4B54DC85AE4759777FFD36B461123D153CCE24A04F8= B62AB47D6CF5C68D3CD556F53B6AE5E38EF35FFE7F83D0AAC517FD30EC8001152B959A5231C= 4D854336EEDDC79F8BDF667126C5B83EE5DA7B2B38BFED248A1CE2D393D21347EFAA3177FBA= 2FEA4D421616E6C60213A02E7FA3B60F55D4D0556DDDBAD07EB0C76372D2F36ACDEC035ABD4= 49693236B28465712D0F509A74405A0B0F666B319E22AA3AA2A66C78E1DB7B6771CF962BC6D= 77D8D2D711BDB8148AD438ECFEB8A89A10EAE5E254839CB4348952A0BC02B5F2D12DE0021B2= A16F5D68563BB6! DBBBA16FF8FDF57A974073ED7E75C5EBDA2780516A1935ED1618F4D9B4220526DDA54E F161C53595E6ED8F4F5D55F132C944E2DEE8947B7141551A8403AE7644949FE22AFE4577EBA= 3984F3AB4C4954981B34030A60E5915D3FC2E4A9E41FA8C064C7D1CE2D2E4D58A8D668D75DC= EC9293E06BA85FF38400115A914BCA92CB32C78F3E6ED19B9199BDBF7AEBA9AD0673B6CD4DD= F7CBCE80C510FBC150BF2151E79684FAC67B2D4877BD1E32F0B170936EE5D47A37066245AE8= 5DB7E40DD28177DF08146B595FDB8EDFC05F6AF8485CF6974EB5E7FFDF5D50D4880942BC5AF= 8490C3A9CD219BB16C3264A4C56CDE9BF24C529F635BD87DEACE79DF940269751CD22AAEA93= 0EA6C6248A782A1BE6AA80FABAA02D7C2B79679142ACAA650546DE46D7C22C1E2413B0EDAFC= F18F1FE9F49FA391FAEA06590E6D8E4A4EFCCAA2A2369919511D6FED59F98CFB64C7B94CCBA= 8A853D18DB0F8800A76BA05934E28F106A5F6BF863DD8617B514A13AE0470C42251FF864FFB= A291BFE639D52B9FF4398EA2200FF31FF79CE64D11A4AF75DCD5A05564A5B6911F8AFFE23D6= B8552E1CC517D16C7AFB2B83F95990A9AC42E1517575ABA259B5653DF1C22AAB182D5E40995= 00A0A653A8BCBF913D152AFB342AF99227F02E343964463F2CCDFEE316FE28D069F539E85C2= AA7BDBD9D3AEC09159554C89D397E57DF640BED4C605F42C7D1E8EFD0781207A9D2A2EA2DA8= 510D0D05D4690A! D3D02F8648A6267A5621567425186BF543D50768F9E53A0D3A412357172C6CB67878381D9E= B2F425248D7B7436BEA92E5C4B4D2C64B28699E313DC275BBA699CDD1E7DBFFEE3E5EFBE990= 7E9F43BF0288C5A847CCA1B0A15AFBB153787AA55C8AE978FA456B62E63488B256FE2774A54= 1F6EA56A69F22AA248B4759B937BD9B69C2C93FDFD1392767D3C7EDCC7E3762525F9BB374FB= 6D0BF8D3C6435EADAAD97179399F41BFC01CE3F6F7F1B74D4D0FDDFAD18CE25A6C28F8E5F4B= 6CAD65985735E8D1F31A1A95FA6F24AAFD82E79B1B55EF274D763A9166B3876EDAF96B5B58A= 27D575F4264C7A9E86FE34A31E8B7DFD882FFDC9212DC52259FBF399CFB56CAD7AF4E0AAA72= 4B61ADC8811A4B839EA2A06B15E5FC033A8DEAC78F9B9DF4752F21FF2296C9A39E0AFE47CDC= B5B1A17DB504170F047738AD078AFD1E9A6615DB82BFCE78A899E9EF528C1CAA01AE0917728= 9CBA29EDA5D5AB3FD2FD38CE7DB26520B0817EDE3DD97D7C7D484C5740F4962D8D5B16236DE= 2E5C7B39F93132640F107D17FCDCD61A11AAD1A46FDA449F50CD64A21BAC62CD7E944F67713= C80665B55EABBFA4D7EA3E9ABD30C9DF39780D483EB92F61FC5351C13BEA8EBE1CDD185D3D0= 7A12EC63E1557BA65FFFEB6D3135045B52079E0E783EE7539D4AA654C9C545FC55886328168= 097ABAC63E4FC3! A850553534404A6DC8D1EBB43F8EDBD5D76719D00E502C85E0307E668ADFD765693501 01D18D8D1173AAA31793A8A89C2A02D292B74FA38A7A36F3E6F0AFDC5A0529133D5B6B97A14= C802EC98B68CF51E02B7E02AD645D31AA52D616E7E45C7AF37F9E5B382EC1BDCF6271BA8161= B1F4B98FFAF5AAF9EB4DDB77EC4CCBCB3BD5151111702A7A4B3519A470DD9FFDDA7EBCFDEF1= D3F6D80EB4B43B9C8CCE44E9D14DB8A330148BAB356C96A5A9253BCEACB55202B5614E75CBA= 7CE9D281D9AB1F1D377E57524242425252D2AE5DE366CE5C756CC386E0CC5B69878F8246038= E469C8A8EA86EACDEDD8851172FAECE2E7AEDB5B9E49062FA82F4774774E7FA26A19878D613= B1E2B7B504A27411FE24515D36A685C2155FAEFA72C59797E1F3F20AD9E575AF7F79ECABAFB= EFCEA8BAFCCE64D86AACCAAF25B57AED45C01D8E8882D5BB62CAE2649B75457BFF6DA9CB9AF= FD7642E8E9455EA3E5E7467AE9BE8035313608589162F9E9F88227A555DA7CC23EF6E170BEE= 0D0C614EF6141CD5F157ED0EC56DE953C8C6AB351845A1D510D6D1FEE51A19F1A30A20EEDD9= 8DDBF2959352A11A80EA15BDB5C417902768495474C7CF7679166DFCD04769A84C316FB29D4= BCDC05D7F571AD66A7434E54CDF9496562352B4FA592469C503BC10522858762D28A8B2CA6D= 192A5F25E8CE9CC0F9EA240857662F52ED4728ECBB1308B5B2120DA772F36A6C4AC52A2D2D6= DACAEDE1D81953! A370BDAA99482DB37478E7A93A9989A3A29A8B516B10A65946629535DE7B83B0D0AB5F77EF= 6A16FB05B885B485515B9FC9575E8B41FA9D4C5B662AA7AF7EEDD27116A567CFCF499A2113F= BB811F0633A9210C04C67AD6BA315A56715743630036ABA050D7AD73907238B6D6DF861A5C8= 5AD34A40A0F547273EB024E1D8D8E8EFE962A53E2A0F8DFBDFBB7BFFD2D4A52F15E91CFA417= 1A1F0015BD0A58C15D163B05C52CC64A564B03F9C61E46BD74E9D2E5CBC532C7C01F38F7D2B= 6FCF0F1296AC31F16BF068C20C066A7C8A18A204861D2ACD04563EEDCE5163EF8C33B4AC9B2= 49939A5AEBDD520056C85550A439924BE45304F6A68FBE3F05B818358624A550A3031A4BFF4= 2AE7E7575F61C207DFBEDB7A198F29A962C62FEF4E0CF19190BE5C91353DB82EA97A1A8C542= 2F150269710E5E7B8C483B432166D8372882494C24680FBDAEE6E8D1E8C5A0D6461034469F3= 70FA5A8B7BD4F43D7AFB8EFBB81437C24AA50B47262EA7CCFDADA5AE45CC08AA613329A9972= 6CDECF4143143F3B6AA61D14A3824F21CE4628F8A1E8DBDF968548BD17C5DF492E78488F44A= 13BF8AC89918181ADAD6E5011AC6A20071332050EFFF695670DB0897E2B8D3C928E04152A68= 8E829AE93920BB21F0A3419AD70285AAF0A1BD12662244C9137FCE0F84A01595D2D202391F2= D790399AAA4F65! B73039CF3BF959647911E4581EA5B0C5A04A914652844EAE5355AC11CC2137C4345359 A4EF01477CE9E4D8DADF49CE8C64861B500D4AA55A8C973A855ECBCE3439E9F855A2AB70640= 036A0290A19275D46B18D4DB1B55D2D3466B86F456E0305EB433128A657722A704050595A35= 8C0309BCDA05D21582B8B0AAA78EC43230D8ED991792B039306D405603B8DC3BB52A0D2096F= 232B8596EFA995835728237E27D0D823624D4D9DD2B63B088A58B77A831BB0B6403CA0C23F5= 7BA971C4F23D4EDC1F6235428F423D080886A88A4E04CFBDBDADA26204E6FC85077930B86F8= FEE2B05E5F3416AAB85323A7F80605C6B6B6D6D6BBB99951ECA22629A055A7AB3358A924298= AFC50F94557431EDD8F494B266052AF6977D395437D8975786F5A1A0B0901EBCECF67037D03= CFC6B656CDA8A71E0506BE0DE20DF42A2538B88CD429891A5117111D1101E9BE0DFBD28409A= 731E9DD64F98921BF193BDC474D8D850502EE8C9FCF9E0D0C8A8D8D6D6D025A904DA4F8F931= EC5B93E4A9340A3428222202D40984BF7D1BA551EFFCF8F8313FDF495E123E8C375847F054A= C8948E7DEFD79CCD97CDFA0A0D8C0D8D87A30857A039210A0260B29AA9ACAADACF304370CDA= 1FB1BF6DFFDCB9E8A0375AF9D0F8455ED31770353DB787F376F4881EE035F5A48F5E30E6AC2= F4850906713487D7D3DFAEA568B9E87AEA58ABECA204F0C1A848CB30D8AE7B92429ACFCF405= C94BD6986E0EEB! 4F1D012A1A7C99948A94896723A74C99E21B084ED6143BA3A9B515CCA1094B6BAB67ABA727= E284FFF364D0C9365FF02310D02A9A9D7A81DBA7FBDC1EAE8246FA02B389D0485853EF449E9= D9235657F6020D8019619E47F3C01117D0682DE03DBD075A41274140502FEA2F8E977C09946= F2C8F9033C176F62A673199013B2E6B6B5F90622390B9481A4A406228DFB96A00F249040437= 1F33C2D39BDC20426FAEEBBFF3E54FC2EA388CB98181939E5EC94FCFCD3F9A70116A2185225= 10624892131D43098D8F8FC72B5F31D257E31FF0B97853A1559D9E7C17426D7EBE777E49BE6= F7E49C9695FEF7CEF126FF8249D088750707908F7AF3CC87BF10FE1117E9355FD918CB5ECCE= CF6320DC8EC91F939F0FCCDEF0351FAB1294E935E6CE32165FAE3CF7D3833CC3FF30FEBD00A= 3D174EE62F82BE9E977172C98366DFAF4E963904090F79A3E7DDAB405A3472BD2D544E103FF= EB060F03D5BE31C756C9450A8542865E0246CFC44BF8682F8938E14849C6FF4F508DF85F3A2= 8F4F139015278EEDCB91327CEB9E8F28151FF73FEC590FF18F95F0106009BB82CA79ADF6F60= 0000000049454E44AE426082'); = Deleted: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/se= amspace/AuthenticationEvents.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/AuthenticationEvents.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/AuthenticationEvents.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -1,19 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Observer; -import org.jboss.seam.contexts.Contexts; -import org.jboss.seam.security.Identity; -import org.jboss.seam.security.RuleBasedIdentity; -import org.jboss.seam.security.management.JpaIdentityStore; - -(a)Name("authenticationEvents") -public class AuthenticationEvents -{ - @Observer(JpaIdentityStore.EVENT_ACCOUNT_AUTHENTICATED) - public void loginSuccessful(MemberAccount account) - { - Contexts.getSessionContext().set("authenticatedMember", account.getM= ember()); - ((RuleBasedIdentity) Identity.instance()).getSecurityContext().inser= t(account.getMember()); - } -} Added: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seam= space/Authenticator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/Authenticator.java (rev 0) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/Authenticator.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -0,0 +1,70 @@ +package org.jboss.seam.example.seamspace; + +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; + +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.contexts.Contexts; +import org.jboss.seam.security.Identity; + +/** + * Authenticator bean - authenticates the user against the database + * = + * @author Shane Bryzak + */ +(a)Name("authenticator") +public class Authenticator +{ + @In + private EntityManager entityManager; + = + @In + private Identity identity; + + public boolean authenticate() = + { + try + { = + Member member =3D (Member) entityManager.createQuery( + "from Member where username =3D :username") + .setParameter("username", identity.getUsername()) + .getSingleResult(); + = + if ( !compareHash( member.getHashedPassword(), identity.getPasswo= rd() ) ) = + { + return false; + } + = + Contexts.getSessionContext().set("authenticatedMember", member); + = + for ( MemberRole mr : member.getRoles() ) + { + identity.addRole(mr.getName()); + } + = + return true; + } + catch (NoResultException ex) + { + return false; + } = + } + = + private boolean compareHash(String hash, String password) = + { + if (hash =3D=3D null || password =3D=3D null) = + { + return false; + } + = + String newHash =3D Hash.instance().hash(password); + if (newHash =3D=3D null) = + { + return false; + } + + return hash.equalsIgnoreCase(newHash); + } + +} Modified: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/s= eamspace/Member.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/Member.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/Member.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -11,6 +11,8 @@ import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -56,6 +58,9 @@ }; = private Integer memberId; + private String username; + + private String hashedPassword; private String memberName; private String firstName; private String lastName; @@ -68,6 +73,7 @@ private String location; private Date memberSince; = + private Set roles; private Set images; = private Set friends; = @@ -81,6 +87,29 @@ { this.memberId =3D memberId; } + + @NotNull + @Length(min =3D 4, max =3D 20) + public String getUsername() + { + return username; + } + + public void setUsername(String username) + { + this.username =3D username; + } + + @NotNull + public String getHashedPassword() + { + return hashedPassword; + } + + public void setHashedPassword(String hashedPassword) + { + this.hashedPassword =3D hashedPassword; + } = @NotNull @Length(min =3D 3, max =3D 40) @@ -133,6 +162,18 @@ this.email =3D email; } = + @ManyToMany + @JoinTable(name =3D "MemberRoles", joinColumns =3D @JoinColumn(name =3D= "MEMBER_ID"), inverseJoinColumns =3D @JoinColumn(name =3D "ROLE_ID")) + public Set getRoles() + { + return roles; + } + + public void setRoles(Set roles) + { + this.roles =3D roles; + } + @OneToOne(fetch =3D FetchType.LAZY) @JoinColumn(name =3D "PICTURE_ID") public MemberImage getPicture() @@ -238,4 +279,4 @@ int age =3D ny - by + (nm > bm || (nm =3D=3D bm && nd >=3D bd) ? 0 := -1); = return String.format("%d years old", age); = = } -} +} \ No newline at end of file Deleted: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/se= amspace/MemberAccount.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/MemberAccount.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/MemberAccount.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -1,122 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import java.io.Serializable; -import java.util.Set; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.UniqueConstraint; - -import org.hibernate.validator.NotNull; -import org.jboss.seam.security.management.UserAccount; - -(a)Entity -(a)Table(uniqueConstraints =3D @UniqueConstraint(columnNames =3D "username= ")) -public class MemberAccount extends UserAccount implements Serializable -{ - private static final long serialVersionUID =3D 6368734442192368866L; - = - private Integer accountId; - private String username; - private String passwordHash; - private boolean enabled; = - private AccountType accountType; - private Set memberships; - private Member member; = - = - @Id @GeneratedValue - public Integer getAccountId() - { - return accountId; - } - = - public void setAccountId(Integer accountId) - { - this.accountId =3D accountId; - } - = - @NotNull - @Override - public String getUsername() - { - return username; - } - = - @Override - public void setUsername(String username) - { - this.username =3D username; - } - = - @Override = - public String getPasswordHash() - { - return passwordHash; - } - = - @Override - public void setPasswordHash(String passwordHash) - { - this.passwordHash =3D passwordHash; = - } = - = - @Override - public AccountType getAccountType() - { - return accountType; - } - = - @Override - public void setAccountType(AccountType accountType) - { - this.accountType =3D accountType; - } - = - @Override - public boolean isEnabled() - { - return enabled; - } - - - @Override - public void setEnabled(boolean enabled) - { - this.enabled =3D enabled; = - } = - - @ManyToMany(targetEntity =3D MemberAccount.class) - @JoinTable(name =3D "AccountMembership", = - joinColumns =3D @JoinColumn(name =3D "AccountId"), - inverseJoinColumns =3D @JoinColumn(name =3D "MemberOf") - ) - @Override - public Set getMemberships() - { - return memberships; - } - = - @Override - public void setMemberships(Set memberships) - { - this.memberships =3D memberships; - } - = - @OneToOne - @JoinColumn(name =3D "MEMBER_ID") - public Member getMember() - { - return member; - } - = - public void setMember(Member member) - { - this.member =3D member; - } -} Added: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seam= space/MemberRole.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/MemberRole.java (rev 0) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/MemberRole.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -0,0 +1,44 @@ +package org.jboss.seam.example.seamspace; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.Id; + +import org.jboss.seam.annotations.Name; + +/** + * Represents a security role. + * = + * @author Shane Bryzak + */ +(a)Entity +(a)Name("memberRole") +public class MemberRole implements Serializable +{ + private static final long serialVersionUID =3D 9177366120789064801L; + + private Integer roleId; + + private String name; + + @Id + public Integer getRoleId() + { + return roleId; + } + + public void setRoleId(Integer roleId) + { + this.roleId =3D roleId; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name =3D name; + } +} Modified: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/s= eamspace/RegisterAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/RegisterAction.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/RegisterAction.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -3,8 +3,10 @@ import static org.jboss.seam.ScopeType.CONVERSATION; = import java.util.Date; +import java.util.HashSet; = import javax.ejb.Remove; +import javax.ejb.Stateful; import javax.persistence.EntityManager; = import org.jboss.seam.annotations.Begin; @@ -13,14 +15,10 @@ import org.jboss.seam.annotations.Factory; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Observer; import org.jboss.seam.annotations.Out; import org.jboss.seam.annotations.Scope; import org.jboss.seam.faces.FacesMessages; import org.jboss.seam.security.Identity; -import org.jboss.seam.security.RunAsOperation; -import org.jboss.seam.security.management.IdentityManager; -import org.jboss.seam.security.management.JpaIdentityStore; = @Scope(CONVERSATION) @Name("register") @@ -34,19 +32,12 @@ = @In private Identity identity; - = - @In - private IdentityManager identityManager; - = - private MemberAccount newAccount; - = - private String username; = - = + /** * Password confirmation */ private String password; - private String confirm; = + private String confirm; = private String gender; = @@ -70,53 +61,27 @@ if (!verified) { FacesMessages.instance().addToControl("confirmPassword", "Passwor= ds do not match"); - } = - } - = - @Observer(JpaIdentityStore.EVENT_ACCOUNT_CREATED) - public void accountCreated(MemberAccount account) - { - // The user *may* have been created from the user manager screen. In= that - // case, create a dummy Member record just for the purpose of demons= trating the - // identity management API - if (newMember =3D=3D null) - { - newMember =3D new Member(); - newMember.setMemberName(account.getUsername()); - newMember.setGender(Member.Gender.male); - newMember.setFirstName("John"); - newMember.setLastName("Doe"); - newMember.setEmail(account.getUsername() + "@nowhere.com"); - newMember.setDob(new Date()); - newMember.setMemberSince(new Date()); - entityManager.persist(newMember); } - = - account.setMember(newMember); - this.newAccount =3D account; + = + newMember.setHashedPassword(Hash.instance().hash(password)); + = } = @End public void uploadPicture() = - { = - newMember.setMemberSince(new Date()); = - entityManager.persist(newMember); = + { + newMember.setMemberSince(new Date()); + newMember.setRoles(new HashSet()); = - new RunAsOperation() { - @Override - public String[] getRoles() { - return new String[] { "admin" }; - } - = - public void execute() { - identityManager.createAccount(username, password); - identityManager.grantRole(username, "user"); = - } = - }.run(); - = - newAccount.setMember(newMember); - newAccount =3D entityManager.merge(newAccount); + MemberRole userRole =3D (MemberRole) entityManager.createQuery( + "from MemberRole where name =3D 'user'") + .getSingleResult(); + = + newMember.getRoles().add(userRole); = + + entityManager.persist(newMember); + if (picture !=3D null && picture.length > 0) { MemberImage img =3D new MemberImage(); @@ -130,21 +95,11 @@ } = // Login the user - identity.setUsername(username); + identity.setUsername(newMember.getUsername()); identity.setPassword(password); identity.login(); } - = - public String getUsername() - { - return username; - } - = - public void setUsername(String username) - { - this.username =3D username; - } - = + public String getPassword() { return password; @@ -202,4 +157,4 @@ = @Destroy @Remove public void destroy() {} -} +} \ No newline at end of file Deleted: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/se= amspace/UserAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/UserAction.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/UserAction.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -1,172 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import static org.jboss.seam.ScopeType.CONVERSATION; - -import java.util.ArrayList; -import java.util.List; - -import org.jboss.seam.annotations.Begin; -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.core.Conversation; -import org.jboss.seam.faces.FacesMessages; -import org.jboss.seam.security.management.IdentityManager; - -(a)Name("userAction") -(a)Scope(CONVERSATION) -public class UserAction -{ - private String username; - private String password; - private String confirm; - private List roles; - private boolean enabled; - = - @In IdentityManager identityManager; - = - @Begin - public void createUser() - { - roles =3D new ArrayList(); - } - = - @Begin - public void editUser(String username) - { - this.username =3D username; - roles =3D identityManager.getGrantedRoles(username); - enabled =3D identityManager.isEnabled(username); - } - = - public String save() - { - if (identityManager.accountExists(username)) - { - return saveExistingUser(); - } - else - { - return saveNewUser(); - } - } - = - private String saveNewUser() - { = - if (!password.equals(confirm)) - { - FacesMessages.instance().addToControl("password", "Passwords do n= ot match"); - return "failure"; - } - = - boolean success =3D identityManager.createAccount(username, password= ); - = - if (success) - { - for (String role : roles) - { - identityManager.grantRole(username, role); - } - = - if (!enabled) - { - identityManager.disableAccount(username); = - } - = - Conversation.instance().end(); - } - = - return "success"; = - } - = - private String saveExistingUser() - { - // Check if a new password has been entered - if (password !=3D null && !"".equals(password)) - { - if (!password.equals(confirm)) - { - FacesMessages.instance().addToControl("password", "Passwords d= o not match"); - return "failure"; - } - else - { - identityManager.changePassword(username, password); - } - } - = - List grantedRoles =3D identityManager.getGrantedRoles(userna= me); - = - for (String role : grantedRoles) - { - if (!roles.contains(role)) identityManager.revokeRole(username, r= ole); - } - = - for (String role : roles) - { - if (!grantedRoles.contains(role)) identityManager.grantRole(usern= ame, role); - } - = - if (enabled) - { - identityManager.enableAccount(username); - } - else - { - identityManager.disableAccount(username); - } - = - Conversation.instance().end(); - return "success"; - } - = - public String getUsername() - { - return username; - } - = - public void setUsername(String username) - { - this.username =3D username; - } - = - public String getPassword() - { - return password; - } - = - public void setPassword(String password) - { - this.password =3D password; - } - = - public String getConfirm() - { - return confirm; - } - = - public void setConfirm(String confirm) - { - this.confirm =3D confirm; - } - = - public List getRoles() - { - return roles; - } - = - public void setRoles(List roles) - { - this.roles =3D roles; - } - = - public boolean isEnabled() - { - return enabled; - } - = - public void setEnabled(boolean enabled) - { - this.enabled =3D enabled; - } -} Deleted: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/se= amspace/UserSearch.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/UserSearch.java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/UserSearch.java 2008-04-04 02:08:22 UTC (rev 7814) @@ -1,51 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import static org.jboss.seam.ScopeType.SESSION; - -import java.io.Serializable; -import java.util.List; - -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.datamodel.DataModel; -import org.jboss.seam.annotations.datamodel.DataModelSelection; -import org.jboss.seam.security.management.IdentityManager; - -(a)Name("userSearch") -(a)Scope(SESSION) -public class UserSearch implements Serializable -{ - private static final long serialVersionUID =3D 8592034786339372510L; - - @DataModel - List users; - = - @DataModelSelection - String selectedUser; - = - @In IdentityManager identityManager; - = - public void loadUsers() - { - users =3D identityManager.listUsers(); = - } - = - public String getUserRoles(String username) - { - List roles =3D identityManager.getGrantedRoles(username); - StringBuilder sb =3D new StringBuilder(); - = - for (String role : roles) - { - sb.append((sb.length() > 0 ? ", " : "") + role); = - } - = - return sb.toString(); = - } - = - public String getSelectedUser() - { - return selectedUser; - } -} \ No newline at end of file Deleted: branches/Seam_2_0/src/main/org/jboss/seam/identity-management-2.0.= xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/identity-management-2.0.xsd 2= 008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/src/main/org/jboss/seam/identity-management-2.0.xsd 2= 008-04-04 02:08:22 UTC (rev 7814) @@ -1,18 +0,0 @@ - - - - - - - - - - - = - - - - = - Modified: branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLogin= Module.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule= .java 2008-04-03 21:36:37 UTC (rev 7813) +++ branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule= .java 2008-04-04 02:08:22 UTC (rev 7814) @@ -115,40 +115,9 @@ } } = - // Otherwise if identity management is enabled, use it. - IdentityManager identityManager =3D IdentityManager.instance(); - if (identityManager !=3D null && identityManager.getIdentityStore() = !=3D null) - { - Identity identity =3D Identity.instance(); - = - try - { - boolean success =3D identityManager.authenticate(username, ide= ntity.getPassword()); - = - if (success) - { - for (String role : identityManager.getImpliedRoles(username= )) - { - identity.addRole(role); - } - } - = - return success; - } - catch (Exception ex) - { - log.error("Error invoking login method", ex); - LoginException le =3D new LoginException(ex.getMessage()); - le.initCause(ex); - throw le; - } - } - else - { - log.error("No authentication method defined - " + - "please define authenticate-method for = in components.xml"); - throw new LoginException("No authentication method defined"); - } + log.error("No authentication method defined - " + + "please define authenticate-method for in c= omponents.xml"); + throw new LoginException("No authentication method defined"); = } = --===============7176970016334770520==-- From seam-commits at lists.jboss.org Fri Apr 4 00:18:59 2008 Content-Type: multipart/mixed; boundary="===============3965519774548242501==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7815 - branches/Seam_2_0/src/main/org/jboss/seam/security/jaas. Date: Fri, 04 Apr 2008 00:18:59 -0400 Message-ID: --===============3965519774548242501== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-04 00:18:58 -0400 (Fri, 04 Apr 2008) New Revision: 7815 Modified: branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule.= java Log: oops Modified: branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLogin= Module.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule= .java 2008-04-04 02:08:22 UTC (rev 7814) +++ branches/Seam_2_0/src/main/org/jboss/seam/security/jaas/SeamLoginModule= .java 2008-04-04 04:18:58 UTC (rev 7815) @@ -21,7 +21,6 @@ import org.jboss.seam.security.Identity; import org.jboss.seam.security.SimpleGroup; import org.jboss.seam.security.SimplePrincipal; -import org.jboss.seam.security.management.IdentityManager; = /** * Performs authentication using a Seam component --===============3965519774548242501==-- From seam-commits at lists.jboss.org Fri Apr 4 13:16:40 2008 Content-Type: multipart/mixed; boundary="===============5691477271817748055==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7816 - trunk/build and 1 other directory. Date: Fri, 04 Apr 2008 13:16:39 -0400 Message-ID: --===============5691477271817748055== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-04 13:16:39 -0400 (Fri, 04 Apr 2008) New Revision: 7816 Modified: branches/Seam_2_0/build/core.pom.xml branches/Seam_2_0/build/ioc.pom.xml branches/Seam_2_0/build/root.pom.xml trunk/build/core.pom.xml trunk/build/ioc.pom.xml trunk/build/root.pom.xml Log: JBSEAM-2831 Modified: branches/Seam_2_0/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/core.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ branches/Seam_2_0/build/core.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -46,7 +46,7 @@ = - jboss + javassist javassist = Modified: branches/Seam_2_0/build/ioc.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/ioc.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ branches/Seam_2_0/build/ioc.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -47,7 +47,7 @@ = - jboss + javassist javassist = Modified: branches/Seam_2_0/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/root.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ branches/Seam_2_0/build/root.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -382,9 +382,9 @@ = - jboss + javassist javassist - 3.3.ga + 3.3.GA = Modified: trunk/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/core.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ trunk/build/core.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -46,7 +46,7 @@ = - jboss + javassist javassist = Modified: trunk/build/ioc.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/ioc.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ trunk/build/ioc.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -47,7 +47,7 @@ = - jboss + javassist javassist = Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-04 04:18:58 UTC (rev 7815) +++ trunk/build/root.pom.xml 2008-04-04 17:16:39 UTC (rev 7816) @@ -43,7 +43,7 @@ = - 3.1.4.GA + 3.2.0.GA 1.3.0-SNAPSHOT 4.0.6 @@ -400,9 +400,9 @@ = - jboss + javassist javassist - 3.3.ga + 3.3.GA = --===============5691477271817748055==-- From seam-commits at lists.jboss.org Fri Apr 4 14:02:09 2008 Content-Type: multipart/mixed; boundary="===============4655933491048851907==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7817 - trunk/examples/hibernate and 1 other directory. Date: Fri, 04 Apr 2008 14:02:08 -0400 Message-ID: --===============4655933491048851907== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-04 14:02:08 -0400 (Fri, 04 Apr 2008) New Revision: 7817 Modified: branches/Seam_2_0/examples/hibernate/build-tomcat6.xml trunk/examples/hibernate/build-tomcat6.xml Log: JBSEAM-2830 Modified: branches/Seam_2_0/examples/hibernate/build-tomcat6.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/build-tomcat6.xml 2008-04-04 17:16= :39 UTC (rev 7816) +++ branches/Seam_2_0/examples/hibernate/build-tomcat6.xml 2008-04-04 18:02= :08 UTC (rev 7817) @@ -34,6 +34,7 @@ + Modified: trunk/examples/hibernate/build-tomcat6.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-tomcat6.xml 2008-04-04 17:16:39 UTC (rev= 7816) +++ trunk/examples/hibernate/build-tomcat6.xml 2008-04-04 18:02:08 UTC (rev= 7817) @@ -34,6 +34,7 @@ + --===============4655933491048851907==-- From seam-commits at lists.jboss.org Fri Apr 4 14:59:58 2008 Content-Type: multipart/mixed; boundary="===============1563473150701787571==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7818 - trunk/build. Date: Fri, 04 Apr 2008 14:59:58 -0400 Message-ID: --===============1563473150701787571== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-04 14:59:57 -0400 (Fri, 04 Apr 2008) New Revision: 7818 Modified: trunk/build/root.pom.xml Log: Ooops Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-04 18:02:08 UTC (rev 7817) +++ trunk/build/root.pom.xml 2008-04-04 18:59:57 UTC (rev 7818) @@ -43,7 +43,7 @@ = - 3.2.0.GA + 3.1.4.GA 1.3.0-SNAPSHOT 4.0.6 --===============1563473150701787571==-- From seam-commits at lists.jboss.org Fri Apr 4 15:10:38 2008 Content-Type: multipart/mixed; boundary="===============6651784561349441668==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7819 - trunk and 1 other directory. Date: Fri, 04 Apr 2008 15:10:37 -0400 Message-ID: --===============6651784561349441668== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-04 15:10:37 -0400 (Fri, 04 Apr 2008) New Revision: 7819 Modified: branches/Seam_2_0/build.xml trunk/build.xml Log: JBSEAM-2842 Modified: branches/Seam_2_0/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build.xml 2008-04-04 18:59:57 UTC (rev 7818) +++ branches/Seam_2_0/build.xml 2008-04-04 19:10:37 UTC (rev 7819) @@ -80,12 +80,7 @@ - = - ${basedir} : ${dist.dir} = - - - = @@ -379,13 +374,6 @@ = - - - - - - - Modified: trunk/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build.xml 2008-04-04 18:59:57 UTC (rev 7818) +++ trunk/build.xml 2008-04-04 19:10:37 UTC (rev 7819) @@ -82,9 +82,6 @@ - - - = @@ -411,13 +408,6 @@ = - - - - - - - --===============6651784561349441668==-- From seam-commits at lists.jboss.org Sat Apr 5 11:08:58 2008 Content-Type: multipart/mixed; boundary="===============5354270048305555782==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7820 - trunk/build and 1 other directory. Date: Sat, 05 Apr 2008 11:08:58 -0400 Message-ID: --===============5354270048305555782== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-05 11:08:57 -0400 (Sat, 05 Apr 2008) New Revision: 7820 Modified: branches/Seam_2_0/build/root.pom.xml trunk/build/root.pom.xml Log: JBSEAM-2831 Modified: branches/Seam_2_0/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/root.pom.xml 2008-04-04 19:10:37 UTC (rev 7819) +++ branches/Seam_2_0/build/root.pom.xml 2008-04-05 15:08:57 UTC (rev 7820) @@ -265,6 +265,10 @@ commons-logging commons-logging
+ + org.hibernate + ejb3-persistence + = Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-04 19:10:37 UTC (rev 7819) +++ trunk/build/root.pom.xml 2008-04-05 15:08:57 UTC (rev 7820) @@ -277,6 +277,10 @@ commons-logging commons-logging + + org.hibernate + ejb3-persistence + = --===============5354270048305555782==-- From seam-commits at lists.jboss.org Mon Apr 7 04:58:53 2008 Content-Type: multipart/mixed; boundary="===============6705092260747041882==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7821 - in trunk/src/main/org/jboss/seam/security/management: action and 1 other directory. Date: Mon, 07 Apr 2008 04:58:53 -0400 Message-ID: --===============6705092260747041882== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 04:58:53 -0400 (Mon, 07 Apr 2008) New Revision: 7821 Added: trunk/src/main/org/jboss/seam/security/management/action/ trunk/src/main/org/jboss/seam/security/management/action/RoleAction.java trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.java trunk/src/main/org/jboss/seam/security/management/action/UserAction.java trunk/src/main/org/jboss/seam/security/management/action/UserSearch.java Removed: trunk/src/main/org/jboss/seam/security/management/UserAction.java Modified: trunk/src/main/org/jboss/seam/security/management/IdentityManager.java trunk/src/main/org/jboss/seam/security/management/IdentityStore.java trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.java Log: various fixed, added action components Modified: trunk/src/main/org/jboss/seam/security/management/IdentityManager= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/IdentityManager.java = 2008-04-05 15:08:57 UTC (rev 7820) +++ trunk/src/main/org/jboss/seam/security/management/IdentityManager.java = 2008-04-07 08:58:53 UTC (rev 7821) @@ -213,6 +213,11 @@ return roleIdentityStore.getImpliedRoles(name); } = + public List getRoleGroups(String name) + { + return roleIdentityStore.getRoleGroups(name); + } + = public boolean authenticate(String username, String password) { return identityStore.authenticate(username, password); Modified: trunk/src/main/org/jboss/seam/security/management/IdentityStore.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/IdentityStore.java 20= 08-04-05 15:08:57 UTC (rev 7820) +++ trunk/src/main/org/jboss/seam/security/management/IdentityStore.java 20= 08-04-07 08:58:53 UTC (rev 7821) @@ -87,6 +87,7 @@ = List getGrantedRoles(String name); List getImpliedRoles(String name); + List getRoleGroups(String name); = boolean authenticate(String username, String password); } Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStor= e.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-05 15:08:57 UTC (rev 7820) +++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-07 08:58:53 UTC (rev 7821) @@ -104,15 +104,15 @@ String methodName =3D propertyMethod.getName(); = this.name =3D methodName.startsWith("get") ? - (methodName.substring(3,1).toLowerCase() + methodName.subst= ring(4)) : - (methodName.substring(2,1).toLowerCase() + methodName.subst= ring(3)); + (methodName.substring(3,4).toLowerCase() + methodName.subst= ring(4)) : + (methodName.substring(2,3).toLowerCase() + methodName.subst= ring(3)); = String setterName =3D propertyMethod.getName().startsWith("get") ? ("set" + methodName.substring(3)) : ("set" + methodName.sub= string(2)); = try { - propertySetter =3D propertyMethod.getClass().getMethod(setterN= ame, new Class[] {propertyMethod.getReturnType()}); + propertySetter =3D propertyMethod.getDeclaringClass().getMetho= d(setterName, new Class[] {propertyMethod.getReturnType()}); } catch (NoSuchMethodException ex) { @@ -273,25 +273,25 @@ = if (userPrincipalProperty =3D=3D null) = { - throw new RuntimeException("Invalid userClass " + userClass.getNa= me() + = + throw new IdentityManagementException("Invalid userClass " + user= Class.getName() + = " - required annotation @UserPrincipal not found on any Fie= ld or Method."); } = if (userPasswordProperty =3D=3D null) = { - throw new RuntimeException("Invalid userClass " + userClass.getNa= me() + = + throw new IdentityManagementException("Invalid userClass " + user= Class.getName() + = " - required annotation @UserPassword not found on any Fiel= d or Method."); } = = if (userRolesProperty =3D=3D null) { - throw new RuntimeException("Invalid userClass " + userClass.getNa= me() + = + throw new IdentityManagementException("Invalid userClass " + user= Class.getName() + = " - required annotation @UserRoles not found on any Field or Meth= od."); = } = if (roleNameProperty =3D=3D null) { - throw new RuntimeException("Invalid roleClass " + roleClass.getNa= me() + = + throw new IdentityManagementException("Invalid roleClass " + role= Class.getName() + = " - required annotation @RoleName not found on any Field or Metho= d."); = } } @@ -595,6 +595,31 @@ return roles; = } = + public List getRoleGroups(String name) + { + Object role =3D lookupRole(name); + if (role =3D=3D null) + { + throw new NoSuchUserException("No such role '" + name + "'"); + } + + List groups =3D new ArrayList(); + = + if (roleGroupsProperty !=3D null) + { + Collection roleGroups =3D (Collection) roleGroupsProperty.getValu= e(role); + if (roleGroups !=3D null) + { + for (Object group : roleGroups) + { + groups.add((String) roleNameProperty.getValue(group)); + } + } + } + = + return groups; = + } + = public List getImpliedRoles(String name) { Object user =3D lookupUser(name); @@ -622,13 +647,16 @@ { = Object instance =3D lookupRole(role); = - Collection groups =3D (Collection) roleGroupsProperty.getValue(in= stance); - = - if (groups !=3D null) + if (roleGroupsProperty !=3D null) { - for (Object group : groups) + Collection groups =3D (Collection) roleGroupsProperty.getValue= (instance); + = + if (groups !=3D null) { - addRoleAndMemberships((String) roleNameProperty.getValue(gr= oup), roles); + for (Object group : groups) + { + addRoleAndMemberships((String) roleNameProperty.getValue= (group), roles); + } } } } @@ -673,7 +701,7 @@ try { Object user =3D lookupEntityManager().createQuery( - "select u from " + userClass.getName() + "u where " + userPrin= cipalProperty.getName() + + "select u from " + userClass.getName() + " u where " + userPri= ncipalProperty.getName() + " =3D :username") .setParameter("username", username) .getSingleResult(); @@ -691,7 +719,7 @@ try { Object value =3D lookupEntityManager().createQuery( - "select r from " + roleClass.getName() + "r where " + roleName= Property.getName() + + "select r from " + roleClass.getName() + " r where " + roleNam= eProperty.getName() + " =3D :role") .setParameter("role", role) .getSingleResult(); @@ -715,7 +743,7 @@ { return lookupEntityManager().createQuery( "select u." + userPrincipalProperty.getName() + " from " + use= rClass.getName() + = - "u where lower(" + userPrincipalProperty.getName() + ") like := username") + " u where lower(" + userPrincipalProperty.getName() + ") like = :username") .setParameter("username", "%" + (filter !=3D null ? filter.toL= owerCase() : "") + = "%") .getResultList(); Modified: trunk/src/main/org/jboss/seam/security/management/LdapIdentitySto= re.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.jav= a 2008-04-05 15:08:57 UTC (rev 7820) +++ trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.jav= a 2008-04-07 08:58:53 UTC (rev 7821) @@ -1191,4 +1191,10 @@ } } } + + public List getRoleGroups(String name) + { + // TODO Auto-generated method stub + return null; + } } Deleted: trunk/src/main/org/jboss/seam/security/management/UserAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/UserAction.java 2008-= 04-05 15:08:57 UTC (rev 7820) +++ trunk/src/main/org/jboss/seam/security/management/UserAction.java 2008-= 04-07 08:58:53 UTC (rev 7821) @@ -1,212 +0,0 @@ -package org.jboss.seam.security.management; - -import static org.jboss.seam.ScopeType.CONVERSATION; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import org.jboss.seam.annotations.Begin; -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.core.Conversation; -import org.jboss.seam.faces.FacesMessages; -import org.jboss.seam.security.management.IdentityManager; - -/** - * A conversation-scoped component for creating and managing user accounts - * = - * @author Shane Bryzak - */ -(a)Name("org.jboss.seam.security.userAction") -(a)Scope(CONVERSATION) -public class UserAction implements Serializable -{ - private String firstname; - private String lastname; - private String username; - private String password; - private String confirm; - private List roles; - private boolean enabled; - = - private boolean newUserFlag; = - = - @In IdentityManager identityManager; - = - @Begin - public void createUser() - { - roles =3D new ArrayList(); - newUserFlag =3D true; - } - = - @Begin - public void editUser(String username) - { = - this.username =3D username; - roles =3D identityManager.getGrantedRoles(username); - enabled =3D identityManager.isUserEnabled(username); - newUserFlag =3D false; - } - = - public String save() - { - if (newUserFlag) - { - return saveNewUser(); - } - else - { - return saveExistingUser(); - } - } - = - private String saveNewUser() - { = - if (!password.equals(confirm)) - { - FacesMessages.instance().addToControl("password", "Passwords do n= ot match"); - return "failure"; - } - = - boolean success =3D identityManager.createUser(username, password, f= irstname, lastname); - = - if (success) - { - for (String role : roles) - { - identityManager.grantRole(username, role); - } - = - if (!enabled) - { - identityManager.disableUser(username); = - } - = - Conversation.instance().end(); - = - return "success"; - } - = - return "failure"; = - } - = - private String saveExistingUser() - { - // Check if a new password has been entered - if (password !=3D null && !"".equals(password)) - { - if (!password.equals(confirm)) - { - FacesMessages.instance().addToControl("password", "Passwords d= o not match"); - return "failure"; - } - else - { - identityManager.changePassword(username, password); - } - } - = - List grantedRoles =3D identityManager.getGrantedRoles(userna= me); - = - if (grantedRoles !=3D null) - { - for (String role : grantedRoles) - { - if (!roles.contains(role)) identityManager.revokeRole(username= , role); - } - } - = - for (String role : roles) - { - if (grantedRoles =3D=3D null || !grantedRoles.contains(role)) = - { - identityManager.grantRole(username, role); - } - } - = - if (enabled) - { - identityManager.enableUser(username); - } - else - { - identityManager.disableUser(username); - } - = - Conversation.instance().end(); - return "success"; - } - = - public String getFirstname() - { - return firstname; - } - = - public void setFirstname(String firstname) - { - this.firstname =3D firstname; - } - = - public String getLastname() - { - return lastname; - } - = - public void setLastname(String lastname) - { - this.lastname =3D lastname; - } - = - public String getUsername() - { - return username; - } - = - public void setUsername(String username) - { - this.username =3D username; - } - = - public String getPassword() - { - return password; - } - = - public void setPassword(String password) - { - this.password =3D password; - } - = - public String getConfirm() - { - return confirm; - } - = - public void setConfirm(String confirm) - { - this.confirm =3D confirm; - } - = - public List getRoles() - { - return roles; - } - = - public void setRoles(List roles) - { - this.roles =3D roles; - } - = - public boolean isEnabled() - { - return enabled; - } - = - public void setEnabled(boolean enabled) - { - this.enabled =3D enabled; - } -} \ No newline at end of file Added: trunk/src/main/org/jboss/seam/security/management/action/RoleAction.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a (rev 0) +++ trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a 2008-04-07 08:58:53 UTC (rev 7821) @@ -0,0 +1,106 @@ +package org.jboss.seam.security.management.action; + +import static org.jboss.seam.ScopeType.CONVERSATION; + +import java.util.ArrayList; +import java.util.List; + +import org.jboss.seam.annotations.Begin; +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.core.Conversation; +import org.jboss.seam.security.management.IdentityManager; + +(a)Name("roleAction") +(a)Scope(CONVERSATION) +public class RoleAction +{ + private String role; + private List groups; + = + @In IdentityManager identityManager; + = + @Begin + public void createRole() + { + groups =3D new ArrayList(); + } + = + @Begin + public void editRole(String role) + { + this.role =3D role; + groups =3D identityManager.getRoleGroups(role); + } + = + public String save() + { + if (identityManager.roleExists(role)) + { + return saveExistingRole(); + } + else + { + return saveNewRole(); + } + } + = + private String saveNewRole() + { = + boolean success =3D identityManager.createRole(role); + = + if (success) + { + for (String r : groups) + { + identityManager.grantRole(role, r); + } + = + Conversation.instance().end(); + } + = + return "success"; = + } + = + private String saveExistingRole() + { + List grantedRoles =3D identityManager.getRoleGroups(role); + = + if (grantedRoles !=3D null) + { + for (String r : grantedRoles) + { + if (!groups.contains(r)) identityManager.revokeRole(role, r); + } + } + = + for (String r : groups) + { + if (grantedRoles =3D=3D null || !grantedRoles.contains(r)) identi= tyManager.grantRole(role, r); + } + = + Conversation.instance().end(); + return "success"; + } + = + public String getRole() + { + return role; + } + = + public void setRole(String role) + { + this.role =3D role; + } + + public List getGroups() + { + return groups; + } + = + public void setGroups(List groups) + { + this.groups =3D groups; + } +} \ No newline at end of file Added: trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.jav= a (rev 0) +++ trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.jav= a 2008-04-07 08:58:53 UTC (rev 7821) @@ -0,0 +1,52 @@ +package org.jboss.seam.security.management.action; + +import static org.jboss.seam.ScopeType.SESSION; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.datamodel.DataModel; +import org.jboss.seam.annotations.datamodel.DataModelSelection; +import org.jboss.seam.security.management.IdentityManager; + +(a)Name("org.jboss.seam.security.roleSearch") +(a)Scope(SESSION) +public class RoleSearch implements Serializable +{ + @DataModel + List roles; + = + @DataModelSelection + String selectedRole; + = + @In IdentityManager identityManager; + = + public void loadRoles() + { + roles =3D identityManager.listRoles(); = + } + = + public String getRoleGroups(String role) + { + List roles =3D identityManager.getRoleGroups(role); + = + if (roles =3D=3D null) return ""; + = + StringBuilder sb =3D new StringBuilder(); + = + for (String r : roles) + { + sb.append((sb.length() > 0 ? ", " : "") + r); = + } + = + return sb.toString(); = + } + = + public String getSelectedRole() + { + return selectedRole; + } +} \ No newline at end of file Added: trunk/src/main/org/jboss/seam/security/management/action/UserAction.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserAction.jav= a (rev 0) +++ trunk/src/main/org/jboss/seam/security/management/action/UserAction.jav= a 2008-04-07 08:58:53 UTC (rev 7821) @@ -0,0 +1,212 @@ +package org.jboss.seam.security.management.action; + +import static org.jboss.seam.ScopeType.CONVERSATION; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import org.jboss.seam.annotations.Begin; +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.core.Conversation; +import org.jboss.seam.faces.FacesMessages; +import org.jboss.seam.security.management.IdentityManager; + +/** + * A conversation-scoped component for creating and managing user accounts + * = + * @author Shane Bryzak + */ +(a)Name("org.jboss.seam.security.userAction") +(a)Scope(CONVERSATION) +public class UserAction implements Serializable +{ + private String firstname; + private String lastname; + private String username; + private String password; + private String confirm; + private List roles; + private boolean enabled; + = + private boolean newUserFlag; = + = + @In IdentityManager identityManager; + = + @Begin + public void createUser() + { + roles =3D new ArrayList(); + newUserFlag =3D true; + } + = + @Begin + public void editUser(String username) + { = + this.username =3D username; + roles =3D identityManager.getGrantedRoles(username); + enabled =3D identityManager.isUserEnabled(username); + newUserFlag =3D false; + } + = + public String save() + { + if (newUserFlag) + { + return saveNewUser(); + } + else + { + return saveExistingUser(); + } + } + = + private String saveNewUser() + { = + if (!password.equals(confirm)) + { + FacesMessages.instance().addToControl("password", "Passwords do n= ot match"); + return "failure"; + } + = + boolean success =3D identityManager.createUser(username, password, f= irstname, lastname); + = + if (success) + { + for (String role : roles) + { + identityManager.grantRole(username, role); + } + = + if (!enabled) + { + identityManager.disableUser(username); = + } + = + Conversation.instance().end(); + = + return "success"; + } + = + return "failure"; = + } + = + private String saveExistingUser() + { + // Check if a new password has been entered + if (password !=3D null && !"".equals(password)) + { + if (!password.equals(confirm)) + { + FacesMessages.instance().addToControl("password", "Passwords d= o not match"); + return "failure"; + } + else + { + identityManager.changePassword(username, password); + } + } + = + List grantedRoles =3D identityManager.getGrantedRoles(userna= me); + = + if (grantedRoles !=3D null) + { + for (String role : grantedRoles) + { + if (!roles.contains(role)) identityManager.revokeRole(username= , role); + } + } + = + for (String role : roles) + { + if (grantedRoles =3D=3D null || !grantedRoles.contains(role)) = + { + identityManager.grantRole(username, role); + } + } + = + if (enabled) + { + identityManager.enableUser(username); + } + else + { + identityManager.disableUser(username); + } + = + Conversation.instance().end(); + return "success"; + } + = + public String getFirstname() + { + return firstname; + } + = + public void setFirstname(String firstname) + { + this.firstname =3D firstname; + } + = + public String getLastname() + { + return lastname; + } + = + public void setLastname(String lastname) + { + this.lastname =3D lastname; + } + = + public String getUsername() + { + return username; + } + = + public void setUsername(String username) + { + this.username =3D username; + } + = + public String getPassword() + { + return password; + } + = + public void setPassword(String password) + { + this.password =3D password; + } + = + public String getConfirm() + { + return confirm; + } + = + public void setConfirm(String confirm) + { + this.confirm =3D confirm; + } + = + public List getRoles() + { + return roles; + } + = + public void setRoles(List roles) + { + this.roles =3D roles; + } + = + public boolean isEnabled() + { + return enabled; + } + = + public void setEnabled(boolean enabled) + { + this.enabled =3D enabled; + } +} \ No newline at end of file Added: trunk/src/main/org/jboss/seam/security/management/action/UserSearch.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a (rev 0) +++ trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-07 08:58:53 UTC (rev 7821) @@ -0,0 +1,57 @@ +package org.jboss.seam.security.management.action; + +import static org.jboss.seam.ScopeType.SESSION; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.annotations.In; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Synchronized; +import org.jboss.seam.annotations.datamodel.DataModel; +import org.jboss.seam.annotations.datamodel.DataModelSelection; + +import org.jboss.seam.security.management.IdentityManager; + +(a)Name("userSearch") +(a)Scope(SESSION) +(a)Synchronized +public class UserSearch implements Serializable +{ + private static final long serialVersionUID =3D 8592034786339372510L; + + @DataModel + List users; + = + @DataModelSelection + String selectedUser; + = + @In IdentityManager identityManager; + = + public void loadUsers() + { + users =3D identityManager.listUsers(); = + } + = + public String getUserRoles(String username) + { + List roles =3D identityManager.getGrantedRoles(username); + = + if (roles =3D=3D null) return ""; + = + StringBuilder sb =3D new StringBuilder(); + = + for (String role : roles) + { + sb.append((sb.length() > 0 ? ", " : "") + role); = + } + = + return sb.toString(); = + } + = + public String getSelectedUser() + { + return selectedUser; + } +} \ No newline at end of file --===============6705092260747041882==-- From seam-commits at lists.jboss.org Mon Apr 7 06:04:31 2008 Content-Type: multipart/mixed; boundary="===============0396019396698692646==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7822 - in trunk/src/main/org/jboss/seam/security/management: action and 1 other directory. Date: Mon, 07 Apr 2008 06:04:31 -0400 Message-ID: --===============0396019396698692646== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 06:04:31 -0400 (Mon, 07 Apr 2008) New Revision: 7822 Modified: trunk/src/main/org/jboss/seam/security/management/IdentityManager.java trunk/src/main/org/jboss/seam/security/management/IdentityStore.java trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java trunk/src/main/org/jboss/seam/security/management/action/RoleAction.java Log: finer grained management permissions, minor Modified: trunk/src/main/org/jboss/seam/security/management/IdentityManager= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/IdentityManager.java = 2008-04-07 08:58:53 UTC (rev 7821) +++ trunk/src/main/org/jboss/seam/security/management/IdentityManager.java = 2008-04-07 10:04:31 UTC (rev 7822) @@ -30,7 +30,8 @@ @BypassInterceptors public class IdentityManager implements Serializable { - public static final String ACCOUNT_PERMISSION_NAME =3D "seam.account"; + public static final String USER_PERMISSION_NAME =3D "seam.user"; + public static final String ROLE_PERMISSION_NAME =3D "seam.role"; = public static final String PERMISSION_CREATE =3D "create"; public static final String PERMISSION_READ =3D "read"; @@ -93,67 +94,79 @@ = public boolean createUser(String name, String password, String firstnam= e, String lastname) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_CREATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _CREATE); return identityStore.createUser(name, password, firstname, lastname)= ; = } = = public boolean deleteUser(String name) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_DELETE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _DELETE); return identityStore.deleteUser(name); } = public boolean enableUser(String name) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_UPDATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _UPDATE); return identityStore.enableUser(name); } = public boolean disableUser(String name) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_UPDATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _UPDATE); return identityStore.disableUser(name); } = public boolean changePassword(String name, String password) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_UPDATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _UPDATE); return identityStore.changePassword(name, password); } = public boolean isUserEnabled(String name) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_READ); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _READ); return identityStore.isUserEnabled(name); } = public boolean grantRole(String name, String role) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_UPDATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _UPDATE); return roleIdentityStore.grantRole(name, role); } = public boolean revokeRole(String name, String role) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_UPDATE); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _UPDATE); return roleIdentityStore.revokeRole(name, role); } = public boolean createRole(String role) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_CREATE); + Identity.instance().checkPermission(ROLE_PERMISSION_NAME, PERMISSION= _CREATE); return roleIdentityStore.createRole(role); } = public boolean deleteRole(String role) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_DELETE); + Identity.instance().checkPermission(ROLE_PERMISSION_NAME, PERMISSION= _DELETE); return roleIdentityStore.deleteRole(role); } = + public boolean addRoleToGroup(String role, String group) + { + Identity.instance().checkPermission(ROLE_PERMISSION_NAME, PERMISSION= _UPDATE); + return roleIdentityStore.addRoleToGroup(role, group); + } + = + public boolean removeRoleFromGroup(String role, String group) + { + Identity.instance().checkPermission(ROLE_PERMISSION_NAME, PERMISSION= _UPDATE); + return roleIdentityStore.removeRoleFromGroup(role, group); = + } + = public boolean userExists(String name) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_READ); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _READ); return identityStore.userExists(name); } = @@ -164,7 +177,7 @@ = public List listUsers() { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_READ); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _READ); List users =3D identityStore.listUsers(); = = Collections.sort(users, new Comparator() { @@ -178,7 +191,7 @@ = public List listUsers(String filter) { - Identity.instance().checkPermission(ACCOUNT_PERMISSION_NAME, PERMISS= ION_READ); + Identity.instance().checkPermission(USER_PERMISSION_NAME, PERMISSION= _READ); List users =3D identityStore.listUsers(filter); = Collections.sort(users, new Comparator() { @@ -192,6 +205,7 @@ = public List listRoles() { = + Identity.instance().checkPermission(ROLE_PERMISSION_NAME, PERMISSION= _READ); List roles =3D roleIdentityStore.listRoles(); = Collections.sort(roles, new Comparator() { Modified: trunk/src/main/org/jboss/seam/security/management/IdentityStore.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/IdentityStore.java 20= 08-04-07 08:58:53 UTC (rev 7821) +++ trunk/src/main/org/jboss/seam/security/management/IdentityStore.java 20= 08-04-07 10:04:31 UTC (rev 7822) @@ -80,6 +80,8 @@ boolean revokeRole(String name, String role); boolean deleteRole(String role); boolean roleExists(String name); = + boolean addRoleToGroup(String role, String group); + boolean removeRoleFromGroup(String role, String group); = List listUsers(); List listUsers(String filter); Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStor= e.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-07 08:58:53 UTC (rev 7821) +++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-07 10:04:31 UTC (rev 7822) @@ -427,7 +427,7 @@ mergeEntity(user); = return true; - } + } = = public boolean revokeRole(String username, String role) { @@ -449,6 +449,59 @@ return success; } = + public boolean addRoleToGroup(String role, String group) + { + Object targetRole =3D lookupRole(role); + if (targetRole =3D=3D null) + { + throw new NoSuchUserException("Could not add role to group, no su= ch role '" + role + "'"); + } + = + Object targetGroup =3D lookupRole(group); + if (targetGroup =3D=3D null) + { + throw new NoSuchRoleException("Could not grant role, group '" + g= roup + "' does not exist"); + } + = + if (roleGroupsProperty !=3D null) + { + Collection roleGroups =3D (Collection) roleGroupsProperty.getValu= e(targetRole); = + if (roleGroups =3D=3D null) + { + // This should either be a Set, or a List... + if (Set.class.isAssignableFrom(roleGroupsProperty.getPropertyC= lass())) + { + roleGroups =3D new HashSet(); + } + else if (List.class.isAssignableFrom(roleGroupsProperty.getPro= pertyClass())) + { + roleGroups =3D new ArrayList(); + } + = + roleGroupsProperty.setValue(targetRole, roleGroups); + } + else if (((Collection) roleGroupsProperty.getValue(targetRole)).c= ontains(targetGroup)) + { + return false; + } + + ((Collection) roleGroupsProperty.getValue(targetRole)).add(target= Group); + mergeEntity(targetRole); + = + return true; + } + else + { + return false; + } + } + + public boolean removeRoleFromGroup(String role, String group) + { + // TODO Auto-generated method stub + return false; + } = + = public boolean createRole(String role) { try @@ -804,5 +857,5 @@ public void setEntityManager(ValueExpression expression) { this.entityManager =3D expression; - } = + } = } Modified: trunk/src/main/org/jboss/seam/security/management/action/RoleActi= on.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a 2008-04-07 08:58:53 UTC (rev 7821) +++ trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a 2008-04-07 10:04:31 UTC (rev 7822) @@ -54,7 +54,7 @@ { for (String r : groups) { - identityManager.grantRole(role, r); + identityManager.addRoleToGroup(role, r); } = Conversation.instance().end(); @@ -71,13 +71,13 @@ { for (String r : grantedRoles) { - if (!groups.contains(r)) identityManager.revokeRole(role, r); + if (!groups.contains(r)) identityManager.removeRoleFromGroup(r= ole, r); } } = for (String r : groups) { - if (grantedRoles =3D=3D null || !grantedRoles.contains(r)) identi= tyManager.grantRole(role, r); + if (grantedRoles =3D=3D null || !grantedRoles.contains(r)) identi= tyManager.addRoleToGroup(role, r); } = Conversation.instance().end(); --===============0396019396698692646==-- From seam-commits at lists.jboss.org Mon Apr 7 06:05:26 2008 Content-Type: multipart/mixed; boundary="===============4727376648646852481==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7823 - in trunk/examples/seamspace: resources/META-INF and 3 other directories. Date: Mon, 07 Apr 2008 06:05:26 -0400 Message-ID: --===============4727376648646852481== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 06:05:26 -0400 (Mon, 07 Apr 2008) New Revision: 7823 Added: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberRole= .java Removed: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleAction= .java trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleSearch= .java trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/UserSearch= .java Modified: trunk/examples/seamspace/resources/META-INF/security-rules.drl trunk/examples/seamspace/resources/WEB-INF/components.xml trunk/examples/seamspace/resources/WEB-INF/pages.xml trunk/examples/seamspace/resources/import.sql trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberAcco= unt.java trunk/examples/seamspace/view/roledetail.xhtml trunk/examples/seamspace/view/rolemanager.xhtml trunk/examples/seamspace/view/template.xhtml trunk/examples/seamspace/view/usermanager.xhtml Log: updated to latest security api Modified: trunk/examples/seamspace/resources/META-INF/security-rules.drl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 07 10:04:31 UTC (rev 7822) +++ trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 07 10:05:26 UTC (rev 7823) @@ -4,7 +4,6 @@ = import java.security.Principal; = -import org.jboss.seam.security.management.UserAccount; import org.jboss.seam.security.permission.PermissionCheck; import org.jboss.seam.security.Role; = @@ -127,32 +126,22 @@ = **************************************************************************= ****************/ = -rule ReadAccount +rule ManageUsers no-loop activation-group "permissions" when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "read",= granted =3D=3D false) + check: PermissionCheck(name =3D=3D "seam.user", granted =3D=3D false) Role(name =3D=3D "admin") then check.grant(); end = -rule UpdateAccount +rule ManageRoles no-loop activation-group "permissions" when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "update= ", granted =3D=3D false) + check: PermissionCheck(name =3D=3D "seam.role", granted =3D=3D false) Role(name =3D=3D "admin") then check.grant(); end - -rule DeleteAccount - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "seam.account", action =3D=3D "delete= ", granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end \ No newline at end of file Modified: trunk/examples/seamspace/resources/WEB-INF/components.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/WEB-INF/components.xml 2008-04-07 10= :04:31 UTC (rev 7822) +++ trunk/examples/seamspace/resources/WEB-INF/components.xml 2008-04-07 10= :05:26 UTC (rev 7823) @@ -26,7 +26,10 @@ = = - + = = Modified: trunk/examples/seamspace/resources/WEB-INF/pages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/WEB-INF/pages.xml 2008-04-07 10:04:3= 1 UTC (rev 7822) +++ trunk/examples/seamspace/resources/WEB-INF/pages.xml 2008-04-07 10:05:2= 6 UTC (rev 7823) @@ -62,7 +62,7 @@ = - #{s:hasPermission('seam.account', 'read')} = + #{s:hasPermission('seam.user', 'read')} = = @@ -74,7 +74,7 @@ = - #{s:hasPermission('seam.account', 'read')} = + #{s:hasPermission('seam.role', 'read')} = = Modified: trunk/examples/seamspace/resources/import.sql =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/import.sql 2008-04-07 10:04:31 UTC (= rev 7822) +++ trunk/examples/seamspace/resources/import.sql 2008-04-07 10:05:26 UTC (= rev 7823) @@ -3,19 +3,21 @@ insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (3, 'shadowman', 'shadow', = 'man', 'shadowman(a)redhat.com', 'I''m wearing a hat', 0, '1999-01-01', '',= '2007-01-05') insert into Member (memberid, membername, firstname, lastname, email, tagl= ine, gender, dob, location, membersince) values (4, 'mona', 'mona', 'lisa',= 'monalisa(a)louvre.fr', 'Some describe me as enigmatic', 1, '1503-07-01', = '', '2007-01-06') = -insert into MemberAccount (accountid, username, enabled, accounttype, memb= er_id) values (1, 'user', 1, 1, null); -insert into MemberAccount (accountid, username, enabled, accounttype, memb= er_id) values (2, 'admin', 1, 1, null); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (3, 'demo', '/9Se/pfHeUH8FJ4asBD6jQ=3D=3D', 1, = 0, 1); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (4, 'duke', '97291c29cc69a65890424d0f97db28f2',= 1, 0, 2); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (5, 'shadowman', 'd76acda33fcfede62a8a6979df88e= 690', 1, 0, 3); -insert into MemberAccount (accountid, username, passwordhash, enabled, acc= ounttype, member_id) values (6, 'mona', '0a7adfe58071398e15b5177f4ace8493',= 1, 0, 4); +insert into MemberRole (roleid, name) values (1, 'user'); +insert into MemberRole (roleid, name) values (2, 'admin'); = +insert into MemberAccount (accountid, username, passwordhash, enabled, mem= ber_id) values (1, 'demo', '/9Se/pfHeUH8FJ4asBD6jQ=3D=3D', 1, 1); +insert into MemberAccount (accountid, username, passwordhash, enabled, mem= ber_id) values (2, 'duke', '97291c29cc69a65890424d0f97db28f2', 1, 2); +insert into MemberAccount (accountid, username, passwordhash, enabled, mem= ber_id) values (3, 'shadowman', 'd76acda33fcfede62a8a6979df88e690', 1, 3); +insert into MemberAccount (accountid, username, passwordhash, enabled, mem= ber_id) values (4, 'mona', '0a7adfe58071398e15b5177f4ace8493', 1, 4); + +insert into AccountMembership (accountid, memberof) values (1, 2); insert into AccountMembership (accountid, memberof) values (2, 1); -insert into AccountMembership (accountid, memberof) values (3, 2); +insert into AccountMembership (accountid, memberof) values (3, 1); insert into AccountMembership (accountid, memberof) values (4, 1); -insert into AccountMembership (accountid, memberof) values (5, 1); -insert into AccountMembership (accountid, memberof) values (6, 1); = +insert into RoleGroup (roleid, memberof) values (2, 1); + insert into MemberImage (imageid, member_id, contentType, data) values (1,= 1, 'image/png', '89504E470D0A1A0A0000000D49484452000000AA00000099080300000= 0884651B30000000467414D410000AFC837058AE90000001974455874536F66747761726500= 41646F626520496D616765526561647971C9653C00000300504C5445F6E555F5E664F8F9D86= 15D0B020101F3E433DAB920F7E874F8F8C8F8F270F7E984F8F4B8F8F398F8F3A0939218F2C9= 03F8F8E8F8F380F8F4A8F8F168F8F390F8F378F1D615E9D368F8F388F8F160F8F4B05D5A45F= 7EA93F3F224F3D824F8F9D0F5E325F8F9B8F8F250F8F158E8C703E7E544FFFFFFF8F4C8F8F9= C0F4E614DCCD2BF8F9B0E7E653F3F214F8F248E4C323F2DA33F0F100D2CB88E4C2137A782A8= 08080E7E436B0AD6B8E894FF8F8A0EEDB7FF8F9A8E8E564A9A545E3D825F0D100E7D944F0F1= 40D0CFC7E7DA342D2903A9A98BF6EAA3F8F998E5D516CCC9B0F8F140F0F148E3DA52B0AFA8E= 7D202E1C444CECE45DEC032F0EA00F0DA43908F73D4D16DE7E8D2F8FA90F0EA49F8F038E8E3= 93F0E200F0F138EFDA00E7E300EEC913E6E424E3C856F8F4C0C1BC86FCFDF0F8EB00DDBD0AF= 8F988F0D209F0F108F8F100F4EAB236332AF0F050C2BE4CF2DB58FEFFFCF0EA40FDFEF7F0F2= D8F8F4D0F0F280! F8EA3EE6E6C6F8EB4CF8EB08F0F030F8E24AE5E4A2F8EF2EE8E575E8E6B3F0F078EFE249E7= E984F0F088F8F108EFE13EF8F4D8474329F8F980F0F290F0EE70F0EE63F0F8E0F8E13EF0F2E= 0F0F268F0F2B0F0DA0AF8FA68F0F058F8FA58F0EB09F0F3B8F0F9C8F8FA50E7ED4595977AE7= EAE2F8F8F0F8FA48F8FA401915019C9B52F8E208F8F978E5E917F8F970F0F3C8F8F938F2EBC= 596968EF8E200F0E109F0F098F0F2D0F0F2C0E7EE33E8EE54E8F185F0ECD5F0F8D8ECEE24E8= EE71E8ED63F8DA00E8F2C2F0F2A0FBFAE7F8FA60F8D300F8DA0BF0F9E8F0F1E8F7FA29E8EEB= 3FCFEFDF0F858DAD8ACF0F0A8F8F3F0F8D30AF0F948F0F9C0F0ECE4E8EEA6ECCE23F0F9A8FC= FAF0F0F9F0A3A06CF8FA00A09E91FBFEF70F0A09F8F8E0F8FCDFF8FCF0F8F8F8F9FCE8F8FCF= 8F8F4E0F8F4E8F0F890F0F8D0F0F898F0F888F0F570F0F878F0F868F0F560F0F8B8F0F800F0= F8363E3D02E8F400F7FA11DDDF5EE8EED8DDDE37D9D9CB221F15F0F0F0BABBABDBDD94FDFDF= EFEFEFFEBCC33F0FC50F0F8B0F0F8408D8D80908890FBFBF7F0F8A0B2AE1FB8BA3EEBCE46E9= CD5BF068708C000027E94944415478DAD49D095C9357BAF04958B20BD9308440084B0904100= A222188522DB160B16295A0288A2088524344CA52AC088892A2822B2D1AB54A5BD74ED599DA= 3A63B7D1DEB14E! A7032FA66A6B97A9B4D63AB676C6B9DE56EF73CEFB2679134001BDF37DF380D4F90DEA DFE73CFB5974F3F88F11378FB1FF2182501F19B6184D2693D168FF5FD4CF08B546A7D5EB737= 28AB1E468351AB5D25A68323EF2306484A888CFF69377DF05F0422BF3B30F05121977D54A46= CAD4AB5341AE4E65AC6471157C915C4914D2FE62FF7E54879808B646FFE586231D6113C3C29= A9A2636855132695222485898D9CC9588D444A1F1FF21AA11E993A999BDFA785458E2FCC308= ACBCBC3CAD1C8BA1BCB2D2332868FE94D4D46BD7A6A6B0B8FC02E68318C383A19A98AA37571= C3F82109BCA6B6B838343AAAADC9030B0B8B9D5D6D6B602B0E7A44993264E9CE86696E9ACA6= 7F2BEA4DDBC26B0EACBC1A1576B8A6A6B2B20AF0C4623183C3E2B0A4F0813E59247055556D6= B5313D0CE9F3495912CEA19A1218C08F5A79B9833C75C060669A8AA0AF1F313031A97C51272= B9128944C1B50B8B858901B7B2B27246ECA4D4494DE6151AA6F1DF6800856AFD179B126B726= 3824342FC182C1697AB5028F8200A457AFA018140C0E74B2480AAA080198CDAFAFAAA5ACFA0= 8829A991E606F908EC6044A8C6C202052BAA2331062954CCE1482124A58B2891CBE5A274116= 2C5023A9671855C16074CA11699AE2772B430337FD89A1D01AAB150CD179A37D5971BFCC034= A552215771E04D20E4F1542A1E8F575050B075EB3F376EFCE8A38F1039202B24106F916E198= C656ECB5A63E74! 7BC9C9AC850149C33FEDFA21A4FA8F52D9B320D864D7E2CAE502601752E91CB97204E159BA= DC45251111E1EAE561784871714F09600AE822F5120534866312028B4D6B64E9C7867991B4B= C4040FBBF97F827A13DBE8AAE31D1DE586108654C6170844721E1081B0D96AB69249CA1AA5D= 2C15CC0E3C945D82014E90A6CB50CB765CB66CC884D9DB48C2BEA313D3254D8616AF584F68B= B2C3873337B5B0C0D32165F2546AA4C9354CBAD840956C351680256905E948B7246DED8C496= 767DC59C6550F39740D0BD5C4E49B3B0E5F497B8F23E3233B0485224DF6D8C5091448552A20= 456650C05369343A64B9142CD8C18C198181917756EA08D3C3472DD473CC61619921EDB0F42= 2B0CE82F08A8A35177A7C9010048199312A1B0B56EA871F6EDBB70F5B2ED832C0A60B8055C6= C21E561B14E81B3929659DDAF49051C1F1A320B11BFC386B6507D2E54BC044D7ACB970E1A24= F6767276665123D172ED050D978FD0FED43A805E8A7A0586406C02A447961597D6B5050606A= 64D46AA5E9A1A21AADFA6386CCE010B1542611E0A5672B7B488DFAD8967F0D928A0AA58D16F= B1B5A7E64AD60AF28E4222380E02564B5B4B066B436C506A5A64EE4CA4D0F13D5AAFDAAACAC= CC0F481502E4F580C3ECA1833A504958C0A583CA4941A87ACCBA8AD5E2565F0F812035752A9= 777FBA1A19A880! 3C78E746CDAC041114A8E40C181887BA3B20743C56AE50A1B5829600448AF915393455 6E3C3412D545F3A1ED5F1DE06A91015F505C8EDC18FACCEA4242A4DA96CD7D5C7A4800A4D0D= C08211AC34BBD53735C5A6463E9522B86F20180AAAD1AA5B71A4A3E3BDAF841250290F40C14= 8AD202E4A6552A47663ED872AA250B5A83690281AB82D0C3082F249A99191299282DB0F8C5A= A8D40A11E9DE6214F3514E420BDFDBDB6BA540095B4C2541696E5550E0B4FE544103AC54290= 38A45F5F724A860C008D4B7478E8ACDE77601D4A586CCCD400AEE04A068E13B9158298D1254= F01F3A2A2E12157C015F281543E69AD11A943A2572E2E8825EE34851FF8A7EE5093E27AC3C6= 6F3DEB5FC0F0A2A2AC048ADBD98F4CF7FFE3DA95382E8B1E57E27501BAA9D5423A2B1A6A32F= 9FCB567050290B790BB241E481AD85234535FD157EC85B0C31C17E1CA144C753123D84D5DAD= BDB498A8F5342453995F2A8F0704744A559AA4EA415690534D17E7E492694A2340B55ACAF6F= EA538A7BF9D63D51DF353E62524ACC86603F944AE505CC1E2B22ED2503BF8FD519D49EFED93= 4549E9D14D5005AAD0D351DA955FBF9BA7560AE52D06B6B6CA0EF94C8AB7CEB88DDCAA4BC6C= 2E8BF1E370D3C1A194E04E74549FFBA016B8A26A1DA8A4B97EFE395F815C0BAA9756CF4008B= 0A345A611A21A89CF8F676E0FE1C8043898621B75A0BA9232A970EA40E539913A50A9662627= 07A280024CC00F! B1C6064E99326D6541E1C8500BB5C73BCE6C6E17F2450515B0FA9491FA386BB51F29890A75= AA13AA8E4445B07C3BAA04E22B4401B11F84AC26B081C83B50C08E04B550732CAAE31FED6BF= 9221E9B69EDFDF4D3F3E7FBA3320746553B506D4AB5A1EAED1D221299700F87034DA25B7D6B= 60E0D9C8A912A669F8A826CD97473ACE7CBD562B023B257A7B8114B362CC8BF0E14CEA28FF8= 6804A61CA8A8BD7AE5D2B944A39805ADB1A783A3F726AFA8961A31A89B5656967DEFB82AFE1= 852BB1523F25512FDA954A76002E5D0A955081D5851422004AFF7ABD83548648D70A85528E9= 91105A881F9F991A335A69BC34335296586BCCC903D393A35CA5088D4D5528983CB99C48DA7= ADCB8937989F7DA83C148E528093EBDB8B5414F7C9565BE210A858B0484138E61670AD19B18= 1F967A70D6CAE2EA8B429E809BDB83C2F582CD3AAD888944475B252623964AAE56397FECBBA= 7C16C1FC1D7B1B0D954EAAA132942BAA0C2A41076A8BD95C5F3BE3CED9D3F963B84AE370B46= A524BABAA6242A41211C4536B67EF7984EAEC50D0A27CBFDEEAEF6179723D2896B90DAD3CDB= 29F4D3122A8EFB22CAF9158818969FAED5960DE67A68B9037DF3CFDE51140E03D548F019066= 84F8402502A9451E7B14B394729D0E9F7BFE97DD5C3E3FA2756EB412662C54EA576562A46B5= E5285B9C225185! 5C072AB01A507005B54E5F166E1C3A6AA1A6C5501E02995F04E9B4B7F3FC00A8B0F8EB ADEB7B6F747B78585EB52EFF1D53696BFD784EA436542D15FB257C72366403B5A38AABAA5A5= 1703DBBE8E7D9D621A1E2BF1091B3292F4D2C940878EC1E1F1C5191F3BBE894580EA83F347B= 805EFFD5433C6B1B51A85C487524A9969A0FDA2C5528A4914AF77238E290AA4ACF58600D8DB= C2BBF3954AD9A342D99B782A51201AA513ACFDBC2940395C0C204BD768205747B581E27BEFF= 0CA3AA5483A2920B5F5C2C9339BCDF8EBA97D3CEA8329437C59EF5CD8ABF33FBDCBD511D066= 25D77246DFB5B504EF12AD6F8748247F50E004A1C8418D0639DD50C26E0B1F409621F5E7E84= AAA15B2AC45304AAD592594A02E9D449AB78F5F7022AC72F04A106FA9E0C8D1C5D601C22AAE= 658C78EF616BE08052AA84F7B517BE2E8A5AC881385FEEF97F780B93E761D6DD5F9FF406C53= B20FA9551BD51A0D1A613AC5548C0A75BF40A7FBFC804E335BC05FB1B685868A45EC1752654= 0E5A06FFC34857568A885FAE31DDBF7700572354A5314A8D54AD729CA51B3ACD6F5EB213CDC= 58EA6101D6279063A9792A15429593A80E52C8523A8540F3DCC25DEEEE4F3FFA9C40BF768F0= B2966AD6D42AC6322193CE3506CD5A85C7524D30F2A3F2AFA53A4D61E1FBB43E1646AB53EF1= 2F7FFFA5CDCD4B9109782CFD84493C7F48BD71A386522BADEFC3A80A9D6A61B3057DEFE4E65= DDAE2142754B11! 86200781634DBB16721B6720B87826A151C2F7B4FCC47D5345DA9D61E6752A6F546B347B76= DAF16C5AC170F32C3F16C0AB3DAFA3E448A52BF5EA05AD867FBFEC9BB246B6D2E8549DBC57B= 5B3688FDAA0C4DC8B3A6788DE699EE8F6A52AF8ACA7C4B2AE0152891A59E3F6F63B5A352F5D= 427CD24A203F769827988CD2351E5AEA85AD5A3FEF03DF817747B34CFCEA1A1EE1503EB1708= B5CA505F0FCDCBA2E90AC2785F546B8EB9A36CAF4CA0C6CB0F71EA533AAA9DF48DE54BED94D= D1EE49F7FFDE90AE5A18D83A00AE4FEB435983CB381A6544EBB582CDEB0C12F041CABBE2930= B064D11846BAE9BE2940792C330D62AA4885961FA7A94FF180C26A5B7E8CFAC61BCB6F3C3E7= 6AC7FF3D2A5D76D0016D0EB3EC85614AAC8195534CEE2615B06F8922492D1508154FCD5D780= EA6730247AB695E47BDD492EBC1F6AA1EE481A38155FA76242A222532A0A5854870A0D3689B= A7C790FB1E6D90B3DCFFEF0FE8D4F9EC6CC281724853FCF93BBA2625315F95BF0F253D22C90= 491DA60AEBDFBE01A1BA951912837CDB4AE2C72CB3DE07D5A8FE3271E75B29EB541BD9BFA17= 2FFF997FED0D9EB3C9E224714E4FE4405DA9F40E5DFFBEF2FFC3829E9513519FA351AAA4A15= 680F48F412BDF651E733139647650E8DB68BFDDEF2030909090E8EF10456DFACD0E97264ACB= 707473569CD873! 3C45C81EA1D66EF1F9F1CEBFFDF8FA1A47AD1C74A9BF951ACB4490A359F60B3972C295 0DBEA7EB2A00254BD44B24EAF48EAB61B2A3282EE717CC7DA8B11E75B146AB96790EF94ACD0= 318ADBF460DF1FB5501F9597C69188366E63BEE4DF0D0BB6F4BF5F3ADFBBDE3EA07041653BA= 1AAD94A352FDD814A157F5A40D5CD6EF6A0A37A78EC9238A1BE6547455A9D9295356634714F= 0330122BA2766472243A35F3FB66D25FBA3FF93B425DDFD36FF0E318FB535DCA92251BE5F22= 5B666CA3E4AD34AF47CCD8F931D8BDF8D8C364926759052CB0FA458ABF3DBB2B2F2A7390D30= FAA1424DD59159265568D8C4275414F2587AA3F70FBD50E8F747653B76280A70E7A746DB82F= D50F5395A81E8D16E3AAA0742E57058B4F547A448A931699E4141BE255953A63B652C575423= 64AA0E4388F0808AFD7DB3FDF77DF5BC0F0DD5D14DD348312ADEBE947F400E2828543ED47EE= B24FA03CF7DDCED4CEAB14B46B75458FF90CD58A93195E541C8AFF2E397297F1A1CD5A46E88= CA0C16E7BCA952FE61290E2DD7E1C7AB1721AA5EB82F2A9B6275460569E0F3D3D393BAE9B60= A1FE3644EEB8F4849D48CBABAF96DBE2525F9D3C1026E0E865AA85915B6BD7D8FFE4D35D1EB= 6FFB9DBB5FEDF4B960754CA7075A7F357D3C4992EAC81695AFD737E8214A2775BB062B89935= 2914B6D47A43119954128B296788F519C78E4A7818B40E32385FC948E1D66A156A37EE1A527= 6D79F3FA0FBDBF! B15A8959F6413AE553D4184D5DE0984E3B2A3F11B5C58EAAE9755AFE6CDEC72EB63A79B690= 44F5F373B8542648466E651D1800425DA01CCC008C46AB24AA63BB58A6DB788838FF03558D7= 88CEDEC5D0F4A25683AA58D7CD56A1AA8F38822DD860A05A06A5CB7073DB0762728A40ED210= EC523131409A96919BEB191441A26A8C838E2CD4C223E5C110AAB6FE8EF8F4FC63FE285A5D1= FFB52AF0FEAF409D7DD693AEA00D31434EDB5CDD1F407340BBB693E854C552FE5F4737E1215= 69151940FE34BE69305493AAA5232D44C8D7B03F7B01FAD4C75E05D6B1FFE5034A454309D79= 96FB87D8E36E034C53E4995481AF4EB44B3FB3CE8163079E5658E1D35C4867A26332D2D23C3= A6D5FC31B470E58A2A3703AA4CB0914D587FFFE7CE4FCF836B8DEDEDF4C1A8CB07402537FC0= 74525C713EB7264FA063E0A01B46A25E1F217AEA83148AB69C800EA00D517A1D24A1617D442= D1F1F2186855FEF40EA0F6BED489A280FFED4E88AA3D4C07AAD28EEA389BD07F9AE218FA026= A4E8344B7D042AF6D77151F17F7473D93798B440D3A0916101A7F7770544154798C5826DAF8= CE0BD6DF5B7B3B5F5A8A9CAA132AEBF54C82795F54B90BAA6DE893232B9649F4E9FE1647A44= A98B9E78858DC0F35ED565A5A6E0642C52120F40E315804202451E5C162AE46B58FE85DFFFB= 3F747602AAFF7F! 5D5C7FA1A767CD9A81B627703A752695EB6C731FDB7C4A0F3D7FB1AC41F7BC9DD592F4 DCE77B8FB4D34971F08FB995762B2FB7AB0E0C00E500EF45D389412A2BA3461A66F0934A043= CA50FDEA000AD7637775EB46FF75628D1076DBFDF354ED9767C1D864ACD7C4124FAD949166C= 00CDE366E748DBE9A465C16586B22AC38E8C6BE55D010101757511BE274F8256A7CF2E1C18D= 5A46B3718F0A4AAE2E21F51ED0FC9D563E9DFF17C9AD9D37FB7AFDF26FA12397D6BD23EF0C7= A442D96A9DEE63F7C97DCDE366EA73F66C309BC56206AD9ECACC0C36245EC9CCCBEB3A55171= 0D116B1DBBBC43B7ECC6C621054ED061A2AA8F5CF807A7D161D55790FD425B4982AE0F7475D= 9103BDA062365756BC67438AF96B3F3F86D856F993A83BF20E6F7FEBBDB08E989D01735F8B3= 83D2CD44E94B01EB3A1BA287580FDFE7EA48EF5170A65C50DAB5F6F6890154B41A35FBF2536= D3332A8A53E5897967A29E1A3F6AFCAFE53BE764854E98E0ED3D26793054BDD9100CA822848= AFCFEEFFE605A4F5EA412AAE350C2885085B29C9CE215ABA47BDB916C3033C4CEA8699BD336= 6FDAD507E63CD93DF254D1DC880910589395F740E560D40B3844F9A0EA6AAC1DD599B4DF263= A6D179DEFB2FE78E603A02BD6AEDD7315946A361F3773C47452404DDC7E6494858A6541D159= 59A0D6C151738E3BA1FAFC752C9AF10D865A30F07EBFC8D9A71CA82B5614AF5DB96AAD740F4= 7CCE16CE0EC712! 8350685D4B4C4F66726E36102945DBFD4B59106A01E18B530078A95BD08957D01321441A04= 97FF7F53FFAF4B876A834D47B28D59954283DF6E5DA632D6BA5D216F39E3D624694935233D2= D262362590C9ECBA47F7A8405F52ABAA9B03A34AA290ADF2452AE505E8FB5F207A6FA05FFB8= 48F750D41ACA9703A3F45D57E05BC7E47135C94EA20FD0284C3C1CD3FADA2A20C1564B3D99D= AA13BBBBDD2B8310EAA2C10CA03007A1CA6CA86F10D6C7E02F08C66A5DC37CC5D1A050658AE= B26BAA69F52157452A1948351A986DA964EC9E507D0BCB49876777B89981014814280D7E8C1= 508BE9A804A0BE84FC6AE92CA8AB9EBD2FAAEEDE4A15DAE7A8B6D41F624FA819081582EA28A= A96E9B68CAA8B980BB6EA957C5F5436B3A7877881B0F622BFF278D24A9AAA0D55ED5CA6D046= 14FD2CD5BE91669B4FB58BDB6D650A454AA2E6E5E55DD97EB58F6275CFDF3D670ED26A327B6= 054AB332A41BCD0F924EE587C888304731FFB5EA8BAFBA2E22FF6593AB0DA490115486B026E= ED49C0152D0A00738AE66254E5105081F48D177A1F5B8A2CE007E6B344B8D3094ADA569A9C3= 6A2100D98FD49A50A855C210DD59651915233F230EAE1E360ACDD7D7DEEBF7846CF29CA220D= C03860C7EA8ABADCFAC7BFE316FB45029DA01C16AAA41FAAD449A9B4E5B7A176EDFCD502A4B= FA6469FFA6E5ED! 6DCD0FBDBAAD06E00CBAD3EC858BB3DFC6711FB680995DCF453F5DBEFA7D5540E5099C 3525903E8142BB52B2F1750E7678EEA8630B5FDD45FB2E71415CDDD8F51072D57A20C55212C= 8940C546136B1F6BCF85F54FE250F7E41B4CF63636B9874EDF4477EA509D399D35CAA119A9C= DFD81B3AC0CBAA92B353575B9359E79354750A7386AFE3771A5D5BBDBDE4661D54B3118AA2E= A5BE2A84211368D44AC2A7F3C21A6239F104CECACD2FA00DFF7BEFF7F727E5923BBE5296839= 43EA3B0A1E676D5D4E482DCFA05FE2CCBAFDF2D2EADAEDE7D12A17A7BCD660ED605A4D45756= 892502CD87A0559F0BB3A0F59B454ED99E243EDBB6ED3EFBFDFD952AECB78BE692A71069DAC= E1D79E55D753535FF70873FA8AFE3BBC571D5D573E6BE0DA4F15EE983740146D52A84CAC55A= 257AAC6B7AD6302F8C2527F7DF13BFDB76BFFD7EBA47C964F45314F4E577CC28C8663AAD3CA= 63CA36BFED1C3C761FDBB471DFE76F1E2EA2D805AE20D5A5D621A0455DD10E659259609742A= 650F3AF6BB1CBCEB89A598F5C5EFF1D9847BECF76BFB8529E140A84E839F331919187547D7F= C53B7C65BBA3D263F15306F0BC81C94AB42E3A729076B039592B044D02A5FAB41A86B7A7E03= 2DB5F55FB8DCB9FE38B1EDDEFBFD5A814B392D1C54A9F6E47F2B63275454319E3BF3F2765C4= 34E9570E5DBB82D5B22B26DA817066BAE99024065C80095D9A354327F83C67ED61F96E220D0= FCECB67BEFF76B! F9F753AA1329CEFEB73240D276D65C39BCE34C02DACFFCE55476292895445D94BF60B091C5= BB26795462A59F50A2D754002AF12C5171F0E0724AAD1E370EDE7BBF5F3B408FD28FD451A66= C870F841A9391D8752A60FEE6A7D0AE967B5D51766911851ABA68CC8241675646E5F144831B= 4B26D129994A2535A5B8F803B6D6EE66E521257B2B5BD56FBF5FE0DA4C0D86EA670B539BCAB= 0209F02D49A80E897CF5C45EE6FF9E5D4DCA2D2D2B8EC39A456BDB8E7061DB05B8F85190C52= A14417CE24AFD18019ACB1BE4ACE449E561E52B3DF51FDA9FF7EBFE3A40FDF394B0D4C4A434= 55AED7AB9EB70C778F427B8474617815AE3905227784F58345D31E8D0F291C215516106B154= 2628A86023ADA21685C99CE58F4BB3EB8F33F7A9D9E86882EB7EFF1050D1869FDDF91126128= 49A917BF4D4D133BFF6A1DAEF97AE39A5A573E200B50D85AAF805A2C150DF859E1550191C99= 80C7B6A32A0F128F918DE4D227986C363AF0E1B2DF6F23D5BBD653B4FD7EA7804AA1A691A83= 53B3B9E72C74A4D3C95F597D2ECB8ECEC3925DE60AB5E33D5C641518D9A63D7CA21B5F2D1D9= 5A1BEA67C4F7FF229B9EE66789F7B7F6DFEFA750F5FA7EEE6F476DA7B44A7A14897A2B0F0F5= 373CB83CD09B84C1DD5B53FBBB4B4318EF47FEF45D3934F18073DBB6254AF0A4B0CF6E3F245= BCF00A8C0A617F! DFC183B3A8ED16FFF795CA77FAA1F29D510720E5D09C1F82D47B58A757F26EA5E5E6D6 E56E372775A3D32F7DA9A7E635966683905175D1F425B7073F666324D685251A5C50C15CDFB= 871DD8237FCFD9F2D50F5DBEF1F022AA9555B3C2D3B83945A73250F4A9580DC1990A6D07992= 512F37663716656FF9761EA9D5F83BCCC17603FF4A0E83AF5586B014E8CC32690088F533E6F= 21BD4B983E647953CD7F57718C000962A75DA9DA6AA54A4D4BC2B355772EBEAEA70958AAABF= 2B718D8D73B2E31AE7D9A2EAE87337EF81FA88F58B6B95552C2E57AF2A40EA64E20B54E115A= F54DCB0ED373C7E88ADFA001DF1D46A6DA7A7052EC31419AD45B5E77EDCABFA859405076F37= 844134ED4283F4A35DD77EE9C6EDB47B4744517563E3E2B8B83973779F0C0D9DB0689ADC742= FAD3E6292D47B5631582C894E85EF50E2CB5EE1F0F1AC6D77F0FAC2E7D550F78B04DAFFA150= F92E3D0AAA53B9745452A5246A704C624CB0A132F768DDCEBA9D5DF337FF6AC12EDB9778AAA= 8A8A871F162E45427013574D102A773AC4EA8EF6283D531122BDD185C894883D50AA8AF6054= E513B65DF2EB8F2B79CF69340211757A9A3FE0DCC7D19F501E45C6AAE098AA8CEDDBD1156C5= 8FBA0EDEDA3F0EF0A3D6A576351512990C66517CD3D791A50A727171AEF7D2044299BD80A6A= 55E06B75CA0A506AB8F295F0F043CA7D8FDBCED3343FAE66FFE947DB496FFD40633F29CDF9D= BC5E8580238D46! 6726FA232A3B2127554B9A906BF51D73D4897EACA8E2B2A8D03C9CE7E0D525556E8A2694B4= CF73B66239AEA09D6AAC0D7D5C84329EC2505EC258794C48BD7A9CD9CEB4FEF63BFF3276CAE= F8983712011D554AEBFB40A9B48309C05AEE990B71DFB3BCEAADA9EEDDE4886A54EE965288F= D24EAEEB9732740A4BACBBCFFE125565379157A8542CE2359C3D95BD5EC021E7BDB672F4EB6= 6DE6FBBFBF4DFD4F0A55824ECFF2D3F9039372C4B6FD8990CD642FBD236367578D674670D43= 32429E834F5BB6C52A738A962FF9FA6B87DF37E47C2CE290C89E5E81ABD6809C91ACE2E50AB= E1F37925662565E98BDB3692A8F8902779D54BD67FF9D1C1349BF891B3B40CE8FBF2B66F9E3= ADEE281775C2CEE8721F6CF2BA248E7B4B54DC85AE4759777FFD36B461123D153CCE24A04F8= B62AB47D6CF5C68D3CD556F53B6AE5E38EF35FFE7F83D0AAC517FD30EC8001152B959A5231C= 4D854336EEDDC79F8BDF667126C5B83EE5DA7B2B38BFED248A1CE2D393D21347EFAA3177FBA= 2FEA4D421616E6C60213A02E7FA3B60F55D4D0556DDDBAD07EB0C76372D2F36ACDEC035ABD4= 49693236B28465712D0F509A74405A0B0F666B319E22AA3AA2A66C78E1DB7B6771CF962BC6D= 77D8D2D711BDB8148AD438ECFEB8A89A10EAE5E254839CB4348952A0BC02B5F2D12DE0021B2= A16F5D68563BB6! DBBBA16FF8FDF57A974073ED7E75C5EBDA2780516A1935ED1618F4D9B4220526DDA54E F161C53595E6ED8F4F5D55F132C944E2DEE8947B7141551A8403AE7644949FE22AFE4577EBA= 3984F3AB4C4954981B34030A60E5915D3FC2E4A9E41FA8C064C7D1CE2D2E4D58A8D668D75DC= EC9293E06BA85FF38400115A914BCA92CB32C78F3E6ED19B9199BDBF7AEBA9AD0673B6CD4DD= F7CBCE80C510FBC150BF2151E79684FAC67B2D4877BD1E32F0B170936EE5D47A37066245AE8= 5DB7E40DD28177DF08146B595FDB8EDFC05F6AF8485CF6974EB5E7FFDF5D50D4880942BC5AF= 8490C3A9CD219BB16C3264A4C56CDE9BF24C529F635BD87DEACE79DF940269751CD22AAEA93= 0EA6C6248A782A1BE6AA80FABAA02D7C2B79679142ACAA650546DE46D7C22C1E2413B0EDAFC= F18F1FE9F49FA391FAEA06590E6D8E4A4EFCCAA2A2369919511D6FED59F98CFB64C7B94CCBA= 8A853D18DB0F8800A76BA05934E28F106A5F6BF863DD8617B514A13AE0470C42251FF864FFB= A291BFE639D52B9FF4398EA2200FF31FF79CE64D11A4AF75DCD5A05564A5B6911F8AFFE23D6= B8552E1CC517D16C7AFB2B83F95990A9AC42E1517575ABA259B5653DF1C22AAB182D5E40995= 00A0A653A8BCBF913D152AFB342AF99227F02E343964463F2CCDFEE316FE28D069F539E85C2= AA7BDBD9D3AEC09159554C89D397E57DF640BED4C605F42C7D1E8EFD0781207A9D2A2EA2DA8= 510D0D05D4690A! D3D02F8648A6267A5621567425186BF543D50768F9E53A0D3A412357172C6CB67878381D9E= B2F425248D7B7436BEA92E5C4B4D2C64B28699E313DC275BBA699CDD1E7DBFFEE3E5EFBE990= 7E9F43BF0288C5A847CCA1B0A15AFBB153787AA55C8AE978FA456B62E63488B256FE2774A54= 1F6EA56A69F22AA248B4759B937BD9B69C2C93FDFD1392767D3C7EDCC7E3762525F9BB374FB= 6D0BF8D3C6435EADAAD97179399F41BFC01CE3F6F7F1B74D4D0FDDFAD18CE25A6C28F8E5F4B= 6CAD65985735E8D1F31A1A95FA6F24AAFD82E79B1B55EF274D763A9166B3876EDAF96B5B58A= 27D575F4264C7A9E86FE34A31E8B7DFD882FFDC9212DC52259FBF399CFB56CAD7AF4E0AAA72= 4B61ADC8811A4B839EA2A06B15E5FC033A8DEAC78F9B9DF4752F21FF2296C9A39E0AFE47CDC= B5B1A17DB504170F047738AD078AFD1E9A6615DB82BFCE78A899E9EF528C1CAA01AE0917728= 9CBA29EDA5D5AB3FD2FD38CE7DB26520B0817EDE3DD97D7C7D484C5740F4962D8D5B16236DE= 2E5C7B39F93132640F107D17FCDCD61A11AAD1A46FDA449F50CD64A21BAC62CD7E944F67713= C80665B55EABBFA4D7EA3E9ABD30C9DF39780D483EB92F61FC5351C13BEA8EBE1CDD185D3D0= 7A12EC63E1557BA65FFFEB6D3135045B52079E0E783EE7539D4AA654C9C545FC55886328168= 097ABAC63E4FC3! A850553534404A6DC8D1EBB43F8EDBD5D76719D00E502C85E0307E668ADFD765693501 01D18D8D1173AAA31793A8A89C2A02D292B74FA38A7A36F3E6F0AFDC5A0529133D5B6B97A14= C802EC98B68CF51E02B7E02AD645D31AA52D616E7E45C7AF37F9E5B382EC1BDCF6271BA8161= B1F4B98FFAF5AAF9EB4DDB77EC4CCBCB3BD5151111702A7A4B3519A470DD9FFDDA7EBCFDEF1= D3F6D80EB4B43B9C8CCE44E9D14DB8A330148BAB356C96A5A9253BCEACB55202B5614E75CBA= 7CE9D281D9AB1F1D377E57524242425252D2AE5DE366CE5C756CC386E0CC5B69878F8246038= E469C8A8EA86EACDEDD8851172FAECE2E7AEDB5B9E49062FA82F4774774E7FA26A19878D613= B1E2B7B504A27411FE24515D36A685C2155FAEFA72C59797E1F3F20AD9E575AF7F79ECABAFB= EFCEA8BAFCCE64D86AACCAAF25B57AED45C01D8E8882D5BB62CAE2649B75457BFF6DA9CB9AF= FD7642E8E9455EA3E5E7467AE9BE8035313608589162F9E9F88227A555DA7CC23EF6E170BEE= 0D0C614EF6141CD5F157ED0EC56DE953C8C6AB351845A1D510D6D1FEE51A19F1A30A20EEDD9= 8DDBF2959352A11A80EA15BDB5C417902768495474C7CF7679166DFCD04769A84C316FB29D4= BCDC05D7F571AD66A7434E54CDF9496562352B4FA592469C503BC10522858762D28A8B2CA6D= 192A5F25E8CE9CC0F9EA240857662F52ED4728ECBB1308B5B2120DA772F36A6C4AC52A2D2D6= DACAEDE1D81953! A370BDAA99482DB37478E7A93A9989A3A29A8B516B10A65946629535DE7B83B0D0AB5F77EF= 6A16FB05B885B485515B9FC9575E8B41FA9D4C5B662AA7AF7EEDD27116A567CFCF499A2113F= BB811F0633A9210C04C67AD6BA315A56715743630036ABA050D7AD73907238B6D6DF861A5C8= 5AD34A40A0F547273EB024E1D8D8E8EFE962A53E2A0F8DFBDFBB7BFFD2D4A52F15E91CFA417= 1A1F0015BD0A58C15D163B05C52CC64A564B03F9C61E46BD74E9D2E5CBC532C7C01F38F7D2B= 6FCF0F1296AC31F16BF068C20C066A7C8A18A204861D2ACD04563EEDCE5163EF8C33B4AC9B2= 49939A5AEBDD520056C85550A439924BE45304F6A68FBE3F05B818358624A550A3031A4BFF4= 2AE7E7575F61C207DFBEDB7A198F29A962C62FEF4E0CF19190BE5C91353DB82EA97A1A8C542= 2F150269710E5E7B8C483B432166D8372882494C24680FBDAEE6E8D1E8C5A0D6461034469F3= 70FA5A8B7BD4F43D7AFB8EFBB81437C24AA50B47262EA7CCFDADA5AE45CC08AA613329A9972= 6CDECF4143143F3B6AA61D14A3824F21CE4628F8A1E8DBDF968548BD17C5DF492E78488F44A= 13BF8AC89918181ADAD6E5011AC6A20071332050EFFF695670DB0897E2B8D3C928E04152A68= 8E829AE93920BB21F0A3419AD70285AAF0A1BD12662244C9137FCE0F84A01595D2D202391F2= D790399AAA4F65! B73039CF3BF959647911E4581EA5B0C5A04A914652844EAE5355AC11CC2137C4345359 A4EF01477CE9E4D8DADF49CE8C64861B500D4AA55A8C973A855ECBCE3439E9F855A2AB70640= 036A0290A19275D46B18D4DB1B55D2D3466B86F456E0305EB433128A657722A704050595A35= 8C0309BCDA05D21582B8B0AAA78EC43230D8ED991792B039306D405603B8DC3BB52A0D2096F= 232B8596EFA995835728237E27D0D823624D4D9DD2B63B088A58B77A831BB0B6403CA0C23F5= 7BA971C4F23D4EDC1F6235428F423D080886A88A4E04CFBDBDADA26204E6FC85077930B86F8= FEE2B05E5F3416AAB85323A7F80605C6B6B6D6D6BBB99951ECA22629A055A7AB3358A924298= AFC50F94557431EDD8F494B266052AF6977D395437D8975786F5A1A0B0901EBCECF67037D03= CFC6B656CDA8A71E0506BE0DE20DF42A2538B88CD429891A5117111D1101E9BE0DFBD28409A= 731E9DD64F98921BF193BDC474D8D850502EE8C9FCF9E0D0C8A8D8D6D6D025A904DA4F8F931= EC5B93E4A9340A3428222202D40984BF7D1BA551EFFCF8F8313FDF495E123E8C375847F054A= C8948E7DEFD79CCD97CDFA0A0D8C0D8D87A30857A039210A0260B29AA9ACAADACF304370CDA= 1FB1BF6DFFDCB9E8A0375AF9D0F8455ED31770353DB787F376F4881EE035F5A48F5E30E6AC2= F4850906713487D7D3DFAEA568B9E87AEA58ABECA204F0C1A848CB30D8AE7B92429ACFCF405= C94BD6986E0EEB! 4F1D012A1A7C99948A94896723A74C99E21B084ED6143BA3A9B515CCA1094B6BAB67ABA727= E284FFF364D0C9365FF02310D02A9A9D7A81DBA7FBDC1EAE8246FA02B389D0485853EF449E9= D9235657F6020D8019619E47F3C01117D0682DE03DBD075A41274140502FEA2F8E977C09946= F2C8F9033C176F62A673199013B2E6B6B5F90622390B9481A4A406228DFB96A00F249040437= 1F33C2D39BDC20426FAEEBBFF3E54FC2EA388CB98181939E5EC94FCFCD3F9A70116A2185225= 10624892131D43098D8F8FC72B5F31D257E31FF0B97853A1559D9E7C17426D7EBE777E49BE6= F7E49C9695FEF7CEF126FF8249D088750707908F7AF3CC87BF10FE1117E9355FD918CB5ECCE= CF6320DC8EC91F939F0FCCDEF0351FAB1294E935E6CE32165FAE3CF7D3833CC3FF30FEBD00A= 3D174EE62F82BE9E977172C98366DFAF4E963904090F79A3E7DDAB405A3472BD2D544E103FF= EB060F03D5BE31C756C9450A8542865E0246CFC44BF8682F8938E14849C6FF4F508DF85F3A2= 8F4F139015278EEDCB91327CEB9E8F28151FF73FEC590FF18F95F0106009BB82CA79ADF6F60= 0000000049454E44AE426082'); = insert into MemberImage (imageid, member_id, contentType, data) values (2,= 2, 'image/jpeg', 'FFD8FFE000104A46494600010200006400640000FFEC00114475636B= 79000100040000003C0000FFEE000E41646F62650064C000000001FFDB00840006040404050= 40605050609060506090B080606080B0C0A0A0B0A0A0C100C0C0C0C0C0C100C0E0F100F0E0C= 1313141413131C1B1B1B1C1F1F1F1F1F1F1F1F1F1F010707070D0C0D181010181A1511151A1= F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F= 1F1F1F1F1F1F1F1F1F1F1FFFC000110800CE00AA03011100021101031101FFC400AB0001000= 202030101000000000000000000000708050601030402090101010100030101000000000000= 000000000102030506040710000103030104060607050407090000000100020311040506213= 1120741516122130871813242141591A16272822316B15292A233D1833425C1D25373243555= 4363A3546474561718110100020201020307030501000000000000010211030431124105066= 17181B1C1223221D142F05191E15214FFDA000C03010002110311003F00B528080808080808= 08083E2E278608249E6788E189A5F2C8E346B5AD157389EA0020A3FACF9C79EC97350EB2C55= CBE38B1B378786! 849219F0919A7039BD53ED2FF004F6234B91A2F56E3356E99B0CFE35D5B7BD8F88C676BA39= 06C922753DE638108CB368080808080808080808080808080808080808213F345CC2382D231= E9BB3938725A803993169EF4766CFEA9FEF0F70765516150915377962E65FC83523B4B6425A= 62736F1F0A5C7BB15ED28DF4094774F6D11256ED10404040404040404040404040404040404= 1D7737105B5BCB713BC45042C7492C8ED8D6B1A2AE713D400414179A1ADE7D6BADB239D7122= D5EFF00071D19F72D6224443D2EF6CF69469AA20E5AF7B1CD7B1C58F610E63DA685AE06A083= D8505E9E4973119ADF43DB5ECEF072F654B4CAB3A7C6634524A754ADA3BD35EA465BFA02020= 2020202020202020202020202020847CD2F303E49A463D3367270E473F56CFC27BCCB267F50= FF0078EA33D15458545457080824AE40F30BF46EBC83E2A5E0C365F86CF2153DD6171FC998F= DC79DBF64942577D1910101010101010101010101010101075DC4F0DBC124F33C470C4D73E5= 91C681AD68AB9C4F5008283734B5BCBAD35C64B3A49F857BFC1C7C6EF76D62EEC63B38B6BCF= 6946A1A9A02020115144177BCBFEBE1ABB405A8B9978F2D88A58E42A7BCEE06FE54A7EFB29E= B0512525A20808080808080808080808080808219F341AF7E43A2060AD24E0C96A02613C268= 5968CA19DDF8AA! 19EB28B0A794A6C451010101049BE5F35E7E92E615AB2E64E1C566786C6F6A68D6B9EE FC894FDD79A7A09425771191010101010101010101010101070E706B4924003692770414479= D3AE4EB2E60E472313F8F1D6AEF82C60E8F02124718FF78FE27FAD1A868A8080808081EBA76= A0BD5C8ED75FAC797B617D3BC3B25663E0B243A4CD08038CFFBC616BBD68CB7F40404040404= 04040404040404119F983D71FA539757BF0F27064F2FFE5F6343470F141F1641F722AEDEBA2= 2C291014141B86E451010101010104CDE5775C7C8B5D3B0573270D86A16089A09EEB6EE2A98= 4FE31C4CFA112570D1040404040404040404040402829BF99FD69F3DE609C3DBC9C563A7E3F= 87A0DC6E64A3A73E96F759EA45843C8A20FB8A09A5348D85DE80A65CFA78BB36FE159B7B9E9= 6E26F8FB807A4853BA1D9D3C83953FC623DF30F97E32F982A6327D04157BA1C7B3C8F954FE1= 9F7627EAF339AE69A38169EA3B157577A4D67168C4B8465DD697573677505DDABCC5736D232= 68241B0B648DC1CD23D0420FD03D01AB2DF5668FC567E0207C740D74CC1EE4CDEECACFC2F69= 08CB60404040404040404040404182D73A9EDB4B692CA67EE285B8FB77C91B0FBF29EEC4CFC= 4F2020FCF9BBBBB9BCBB9EF2E9E64B9B991F34F21DA5D248E2E79F5B8A34E941BDF2E794DA9= 75A5D96E3EDC781111E3DCCC4B208B8B771B8024B8EFE16ED59CCF83BFE3F074F1EB1B795D6= 7F1A78FC531BFC! AAE4D9655873F01BB02AD88DBB9B157AB883DCEF5F0FA94ED7DFAFD4FAEBFA46BC53D931FB= 218CC622FF000F94BAC5E423F0AF6CE4314F1D6A0387511BC11B415997A8D3BABB6917AFE32= F1A8E5754F6D0CEDE195A1C3AFA47AD5897CDC9E1EADF5EDD9113F3612FEC1F6CEA8ABA23B9= DD5D856E272F09E69E537E2CE63EED73D27E92F22D3A8590F28BAD7827CA68DB993BB27F986= 3413EF0A32E183F95DF4A24ACCA2080808080808080808082B8F9BAD65C1698AD1F6EFEF5C3= BE619003F7184B2061A75BB89DEA08B0AC88AF7626D84B3991E2AC8B6D3AC9DCB36977FE9FE= 0C6EDBDF6FC69F3F05D2E415CE0E4E5C63E1C7399F131193E651823C46DC39E6A5E37ED6D38= 7B15AF47CFE7F5D9FF00AAD37CE27A7B9B7EA7D5B80D358E7DFE66F196B13012C6123C49081= ECC6CF69CE3D8ACCBAEE371766FB76D233F2534D63A8A4D49AA3259C923F0BE3A632322DFC1= 1801B1B49E9218D155C532FD3387C68D1AABAFFE618651F4883E658D92B1CC78AB5C2842B12= E2DFA6BB6934B7EB12D66688C32BE376F69A7F62E487E61C9D13A765B5CF5ACE19AD0FAA2E3= 4AEAEC56A082B5B0B86BE568D9C509EECACFC51B8855C0FD07B4BA82EED61BAB77892DEE18D= 96191BB9CC78E2691E9051976A02020202020202020E247B23639EF706B180B9CE3B0003692= 50503E636A6BBD! 6DCC1CAE5ADE392E05DCE63C7C31B5D23FE1E11C1106B5A09DAC6F16C1D28D30B94D37 A87130413E571975610DD170B692E627C4242D00B8378C0AD2A83D3856816AE774B9E6BF405= C76EAF73E9AAC471E67FBD996B5BCBCB493C5B49E5B7948A19217BA3753AAAD20A8EFEF4ADA= 316889F7B8B9BABABA97C5BA9A4B894EF925739EEFA5C49516B48AC622310EA46840404182C= BB40BD27ADA095C95E8F01EA2AC472A71E3586D1A9B95995C1682C16B37DC32E31F9C0D0620= C2D740E91A5EC0F2490E0E0D345A746B35E59B57FCFB96B6F6533F8EF70521B096BBCC43BF0= 38FE03C3EA4494B28820202020202020208CFCC36B1FD35CB3C80864E0BECB531D6943DE1E3= 03E2B87DD883BD74421117947D1DF159DC9EAA9D9F938D8C59D913BBC69C56470FBB1803F12= 2CB73F3718192F3446332F1B4BBE557B49BECC772CE0E2FE36B07AD08562C1CC2924277D789= BFB0AC5A1EBFD31C98C5F5CF5FCA3EACAAC3D6880808080835EBC749777C5B002F7BDC2385A= 3DE713C2D03D2572C43F36F36E4C6EE45AD1D3A47C176353F2E45F7244E8E6B01BBB3C5C2DB= 5D9522EAD236BD94FBCF653D6ABAC56CE41F34ECB40EA3BB7E5DB37C9F271362BAF047198A5= 8DD58E52CAED0D0E7034DBB516573B0F99C56671D064B15751DE585CB43E1B885C1CD703E8E= 91D20ED08CBD88080808080808315A9F53E134CE16E3339ABA6DAD85B0ABDEEF69CEF758C6E= F73DDD0D082967! 38B9BD91E6265A179B7F83C363CBC63AD2B590F1D38A494EEE37068D8360FAD1A885B0E4AE= 90FD29CB7C463646705E4B1FC65F6CA1F1EE3BEE07EE8219EA465B26A8D3B61A8F4FE430790= 6F159E4217412D37B788775E3B58EA3876A0A0BAA34DE6B47EA7BAC364A3F0EF6C64A076D0D= 9633EC48DEB63DBB54C3E9E3722DA6F1B2BD63FAC3D36B7715CC7C6CD847B4CE90571CC3F47= E0F3F5F269DD5EBE31E30EF51F688080831D93C8363698623590EC711EE8FED5BAC3CDF9D79= BC6BACEAD73F7CF5F67FB493E5AF96936A4D5ACD437D09F91E0A41287387766BC6D1D1462BB= C47EDBBD43A56DE1E571BA1114239C3A5FF4CF3273B8C63382D8DC1BAB41D1E0DC8F15A07DD= E22DF52350F4728F9A394D05A960B96CB24982B87866571E092C746ED86563770919BC11BF7= 74A12BC587CCE2B338E83258ABA8EF2C2E5BC50DC44EE26387F68E90768465ED40404041C3D= ED634B9C435AD15738EC000DE4A0873985E66349E9F91F8DD3ACFD459BA98DAD809F86649B8= 074ADA990D7DD8EBE908B8576E6D6539A592C8D95E6BC8E7B537911B8C5D8BDA238638EBC27= 82104F03BAF8FBFBAA8B0F3727B49FEAAE63E1B14F671DA326F8ABD1D1E05B7E6381FBC406F= AD095F608C8823EE6E727F0BCC2C531B23C59E6ED1A463F241B52DAEDF0A503DA8DC7A3A378= 45CA9CEAED13AB! 744E54D966ED1F692827C0B96F7A0980F7A293D970ECDE3A4239B46FBEAB77527B6CF0 C19B70004D1D7ED3767D4B1357A5E37A9ED118DB5CFB63F67A8662C88DEE1E90A76BB5AFA87= 8B3E368F83E5F9AB403BA1CE3D54A7ED4ED71ECF5271E23ED8B5BE18786E72F71282D652261= EADF4F4AD455D1733D41BB6C76D7ECAFB3AFF009485CA9E436A7D6F3C57B7B1C98AD375064B= E95BC324CDE96DB31DBEBFBE7BA3B569D0CCAE3E9CD3B87D3B86B6C3E1EDDB6B8FB46704313= 7E92E713B5CE71DA49DE8CB25D082B079BFD37E1E4B05A92266CB88E4B0B9701EF447C58ABE= 96B9FF00422C208D3382BACFEA2C6E12D4567C8DCC76EDEC0F7779C7B1ADA928AB0392D17CC= 4E48DECF9FD1F70FCE68B73B8F258A9B6BE360DEE7B5A3A3FDAB06CF78511134F2EF999A635= DE1C5FE167FCF8C0F8CC7C8409E071E87B7A5A7DD70D8511B62020D735C6BFD31A2B10EC9E7= 6EC42C3516F6CCEF4F3BC7B91475AB8F6EE1D25056EBFD4FCD8E7A65E5C560E2762B4AC6E02= 76F139B03195D86EA668ACCFA6DF0DBB3B3A51537F2CB91DA3F42451DC4317CC339C34972B7= 0D05E0F48859B444DF46DEB2865A779BA8B0E74462E6B81FE6ADBF0CC73852BC0E8DC6707EC= F0B5BEBA210C27940D2DC30E6F54CCCDB23998EB379FDD6D25988F5960425645104041E3CB6= 1F1597B292C329670DED9CA2925BCEC6C8C3EA703F4A0887527951E5E649EF9B1335DE12579= AF870B84D00AF5! 472D5C3D4F45CB4ABAF273950F3F09AA20733DD135A3C3A9DA5B211F52197AB1FE4E7BE0E4= B5417301F66DAD43491E97C8EFD886525E91F2F3CB2D352C7731E3DD93BE8E85B7591709C87= 0E96C746C43F851329283400000001B0008080822EF327A7C65F94F9395ADACF8A7C57F1506= DA44EE193FF0DEE45842FE52F1389BCD7B7F7B75DEBFC7597898F8CD29595FE1CB27A5AD207= E24256DDEC6BD85AE68735C28E69DA083B0821115939B7CAFCEF2E7383989CBC7BED2CA3717= E42D22156DB711EF1F0F73EDDFEF34FB3E8DC54AFC9FE7361B9838E31B836CB50DAB01BEC71= 3B08DDE2C04ED7464FADBD3D04848D5088A276D25FF003139AB6F6BADF2AFB292F6EDD6B3CA= E151070BC816B0B7D98EAE1C0D2765769DA8D2ECE9DD3986D3B88B7C461ED5967616CDE18E1= 60E9E9738EF739DD24EF465934152FCDCEA3375ACF198463EB062ACCCD2B2BB04D74EAFD3E1= C6DFA51613E72534DFE9EE58602C5CCE09E5B76DDDC8E9F16EBF39D5ED1C607A9125BC20202= 02020202020202020F0E77170E5B0B7F8B980315FDBCB6CFAEEA4AC2CFF004A0A63C83CA4DA= 6F9C78CB5B8259E3CB3E2AE41D9DE7D5ADAFF7AC6A352BB88CBE268229E27C3330490CAD2C9= 237005AE6B850B483BC10828DF3170F77CB0E6CDCB34EDD1B775948CBDC63D86A638E71C621= 78E9036B483BDA! 8D265FFF00531FFA23BFE47F31F7BFC6FEEFFEDFEDA2611F7999E5DCDA7359FEA3B263 9B8BCF3CCC5EDD9E0DEB76C8DAF471FB6DEDAF52109DB90DCCF6EB8D20C6DE480E7F15C36F9= 26F4C829F97381D5201B7ED02889350518D63249AE79E37904678D992CC476109DFF93148DB= 7FA38584A34BCB1451C51B228DBC2C8DA1AC68E80D1401197D2020202020202020202020141= 4779C7692E93E75652E6DC787E15F4396B6A6EFCC2DB83FCFC48D2EDD85E437B656F7909AC3= 7313268CFD991A1CDFA8A32D039E1CD26681D2A66B52C7E7B224C18B85FB434D3BF339BD2D8= C7D2EA0458569E54F2CF3DCD2D573E432D34D262A39BC5CDE52424C933DDB7C18DC7DF7F4FE= E8F50455BFFD11A4BFE916FF00E07E53EC0FF03FEC3EEA32E35C68DC56B0D337B80C9B6B05D= 37F2E502AF8A56ED8E5657DE63B6FD4828BE33506A7D09A8F223079236D7D099F1D3DD42016= C8C6BCB1C40783D2DE269A541469BE72EBCC76B3D3F34B6B9EBB97338C9A39046F9FF32E219= 8B0F86F6C8685CDE3A7135DD1B90C3CDE59F0CFCBF36ACEEA66F18C6C3717F293B68F23C36B= BF8E642574D19101010101010101010101010555F37F85106A8C1E658DA36F6D24B6948E975= BC9C4DAFE19BEA4586B79EE7E6667E5B69ED2B83B8BBC75F58C22DF317CC2D8CCCC89BC1136= 1918E2F00B76B8EC286115DC5E5D5DCCD92F6796E5D500BE57B9EFE1276D0B89457E8468ED3= F86C069BB0C5E1! ED85AD8430B0B231B492E682E7BDDEF3DC76B894659A402828B73CB43CBA479837D6E6764F= 6D9473F2566184F1B229E579E0901DC5AE040EB08D423F41653C9DE1766A3CE39BBCC1630BA= 9D038A57D0FADB544959544101010101010101010101010413E6F31826D0B8AC8D2AEB2C8B5= 95EA6CF13C1FAD811615311590D3CDC5BB3D8D19698DBE2CDD43F1D306971640240647708DA= 7BA83F44ECE7B5B8B5867B47B64B59636BE092320B1D1B802C7348D94237232EE418ACCEABD= 31846D73196B4C7750B99E388EDEA0E20A0A5FCFED438FCFF003432390C6DE477D8EF06DA2B= 6B881E248C8644388348FB64D51A847682E7F95FC3FCBF94F6770E6D1F93B9B8BB27A482FF0= 0099FCB1028929691040404040404040404040404114F99CB413F28726FA54DB4F6B337B293= B5A7F95C51614B1144174BCB2E69F90E53E3A09A40F9AC259ED5ADA82E11B2425951BE94750= 224A57A844504E6AE97D4780D71958F3B0CBE25CDD4F35A5E49C4E64F0BE42E63A390FB5469= A115D88D435141C38D1A4F5041FA0BCB3C48C4F2FB4EE3C0E13063EDF8DBD4E7461EEFE6714= 65B2A02020202020202020202020208F79FF109393FA98104F0DBB5E29F665614214611A107= B70CCCCCB93B7B7C2FC41C9CCF0CB58ED1CF133A43B833808354165BF44F99EFFE4CCFF9470= 7F51BFD7FFCBFB! 3FE23FF0050889C751E96D3FA9718FC6676C62BFB27ED314A3711B9CC70A398EED6905 1115E5BCA772D2EDFC7653E431849DAD8666C8DFA2664847D28B956CE61E96C560B98F90D35= 8C7486C6D2E21B58E499C1F212F647C6E738068AF1B9DD08ABF36F136282389828D8DAD6B47= 5068A0465F6808083C19AD4183C1D93AFB337F063ED1BBE6B891B1B6BD4388ED3D8104539DF= 355CB2C7BDF1D80BCCBBDBB9F6F0F8711F43E6319FE545C354BDF38D683FC169695E3A0DC5D= B63FA991C9FB50C31A7CE266BC404699B6F0FDE06EA4AD7D3E1FF00A10C33388F3878791ED6= E634E5C5B3491C52DACEC9C0EB3C2F6C250C24CD2FCF4E57EA2E08ED33715B5D3F75ADF56D6= 4AF57E6518EFC2E28986F8D7B5ED0E690E6B855AE1B4107A8A0E501010681CFA95B1F283541= 71F6AD3807A5F231A3F6A10A73A4397BAAB5843927E9EB51792E2D8C96E2D83C3647364240F= 0C3A81C7BA7657D08D3BB03CADE60E6F303136782BC8EE8383677DCC2F822876ED74923C068= 03B36F520B75CA8E4A69CD0168276017FA826670DD65246ED15F6A381BFF0066CFACF4A3394= 89C0D41CA020A3DCF88CE3F9D79B94B68D1736D74DED06189E7EB051A85DDB795935BC72B08= 7324635ED70DC438541465D883A6F2F6D2CADA4BABC9E3B6B685A5D2CF338318D68E9739D40= 10401CCCF3538EB212E3743C6DBFBADAD7E5E607E198777E4B0D1D29ED346FA517086F0DA3F= 9AFCD9CA3B207E! 23242A43F2D7CF2CB58F6ED6B091C3B3F7626A2A63D3BE50707146C7EA3CDDC5DCC477E0B1= 6B608C1EC7C8247BBD3408996E565E5939416C07898C9EEC8F7A7BA9CFD218E60FA90CB27FF= D01C9FA53F4D5BFF1CDFEBA1960737E56B9577EC77C1C1758A97DD7DB4EF7B6BDAC9FC51F45= 10CA2DD55E5235659B5F2E9EC95BE5E21ECDBDC0F869E9D8497C6EFA5A865A3D96A4E7072B3= 20CB57C97B8815D96178D32D9CA07EEB5C5D111DB1945582E55F993D3DAAA487139F6330B9D= 9086444BBFE16E1DD0237BBD871FDD77A8944C2674410429E6BF3ECB0E5CC38A0EA4F98BC8D= 9C3FF00756FF9CF3FC4D60F5A2C317E50308F834BE7334F6D3E6178CB788F5B2D586BFCD29F= A1094FF44410101010564F367CBEB8F8AB5D71671992DCC6DB2CB068AF01693E04AEFB278B8= 0F6D1161E8E507995D3D8CD2F6D82D64F9E2BAC734436D908E27CED96068A461E19C4F0F60E= EEEA1086194D5DE6DF4D5A44E8B4AE3A7CA5D1146DCDD036F6E0F5F0FF0055DE8A350C214C9= 67F9B1CDCCC7C27FC4E548702CC7DB34C765057602E15F0DBF7A435ED454D1CB7F2A98BB074= 592D6B337257628E6E2A0245AB0EFF00CD7EC74BE8D8DF4A2653EDA5ADB5A5BC76D6B0B20B7= 89A19143134318D68DC1AD6D00088ED4040404041E1CCE13119AB0971F96B386FACA51492DE= 7607B4F6EDDC7B! 46D415679D1E5C6E74E43367F49364BCC2B2AFBBC71AC93DB346D2F611B6489BD3EF37 B422E590E49799018C860D3BADA77C962C019619A755EF89BB84771BCB983A1FBC74ECDA861= 62A2D69A3A6B6F8A8B3B8F7DBF0F178A2EA1E1A52B52789115079F7CC06EBCD7B1DBE189BAC= 66380B1C670027C79A478F12460E9E37D1ADEB0075A350B63CB4D24CD25A1B1181D9E35AC00= DD3853BD71212F94ECFB6E34EC465B3A020202020F0E6FE4DF28BCF9D783F29F05FF1DF13C3= E0F834EFF89C5B2944153350695F2CD7B7B24D87D6D758989CE24DB7C0DE5D44DDBBA32E85A= FA75778A2BBF4E69AF2BB6170C9731ABEEF32411485F697B6D01FBC23838A9E97A0B39A33F4= 67C860FD21F07F26A7E57C070785EBE0F7BAF8B6A233C101010101010101070EA536EEE9AEE= 415239B9A7B90D7F98BCB8D3BAAA0C365DB2385E5936D6EE7B07C95EF18DF6F13DAC35DFC05= CDEC08A8824C3631B216B73B8E91B5FEA06DF01F5DA03F522A68E4060794F63AAAC2EB23A9A= 0CAEA791DC388C7C76D7715BC5352BC5E2DC43135F2D2A195A7654A24AD78441010107FFFD9= '); Modified: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Mem= berAccount.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberAcc= ount.java 2008-04-07 10:04:31 UTC (rev 7822) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberAcc= ount.java 2008-04-07 10:05:26 UTC (rev 7823) @@ -14,6 +14,10 @@ import javax.persistence.UniqueConstraint; = import org.hibernate.validator.NotNull; +import org.jboss.seam.annotations.security.management.UserEnabled; +import org.jboss.seam.annotations.security.management.UserPassword; +import org.jboss.seam.annotations.security.management.UserPrincipal; +import org.jboss.seam.annotations.security.management.UserRoles; = @Entity @Table(uniqueConstraints =3D @UniqueConstraint(columnNames =3D "username")) @@ -25,7 +29,8 @@ private String username; private String passwordHash; private boolean enabled; = - private Set memberships; + = + private Set roles; private Member member; = = @Id @GeneratedValue @@ -39,7 +44,7 @@ this.accountId =3D accountId; } = - @NotNull + @NotNull @UserPrincipal public String getUsername() { return username; @@ -50,7 +55,7 @@ this.username =3D username; } = - = + @UserPassword(hash =3D "MD5") public String getPasswordHash() { return passwordHash; @@ -61,30 +66,31 @@ this.passwordHash =3D passwordHash; = } = = + @UserEnabled public boolean isEnabled() { return enabled; } = - public void setEnabled(boolean enabled) { this.enabled =3D enabled; = } = = - @ManyToMany(targetEntity =3D MemberAccount.class) + @UserRoles + @ManyToMany(targetEntity =3D MemberRole.class) @JoinTable(name =3D "AccountMembership", = joinColumns =3D @JoinColumn(name =3D "AccountId"), inverseJoinColumns =3D @JoinColumn(name =3D "MemberOf") ) - public Set getMemberships() + public Set getRoles() { - return memberships; + return roles; } = - public void setMemberships(Set memberships) + public void setRoles(Set roles) { - this.memberships =3D memberships; + this.roles =3D roles; } = @OneToOne Added: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Member= Role.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberRol= e.java (rev 0) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberRol= e.java 2008-04-07 10:05:26 UTC (rev 7823) @@ -0,0 +1,63 @@ +package org.jboss.seam.example.seamspace; + +import java.io.Serializable; +import java.util.Set; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; + +import org.jboss.seam.annotations.security.management.RoleGroups; +import org.jboss.seam.annotations.security.management.RoleName; + +(a)Entity +public class MemberRole implements Serializable +{ + private static final long serialVersionUID =3D 9177366120789064801L; + = + private Integer roleId; + private String name; + = + private Set groups; + = + @Id @GeneratedValue + public Integer getRoleId() + { + return roleId; + } + = + public void setRoleId(Integer roleId) + { + this.roleId =3D roleId; + } + = + @RoleName + public String getName() + { + return name; + } + = + public void setName(String name) + { + this.name =3D name; + } + = + @RoleGroups + @ManyToMany(targetEntity =3D MemberRole.class) + @JoinTable(name =3D "RoleGroup", = + joinColumns =3D @JoinColumn(name =3D "RoleId"), + inverseJoinColumns =3D @JoinColumn(name =3D "MemberOf") + ) + public Set getGroups() + { + return groups; + } + = + public void setGroups(Set groups) + { + this.groups =3D groups; + } = +} Deleted: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Role= Action.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleActio= n.java 2008-04-07 10:04:31 UTC (rev 7822) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleActio= n.java 2008-04-07 10:05:26 UTC (rev 7823) @@ -1,106 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import static org.jboss.seam.ScopeType.CONVERSATION; - -import java.util.ArrayList; -import java.util.List; - -import org.jboss.seam.annotations.Begin; -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.core.Conversation; -import org.jboss.seam.security.management.IdentityManager; - -(a)Name("roleAction") -(a)Scope(CONVERSATION) -public class RoleAction -{ - private String role; - private List memberships; - = - @In IdentityManager identityManager; - = - @Begin - public void createRole() - { - memberships =3D new ArrayList(); - } - = - @Begin - public void editRole(String role) - { - this.role =3D role; - memberships =3D identityManager.getGrantedRoles(role); - } - = - public String save() - { - if (identityManager.roleExists(role)) - { - return saveExistingRole(); - } - else - { - return saveNewRole(); - } - } - = - private String saveNewRole() - { = - boolean success =3D identityManager.createRole(role); - = - if (success) - { - for (String r : memberships) - { - identityManager.grantRole(role, r); - } - = - Conversation.instance().end(); - } - = - return "success"; = - } - = - private String saveExistingRole() - { - List grantedRoles =3D identityManager.getGrantedRoles(role); - = - if (grantedRoles !=3D null) - { - for (String r : grantedRoles) - { - if (!memberships.contains(r)) identityManager.revokeRole(role,= r); - } - } - = - for (String r : memberships) - { - if (grantedRoles =3D=3D null || !grantedRoles.contains(r)) identi= tyManager.grantRole(role, r); - } - = - Conversation.instance().end(); - return "success"; - } - = - public String getRole() - { - return role; - } - = - public void setRole(String role) - { - this.role =3D role; - } - - public List getMemberships() - { - return memberships; - } - = - public void setMemberships(List memberships) - { - this.memberships =3D memberships; - } -} \ No newline at end of file Deleted: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/Role= Search.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleSearc= h.java 2008-04-07 10:04:31 UTC (rev 7822) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/RoleSearc= h.java 2008-04-07 10:05:26 UTC (rev 7823) @@ -1,52 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import static org.jboss.seam.ScopeType.SESSION; - -import java.io.Serializable; -import java.util.List; - -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.datamodel.DataModel; -import org.jboss.seam.annotations.datamodel.DataModelSelection; -import org.jboss.seam.security.management.IdentityManager; - -(a)Name("roleSearch") -(a)Scope(SESSION) -public class RoleSearch implements Serializable -{ - @DataModel - List roles; - = - @DataModelSelection - String selectedRole; - = - @In IdentityManager identityManager; - = - public void loadRoles() - { - roles =3D identityManager.listRoles(); = - } - = - public String getRoleMemberships(String role) - { - List roles =3D identityManager.getGrantedRoles(role); - = - if (roles =3D=3D null) return ""; - = - StringBuilder sb =3D new StringBuilder(); - = - for (String r : roles) - { - sb.append((sb.length() > 0 ? ", " : "") + r); = - } - = - return sb.toString(); = - } - = - public String getSelectedRole() - { - return selectedRole; - } -} \ No newline at end of file Deleted: trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/User= Search.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/UserSearc= h.java 2008-04-07 10:04:31 UTC (rev 7822) +++ trunk/examples/seamspace/src/org/jboss/seam/example/seamspace/UserSearc= h.java 2008-04-07 10:05:26 UTC (rev 7823) @@ -1,57 +0,0 @@ -package org.jboss.seam.example.seamspace; - -import static org.jboss.seam.ScopeType.SESSION; - -import java.io.Serializable; -import java.util.List; - -import org.jboss.seam.annotations.In; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Synchronized; -import org.jboss.seam.annotations.datamodel.DataModel; -import org.jboss.seam.annotations.datamodel.DataModelSelection; - -import org.jboss.seam.security.management.IdentityManager; - -(a)Name("userSearch") -(a)Scope(SESSION) -(a)Synchronized -public class UserSearch implements Serializable -{ - private static final long serialVersionUID =3D 8592034786339372510L; - - @DataModel - List users; - = - @DataModelSelection - String selectedUser; - = - @In IdentityManager identityManager; - = - public void loadUsers() - { - users =3D identityManager.listUsers(); = - } - = - public String getUserRoles(String username) - { - List roles =3D identityManager.getGrantedRoles(username); - = - if (roles =3D=3D null) return ""; - = - StringBuilder sb =3D new StringBuilder(); - = - for (String role : roles) - { - sb.append((sb.length() > 0 ? ", " : "") + role); = - } - = - return sb.toString(); = - } - = - public String getSelectedUser() - { - return selectedUser; - } -} \ No newline at end of file Modified: trunk/examples/seamspace/view/roledetail.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/roledetail.xhtml 2008-04-07 10:04:31 UTC = (rev 7822) +++ trunk/examples/seamspace/view/roledetail.xhtml 2008-04-07 10:05:26 UTC = (rev 7823) @@ -25,9 +25,9 @@ = =
= - +
- +
Modified: trunk/examples/seamspace/view/rolemanager.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-07 10:04:31 UTC= (rev 7822) +++ trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-07 10:05:26 UTC= (rev 7823) @@ -47,14 +47,14 @@ #{role} - #{roleSearch.getRoleMemberships(role)} + #{roleSearch.getRoleGroups(role)} - + = Modified: trunk/examples/seamspace/view/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/template.xhtml 2008-04-07 10:04:31 UTC (r= ev 7822) +++ trunk/examples/seamspace/view/template.xhtml 2008-04-07 10:05:26 UTC (r= ev 7823) @@ -40,7 +40,7 @@ | | | - | + | =
= Modified: trunk/examples/seamspace/view/usermanager.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/usermanager.xhtml 2008-04-07 10:04:31 UTC= (rev 7822) +++ trunk/examples/seamspace/view/usermanager.xhtml 2008-04-07 10:05:26 UTC= (rev 7823) @@ -56,11 +56,11 @@
- + --===============4727376648646852481==-- From seam-commits at lists.jboss.org Mon Apr 7 08:32:41 2008 Content-Type: multipart/mixed; boundary="===============8791297501072888785==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7825 - branches/Seam_2_0/examples. Date: Mon, 07 Apr 2008 08:32:41 -0400 Message-ID: --===============8791297501072888785== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-07 08:32:41 -0400 (Mon, 07 Apr 2008) New Revision: 7825 Modified: branches/Seam_2_0/examples/build.xml Log: Include .hbm.xml Modified: branches/Seam_2_0/examples/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/build.xml 2008-04-07 12:31:48 UTC (rev 7824) +++ branches/Seam_2_0/examples/build.xml 2008-04-07 12:32:41 UTC (rev 7825) @@ -472,6 +472,7 @@ + --===============8791297501072888785==-- From seam-commits at lists.jboss.org Mon Apr 7 08:32:51 2008 Content-Type: multipart/mixed; boundary="===============6224487581824169576==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7824 - branches/Seam_2_0/build. Date: Mon, 07 Apr 2008 08:31:48 -0400 Message-ID: --===============6224487581824169576== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-07 08:31:48 -0400 (Mon, 07 Apr 2008) New Revision: 7824 Modified: branches/Seam_2_0/build/common.build.xml Log: Minor Modified: branches/Seam_2_0/build/common.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/common.build.xml 2008-04-07 10:05:26 UTC (rev 7= 823) +++ branches/Seam_2_0/build/common.build.xml 2008-04-07 12:31:48 UTC (rev 7= 824) @@ -116,7 +116,6 @@ - --===============6224487581824169576==-- From seam-commits at lists.jboss.org Mon Apr 7 08:33:12 2008 Content-Type: multipart/mixed; boundary="===============0467455641213926477==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7826 - branches/Seam_2_0/src/main/org/jboss/seam/persistence. Date: Mon, 07 Apr 2008 08:33:12 -0400 Message-ID: --===============0467455641213926477== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-07 08:33:11 -0400 (Mon, 07 Apr 2008) New Revision: 7826 Modified: branches/Seam_2_0/src/main/org/jboss/seam/persistence/HibernatePersisten= ceProvider.java Log: Wrong way around if using hibernate only Modified: branches/Seam_2_0/src/main/org/jboss/seam/persistence/HibernatePe= rsistenceProvider.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/persistence/HibernatePersiste= nceProvider.java 2008-04-07 12:32:41 UTC (rev 7825) +++ branches/Seam_2_0/src/main/org/jboss/seam/persistence/HibernatePersiste= nceProvider.java 2008-04-07 12:33:11 UTC (rev 7826) @@ -318,10 +318,10 @@ = public static Class getEntityClass(Object bean) { - Class clazz =3D Entity.forBean(bean).getBeanClass(); + Class clazz =3D Hibernate.getClass(bean); if (clazz =3D=3D null) { - clazz =3D Hibernate.getClass(bean); + clazz =3D Entity.forBean(bean).getBeanClass(); } return clazz; } --===============0467455641213926477==-- From seam-commits at lists.jboss.org Mon Apr 7 08:48:53 2008 Content-Type: multipart/mixed; boundary="===============1688808422895363847==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7827 - in maven-plugins/trunk: seam-jdocbook-style/src/main/css/css and 1 other directory. Date: Mon, 07 Apr 2008 08:48:53 -0400 Message-ID: --===============1688808422895363847== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-07 08:48:53 -0400 (Mon, 07 Apr 2008) New Revision: 7827 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-pdf.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Use new XSL params for chapter and section title colours. Made all HTML hea= dings 2-6 use the same colour in CSS. Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-pdf.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-07 12:33:11 UTC (rev 7826) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-07 12:48:53 UTC (rev 7827) @@ -17,8 +17,8 @@ #576C74 #885324 - #BA5624 - #BA5624 + #BA5624 + #BA5624 = #D3D2D1 Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-07 12:33:11 UTC (rev 7826) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-07 12:48:53 UTC (rev 7827) @@ -19,15 +19,11 @@ background-image: url(../images/seamframework/title_hdr.png); } = -h2 { - color: #BA5624; -} - /* - Use sfwk colour for title + Use sfwk colour for titles */ -h3,h4,h5,h6 { - color: #576C74; +h2,h3,h4,h5,h6 { + color: #BA5624; } = div.note { @@ -211,7 +207,3 @@ .navfooter td.up a { background-image: url(../images/seamframework/stock-go-up.png); } - -.programlistingco pre { - font-family: Courier, 'Courier New', 'Lucida Console', Monaco, monospace; -} \ No newline at end of file --===============1688808422895363847==-- From seam-commits at lists.jboss.org Mon Apr 7 10:08:06 2008 Content-Type: multipart/mixed; boundary="===============4867205345928799410==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7828 - branches/Seam_2_0/build and 2 other directories. Date: Mon, 07 Apr 2008 10:08:06 -0400 Message-ID: --===============4867205345928799410== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-07 10:08:06 -0400 (Mon, 07 Apr 2008) New Revision: 7828 Modified: branches/Seam_2_0/build.xml branches/Seam_2_0/build/common.build.xml branches/Seam_2_0/build/core.pom.xml branches/Seam_2_0/build/utilities.build.xml trunk/build.xml trunk/build/common.build.xml trunk/build/core.pom.xml trunk/build/utilities.build.xml Log: Generate a jboss-seam-wls-compatible.jar that excludes TimerServiceDispatch= er Modified: branches/Seam_2_0/build/common.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/common.build.xml 2008-04-07 12:48:53 UTC (rev 7= 827) +++ branches/Seam_2_0/build/common.build.xml 2008-04-07 14:08:06 UTC (rev 7= 828) @@ -92,7 +92,8 @@ - + + @@ -108,7 +109,6 @@ - Modified: branches/Seam_2_0/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/core.pom.xml 2008-04-07 12:48:53 UTC (rev 7827) +++ branches/Seam_2_0/build/core.pom.xml 2008-04-07 14:08:06 UTC (rev 7828) @@ -4,7 +4,7 @@ xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 http://maven.apa= che.org/maven-v4_0_0.xsd"> 4.0.0 org.jboss.seam - jboss-seam + @artifact.name@ org.jboss.seam parent Modified: branches/Seam_2_0/build/utilities.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/utilities.build.xml 2008-04-07 12:48:53 UTC (re= v 7827) +++ branches/Seam_2_0/build/utilities.build.xml 2008-04-07 14:08:06 UTC (re= v 7828) @@ -11,6 +11,7 @@ + @@ -18,6 +19,7 @@ + Modified: branches/Seam_2_0/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build.xml 2008-04-07 12:48:53 UTC (rev 7827) +++ branches/Seam_2_0/build.xml 2008-04-07 14:08:06 UTC (rev 7828) @@ -185,6 +185,11 @@ = + + + + + = = - + - + = @@ -35,7 +40,9 @@ Last Name : - + + = +
= --===============1140750914338119935==-- From seam-commits at lists.jboss.org Mon Apr 7 21:09:57 2008 Content-Type: multipart/mixed; boundary="===============7770429497607534384==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7849 - trunk/src/main/org/jboss/seam/security/management. Date: Mon, 07 Apr 2008 21:09:57 -0400 Message-ID: --===============7770429497607534384== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 21:09:57 -0400 (Mon, 07 Apr 2008) New Revision: 7849 Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java Log: fix password hashing Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStor= e.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-07 23:55:47 UTC (rev 7848) +++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-08 01:09:57 UTC (rev 7849) @@ -69,13 +69,13 @@ private Field propertyField; private Method propertyGetter; private Method propertySetter; - private Class annotation; + private Annotation annotation; private String name; private Class propertyClass; = private boolean isFieldProperty; = - public BeanProperty(Field propertyField, Class= annotation) + public BeanProperty(Field propertyField, Annotation annotation) { this.propertyField =3D propertyField; isFieldProperty =3D true; @@ -84,7 +84,7 @@ this.propertyClass =3D propertyField.getDeclaringClass(); } = - public BeanProperty(Method propertyMethod, Class annotation) + public BeanProperty(Method propertyMethod, Annotation annotation) { if (!(propertyMethod.getName().startsWith("get") || (propertyMeth= od.getName().startsWith("is")))) { @@ -188,7 +188,7 @@ } } = - public Class getAnnotation() + public Annotation getAnnotation() { return annotation; } @@ -213,8 +213,6 @@ private BeanProperty roleNameProperty; private BeanProperty roleGroupsProperty; = - private String passwordHash; - = public Set getFeatures() { return featureSet.getFeatures(); @@ -300,12 +298,18 @@ { for (Field f : cls.getFields()) { - if (f.isAnnotationPresent(annotation)) return new BeanProperty(f,= annotation); + if (f.isAnnotationPresent(annotation)) = + { + return new BeanProperty(f, f.getAnnotation(annotation)); + } } = for (Method m : cls.getMethods()) { - if (m.isAnnotationPresent(annotation)) return new BeanProperty(m,= annotation); + if (m.isAnnotationPresent(annotation)) + { + return new BeanProperty(m, m.getAnnotation(annotation)); + } } = return null; @@ -337,11 +341,8 @@ if (userEnabledProperty !=3D null) userEnabledProperty.setValu= e(user, false); } else - { - String passwordValue =3D passwordHash =3D=3D null ? password : - PasswordHash.instance().generateSaltedHash(password, getUse= rAccountSalt(user)); - = - userPasswordProperty.setValue(user, passwordValue); + { = + userPasswordProperty.setValue(user, generatePasswordHash(passw= ord, getUserAccountSalt(user))); if (userEnabledProperty !=3D null) userEnabledProperty.setValu= e(user, true); } = @@ -451,6 +452,8 @@ = public boolean addRoleToGroup(String role, String group) { + if (roleGroupsProperty =3D=3D null) return false; = + = Object targetRole =3D lookupRole(role); if (targetRole =3D=3D null) { @@ -463,43 +466,53 @@ throw new NoSuchRoleException("Could not grant role, group '" + g= roup + "' does not exist"); } = - if (roleGroupsProperty !=3D null) + + Collection roleGroups =3D (Collection) roleGroupsProperty.getValue(t= argetRole); = + if (roleGroups =3D=3D null) { - Collection roleGroups =3D (Collection) roleGroupsProperty.getValu= e(targetRole); = - if (roleGroups =3D=3D null) + // This should either be a Set, or a List... + if (Set.class.isAssignableFrom(roleGroupsProperty.getPropertyClas= s())) { - // This should either be a Set, or a List... - if (Set.class.isAssignableFrom(roleGroupsProperty.getPropertyC= lass())) - { - roleGroups =3D new HashSet(); - } - else if (List.class.isAssignableFrom(roleGroupsProperty.getPro= pertyClass())) - { - roleGroups =3D new ArrayList(); - } - = - roleGroupsProperty.setValue(targetRole, roleGroups); + roleGroups =3D new HashSet(); } - else if (((Collection) roleGroupsProperty.getValue(targetRole)).c= ontains(targetGroup)) + else if (List.class.isAssignableFrom(roleGroupsProperty.getProper= tyClass())) { - return false; + roleGroups =3D new ArrayList(); } - - ((Collection) roleGroupsProperty.getValue(targetRole)).add(target= Group); - mergeEntity(targetRole); = - return true; + roleGroupsProperty.setValue(targetRole, roleGroups); } - else + else if (((Collection) roleGroupsProperty.getValue(targetRole)).cont= ains(targetGroup)) { return false; } + + ((Collection) roleGroupsProperty.getValue(targetRole)).add(targetGro= up); + mergeEntity(targetRole); + = + return true; } = public boolean removeRoleFromGroup(String role, String group) { - // TODO Auto-generated method stub - return false; + if (roleGroupsProperty =3D=3D null) return false; + = + Object roleToRemove =3D lookupRole(role); + if (role =3D=3D null) + { + throw new NoSuchUserException("Could not remove role from group, = no such role '" + role + "'"); + } + = + Object targetGroup =3D lookupRole(group); + if (targetGroup =3D=3D null) + { + throw new NoSuchRoleException("Could not remove role from group, = no such group '" + group + "'"); + } = + = + boolean success =3D ((Collection) roleGroupsProperty.getValue(roleTo= Remove)).remove(targetGroup); + = + if (success) mergeEntity(roleToRemove); + return success; } = = public boolean createRole(String role) @@ -606,7 +619,7 @@ throw new NoSuchUserException("Could not change password, user '"= + username + "' does not exist"); } = - userPasswordProperty.setValue(user, PasswordHash.instance().generate= SaltedHash(password, getUserAccountSalt(user))); + userPasswordProperty.setValue(user, generatePasswordHash(password, g= etUserAccountSalt(user))); mergeEntity(user); return true; } @@ -715,6 +728,38 @@ } } = + private String generatePasswordHash(String password, String salt) + { + String algorithm =3D ((UserPassword) userPasswordProperty.getAnnotat= ion()).hash(); + = + if (algorithm =3D=3D null || "".equals(algorithm)) + { + if (salt =3D=3D null || "".equals(salt)) + { + return PasswordHash.instance().generateHash(password); + } + else + { + return PasswordHash.instance().generateSaltedHash(password, sa= lt); + } + } + else if ("none".equals(algorithm)) + { + return password; + } = + else + { + if (salt =3D=3D null || "".equals(salt)) + { + return PasswordHash.instance().generateHash(password, algorith= m); + } + else + { + return PasswordHash.instance().generateSaltedHash(password, sa= lt, algorithm); + } + } = + } + = public boolean authenticate(String username, String password) { Object user =3D lookupUser(username); = @@ -723,7 +768,7 @@ return false; } = - String passwordHash =3D PasswordHash.instance().generateSaltedHash(p= assword, getUserAccountSalt(user)); + String passwordHash =3D generatePasswordHash(password, getUserAccoun= tSalt(user)); = boolean success =3D passwordHash.equals(userPasswordProperty.getValu= e(user)); = if (success && Events.exists()) --===============7770429497607534384==-- From seam-commits at lists.jboss.org Mon Apr 7 21:10:32 2008 Content-Type: multipart/mixed; boundary="===============7497860336262671073==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7850 - in trunk/examples/seamspace/resources: WEB-INF and 1 other directory. Date: Mon, 07 Apr 2008 21:10:32 -0400 Message-ID: --===============7497860336262671073== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 21:10:32 -0400 (Mon, 07 Apr 2008) New Revision: 7850 Modified: trunk/examples/seamspace/resources/META-INF/security-rules.drl trunk/examples/seamspace/resources/WEB-INF/pages.xml Log: fix user registration, broken security rule Modified: trunk/examples/seamspace/resources/META-INF/security-rules.drl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 08 01:09:57 UTC (rev 7849) +++ trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 08 01:10:32 UTC (rev 7850) @@ -71,8 +71,8 @@ activation-group "permissions" when mbr: Member() - acct: MemberAccount(member =3D=3D mbr) - check: PermissionCheck(target =3D=3D mbr, action =3D=3D "createBlog", gr= anted =3D=3D false) + acct: MemberAccount(member.memberId =3D=3D mbr.memberId) + check: PermissionCheck(target.memberId =3D=3D mbr.memberId, action =3D= =3D "createBlog", granted =3D=3D false) then check.grant(); end Modified: trunk/examples/seamspace/resources/WEB-INF/pages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/WEB-INF/pages.xml 2008-04-08 01:09:5= 7 UTC (rev 7849) +++ trunk/examples/seamspace/resources/WEB-INF/pages.xml 2008-04-08 01:10:3= 2 UTC (rev 7850) @@ -40,7 +40,9 @@ = - + + + = = --===============7497860336262671073==-- From seam-commits at lists.jboss.org Mon Apr 7 21:10:55 2008 Content-Type: multipart/mixed; boundary="===============8872291939139750246==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7851 - in trunk/examples/contactlist: view and 1 other directory. Date: Mon, 07 Apr 2008 21:10:55 -0400 Message-ID: --===============8872291939139750246== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-07 21:10:55 -0400 (Mon, 07 Apr 2008) New Revision: 7851 Modified: trunk/examples/contactlist/resources/WEB-INF/pages.xml trunk/examples/contactlist/view/search.xhtml Log: JBSEAM-2845 Modified: trunk/examples/contactlist/resources/WEB-INF/pages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/resources/WEB-INF/pages.xml 2008-04-08 01:10= :32 UTC (rev 7850) +++ trunk/examples/contactlist/resources/WEB-INF/pages.xml 2008-04-08 01:10= :55 UTC (rev 7851) @@ -49,6 +49,14 @@ = + + + + = + + + +
= Modified: trunk/examples/contactlist/view/search.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/view/search.xhtml 2008-04-08 01:10:32 UTC (r= ev 7850) +++ trunk/examples/contactlist/view/search.xhtml 2008-04-08 01:10:55 UTC (r= ev 7851) @@ -12,7 +12,12 @@ =
- + + + + + + @@ -35,7 +40,9 @@ Last Name : - + + = +
= --===============8872291939139750246==-- From seam-commits at lists.jboss.org Mon Apr 7 21:21:49 2008 Content-Type: multipart/mixed; boundary="===============7476348553425404695==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7852 - in branches/Seam_2_0/examples/seamspace: view and 1 other directory. Date: Mon, 07 Apr 2008 21:21:49 -0400 Message-ID: --===============7476348553425404695== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-07 21:21:49 -0400 (Mon, 07 Apr 2008) New Revision: 7852 Modified: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspac= e/RegisterAction.java branches/Seam_2_0/examples/seamspace/view/register.xhtml Log: JBSEAM-2846 Modified: branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/s= eamspace/RegisterAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/RegisterAction.java 2008-04-08 01:10:55 UTC (rev 7851) +++ branches/Seam_2_0/examples/seamspace/src/org/jboss/seam/example/seamspa= ce/RegisterAction.java 2008-04-08 01:21:49 UTC (rev 7852) @@ -32,7 +32,7 @@ = @In private Identity identity; - + = /** * Password confirmation */ Modified: branches/Seam_2_0/examples/seamspace/view/register.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/view/register.xhtml 2008-04-08 01:= 10:55 UTC (rev 7851) +++ branches/Seam_2_0/examples/seamspace/view/register.xhtml 2008-04-08 01:= 21:49 UTC (rev 7852) @@ -48,7 +48,7 @@ =
Username* - +
= @@ -77,7 +77,7 @@ Date of birth* - +
= = --===============7476348553425404695==-- From seam-commits at lists.jboss.org Tue Apr 8 04:26:46 2008 Content-Type: multipart/mixed; boundary="===============5895582054355564307==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7854 - branches/Seam_2_0/doc/Seam_Reference_Guide. Date: Tue, 08 Apr 2008 04:26:46 -0400 Message-ID: --===============5895582054355564307== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 04:26:46 -0400 (Tue, 08 Apr 2008) New Revision: 7854 Removed: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/ Log: prep move en to en-US --===============5895582054355564307==-- From seam-commits at lists.jboss.org Tue Apr 8 04:27:13 2008 Content-Type: multipart/mixed; boundary="===============2654623352045107233==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7855 - branches/Seam_2_0/doc/Seam_Reference_Guide. Date: Tue, 08 Apr 2008 04:27:13 -0400 Message-ID: --===============2654623352045107233== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 04:27:13 -0400 (Tue, 08 Apr 2008) New Revision: 7855 Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/ Removed: branches/Seam_2_0/doc/Seam_Reference_Guide/en/ Log: move en to en-US Copied: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US (from rev 7853, br= anches/Seam_2_0/doc/Seam_Reference_Guide/en) --===============2654623352045107233==-- From seam-commits at lists.jboss.org Tue Apr 8 04:29:01 2008 Content-Type: multipart/mixed; boundary="===============6590627967531311421==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7856 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Tue, 08 Apr 2008 04:29:01 -0400 Message-ID: --===============6590627967531311421== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 04:29:00 -0400 (Tue, 08 Apr 2008) New Revision: 7856 Removed: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/styles/ Log: Not needed --===============6590627967531311421==-- From seam-commits at lists.jboss.org Tue Apr 8 05:02:37 2008 Content-Type: multipart/mixed; boundary="===============6571085623251934711==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7857 - branches/Seam_2_0/build. Date: Tue, 08 Apr 2008 05:02:36 -0400 Message-ID: --===============6571085623251934711== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 05:02:36 -0400 (Tue, 08 Apr 2008) New Revision: 7857 Modified: branches/Seam_2_0/build/docs.pom.xml Log: Minor Modified: branches/Seam_2_0/build/docs.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/docs.pom.xml 2008-04-08 08:29:00 UTC (rev 7856) +++ branches/Seam_2_0/build/docs.pom.xml 2008-04-08 09:02:36 UTC (rev 7857) @@ -64,7 +64,7 @@ - ${pom.basedir}/en + ${pom.basedir}/en-US master.xml ${pom.basedir}/en --===============6571085623251934711==-- From seam-commits at lists.jboss.org Tue Apr 8 05:47:00 2008 Content-Type: multipart/mixed; boundary="===============2697358649951624290==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7858 - trunk/examples/jpa and 1 other directory. Date: Tue, 08 Apr 2008 05:47:00 -0400 Message-ID: --===============2697358649951624290== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 05:47:00 -0400 (Tue, 08 Apr 2008) New Revision: 7858 Added: branches/Seam_2_0/examples/jpa/build-jboss-embedded.xml trunk/examples/jpa/build-jboss-embedded.xml Modified: branches/Seam_2_0/examples/jpa/build.xml branches/Seam_2_0/examples/jpa/readme.txt trunk/examples/jpa/build.xml trunk/examples/jpa/readme.txt Log: JBSEAM-2828 Added: branches/Seam_2_0/examples/jpa/build-jboss-embedded.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/build-jboss-embedded.xml = (rev 0) +++ branches/Seam_2_0/examples/jpa/build-jboss-embedded.xml 2008-04-08 09:4= 7:00 UTC (rev 7858) @@ -0,0 +1,29 @@ + + + + + + + + + + + + + = + + + + + + + + = + + + + + + + + Property changes on: branches/Seam_2_0/examples/jpa/build-jboss-embedded.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: branches/Seam_2_0/examples/jpa/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/build.xml 2008-04-08 09:02:36 UTC (rev 7= 857) +++ branches/Seam_2_0/examples/jpa/build.xml 2008-04-08 09:47:00 UTC (rev 7= 858) @@ -5,6 +5,10 @@ + = + + + = Modified: branches/Seam_2_0/examples/jpa/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/readme.txt 2008-04-08 09:02:36 UTC (rev = 7857) +++ branches/Seam_2_0/examples/jpa/readme.txt 2008-04-08 09:47:00 UTC (rev = 7858) @@ -47,17 +47,17 @@ * Start the application * Access it at http://localhost:9080/context_root/index.html = -Tomcat with JBoss Embedded(the build is the same as JBoss 4.2.0 GA WAR): +Tomcat with JBoss Embedded: * Install Tomcat * Install JBoss Embedded - * ant jboss - * Deploy dist-jboss/jboss-seam-jpa.war + * ant jboss-embedded + * Deploy dist-jboss-embedded/jboss-seam-jpa.war * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-jpa/ = Tomcat (5.5 or 6) without JBoss Embedded: * Install Tomcat - * Copy the lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat 5.5) or $= TOMCAT_HOME/lib (Tomcat 6) + * Copy the seam-gen/lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat = 5.5) or $TOMCAT_HOME/lib (Tomcat 6) * ant tomcat55 or ant tomcat6 * Deploy dist-jboss/jboss-seam-jpa.war * Start Tomcat Added: trunk/examples/jpa/build-jboss-embedded.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-jboss-embedded.xml (re= v 0) +++ trunk/examples/jpa/build-jboss-embedded.xml 2008-04-08 09:47:00 UTC (re= v 7858) @@ -0,0 +1,29 @@ + + + + + + + + + + + + + = + + + + + + + + = + + + + + + + + Property changes on: trunk/examples/jpa/build-jboss-embedded.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/examples/jpa/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build.xml 2008-04-08 09:02:36 UTC (rev 7857) +++ trunk/examples/jpa/build.xml 2008-04-08 09:47:00 UTC (rev 7858) @@ -5,6 +5,10 @@ + = + + + = Modified: trunk/examples/jpa/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/readme.txt 2008-04-08 09:02:36 UTC (rev 7857) +++ trunk/examples/jpa/readme.txt 2008-04-08 09:47:00 UTC (rev 7858) @@ -47,17 +47,17 @@ * Start the application * Access it at http://localhost:9080/context_root/index.html = -Tomcat with JBoss Embedded(the build is the same as JBoss 4.2.0 GA WAR): +Tomcat with JBoss Embedded: * Install Tomcat * Install JBoss Embedded - * ant jboss - * Deploy dist-jboss/jboss-seam-jpa.war + * ant jboss-embedded + * Deploy dist-jboss-embedded/jboss-seam-jpa.war * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-jpa/ = Tomcat (5.5 or 6) without JBoss Embedded: * Install Tomcat - * Copy the lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat 5.5) or $= TOMCAT_HOME/lib (Tomcat 6) + * Copy the seam-gen/lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat = 5.5) or $TOMCAT_HOME/lib (Tomcat 6) * ant tomcat55 or ant tomcat6 * Deploy dist-jboss/jboss-seam-jpa.war * Start Tomcat --===============2697358649951624290==-- From seam-commits at lists.jboss.org Tue Apr 8 05:53:37 2008 Content-Type: multipart/mixed; boundary="===============8867601383987637890==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7859 - trunk/examples/hibernate and 1 other directory. Date: Tue, 08 Apr 2008 05:53:37 -0400 Message-ID: --===============8867601383987637890== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 05:53:37 -0400 (Tue, 08 Apr 2008) New Revision: 7859 Added: branches/Seam_2_0/examples/hibernate/build-jboss-embedded.xml trunk/examples/hibernate/build-jboss-embedded.xml Modified: branches/Seam_2_0/examples/hibernate/build.xml branches/Seam_2_0/examples/hibernate/readme.txt trunk/examples/hibernate/build.xml trunk/examples/hibernate/readme.txt Log: JBSEAM-2829 Added: branches/Seam_2_0/examples/hibernate/build-jboss-embedded.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/build-jboss-embedded.xml = (rev 0) +++ branches/Seam_2_0/examples/hibernate/build-jboss-embedded.xml 2008-04-0= 8 09:53:37 UTC (rev 7859) @@ -0,0 +1,29 @@ + + + + + + + + + + + + + = + + + + + + + + = + + + + + + + + Property changes on: branches/Seam_2_0/examples/hibernate/build-jboss-embed= ded.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: branches/Seam_2_0/examples/hibernate/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/build.xml 2008-04-08 09:47:00 UTC = (rev 7858) +++ branches/Seam_2_0/examples/hibernate/build.xml 2008-04-08 09:53:37 UTC = (rev 7859) @@ -5,10 +5,14 @@ + = + + + = - - - + + + = Modified: branches/Seam_2_0/examples/hibernate/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/readme.txt 2008-04-08 09:47:00 UTC= (rev 7858) +++ branches/Seam_2_0/examples/hibernate/readme.txt 2008-04-08 09:53:37 UTC= (rev 7859) @@ -45,11 +45,11 @@ * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-hibernate/ = -Tomcat with embeddable JBoss (the build is the same as JBoss 4.2.0 GA WAR): +Tomcat with embeddable JBoss: * Install Tomcat * Install Embeddable JBoss - * ant jboss - * Deploy dist-jboss/jboss-seam-hibernate.war + * ant jboss-embedded + * Deploy dist-jboss-embedded/jboss-seam-hibernate.war * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-hibernate/ = Added: trunk/examples/hibernate/build-jboss-embedded.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-jboss-embedded.xml = (rev 0) +++ trunk/examples/hibernate/build-jboss-embedded.xml 2008-04-08 09:53:37 U= TC (rev 7859) @@ -0,0 +1,29 @@ + + + + + + + + + + + + + = + + + + + + + + = + + + + + + + + Property changes on: trunk/examples/hibernate/build-jboss-embedded.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/examples/hibernate/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build.xml 2008-04-08 09:47:00 UTC (rev 7858) +++ trunk/examples/hibernate/build.xml 2008-04-08 09:53:37 UTC (rev 7859) @@ -5,10 +5,14 @@ + = + + + = - - - + + + = Modified: trunk/examples/hibernate/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/readme.txt 2008-04-08 09:47:00 UTC (rev 7858) +++ trunk/examples/hibernate/readme.txt 2008-04-08 09:53:37 UTC (rev 7859) @@ -45,11 +45,11 @@ * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-hibernate/ = -Tomcat with embeddable JBoss (the build is the same as JBoss 4.2.0 GA WAR): +Tomcat with embeddable JBoss: * Install Tomcat * Install Embeddable JBoss - * ant jboss - * Deploy dist-jboss/jboss-seam-hibernate.war + * ant jboss-embedded + * Deploy dist-jboss-embedded/jboss-seam-hibernate.war * Start Tomcat * Access the app at http://localhost:8080/jboss-seam-hibernate/ = --===============8867601383987637890==-- From seam-commits at lists.jboss.org Tue Apr 8 05:54:39 2008 Content-Type: multipart/mixed; boundary="===============1705339512293269927==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7860 - branches/Seam_2_0/examples. Date: Tue, 08 Apr 2008 05:54:39 -0400 Message-ID: --===============1705339512293269927== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 05:54:39 -0400 (Tue, 08 Apr 2008) New Revision: 7860 Modified: branches/Seam_2_0/examples/build.xml Log: Another one for JBSEAM-2828 and JBSEAM-2829 Modified: branches/Seam_2_0/examples/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/build.xml 2008-04-08 09:53:37 UTC (rev 7859) +++ branches/Seam_2_0/examples/build.xml 2008-04-08 09:54:39 UTC (rev 7860) @@ -802,6 +802,17 @@ + = + + + + + + + + + + = --===============1705339512293269927==-- From seam-commits at lists.jboss.org Tue Apr 8 06:01:15 2008 Content-Type: multipart/mixed; boundary="===============7528538988600417683==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7861 - trunk/examples/mail/view and 1 other directory. Date: Tue, 08 Apr 2008 06:01:15 -0400 Message-ID: --===============7528538988600417683== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 06:01:15 -0400 (Tue, 08 Apr 2008) New Revision: 7861 Modified: branches/Seam_2_0/examples/mail/view/html.xhtml branches/Seam_2_0/examples/mail/view/simple.xhtml trunk/examples/mail/view/html.xhtml trunk/examples/mail/view/simple.xhtml Log: JBSEAM-2823 Modified: branches/Seam_2_0/examples/mail/view/html.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/view/html.xhtml 2008-04-08 09:54:39 UTC= (rev 7860) +++ branches/Seam_2_0/examples/mail/view/html.xhtml 2008-04-08 10:01:15 UTC= (rev 7861) @@ -3,7 +3,7 @@ xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:f=3D"http://java.sun.com/jsf/core" importance=3D"low" requestReadReceipt=3D"true"> - + #{person.address= } Seam Mail Modified: branches/Seam_2_0/examples/mail/view/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/view/simple.xhtml 2008-04-08 09:54:39 U= TC (rev 7860) +++ branches/Seam_2_0/examples/mail/view/simple.xhtml 2008-04-08 10:01:15 U= TC (rev 7861) @@ -7,7 +7,7 @@ Try out Seam!

,

-

You can try out Seam by visiting http://labs.jboss.com/jbossseam.

+

You can try out Seam by visiting http://www.seamframework.org.

Regards

Peter

Modified: trunk/examples/mail/view/html.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/view/html.xhtml 2008-04-08 09:54:39 UTC (rev 7860) +++ trunk/examples/mail/view/html.xhtml 2008-04-08 10:01:15 UTC (rev 7861) @@ -3,7 +3,7 @@ xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:f=3D"http://java.sun.com/jsf/core" importance=3D"low" requestReadReceipt=3D"true"> - + #{person.address= } Seam Mail Modified: trunk/examples/mail/view/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/view/simple.xhtml 2008-04-08 09:54:39 UTC (rev 7860) +++ trunk/examples/mail/view/simple.xhtml 2008-04-08 10:01:15 UTC (rev 7861) @@ -7,7 +7,7 @@ Try out Seam!

,

-

You can try out Seam by visiting http://labs.jboss.com/jbossseam.

+

You can try out Seam by visiting http://www.seamframework.org.

Regards

Peter

--===============7528538988600417683==-- From seam-commits at lists.jboss.org Tue Apr 8 06:15:58 2008 Content-Type: multipart/mixed; boundary="===============6781962943717558740==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7862 - trunk/examples/mail/view and 1 other directory. Date: Tue, 08 Apr 2008 06:15:58 -0400 Message-ID: --===============6781962943717558740== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 06:15:58 -0400 (Tue, 08 Apr 2008) New Revision: 7862 Modified: branches/Seam_2_0/examples/mail/view/attachment.xhtml trunk/examples/mail/view/attachment.xhtml Log: JBSEAM-2824 Modified: branches/Seam_2_0/examples/mail/view/attachment.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/view/attachment.xhtml 2008-04-08 10:01:= 15 UTC (rev 7861) +++ branches/Seam_2_0/examples/mail/view/attachment.xhtml 2008-04-08 10:15:= 58 UTC (rev 7862) @@ -3,7 +3,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:h=3D"http://java.sun.com/jsf/html"> = - + #{person.a= ddress} Try out Seam! = Modified: trunk/examples/mail/view/attachment.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/view/attachment.xhtml 2008-04-08 10:01:15 UTC (rev = 7861) +++ trunk/examples/mail/view/attachment.xhtml 2008-04-08 10:15:58 UTC (rev = 7862) @@ -3,7 +3,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:h=3D"http://java.sun.com/jsf/html"> = - + #{person.a= ddress} Try out Seam! = --===============6781962943717558740==-- From seam-commits at lists.jboss.org Tue Apr 8 06:26:33 2008 Content-Type: multipart/mixed; boundary="===============9075059324998265089==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7863 - branches/Seam_2_0/examples/mail/view and 2 other directories. Date: Tue, 08 Apr 2008 06:26:33 -0400 Message-ID: --===============9075059324998265089== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 06:26:33 -0400 (Tue, 08 Apr 2008) New Revision: 7863 Added: branches/Seam_2_0/examples/mail/view/seamlogo.png trunk/examples/mail/view/seamlogo.png Removed: branches/Seam_2_0/examples/mail/view/no_image.png trunk/examples/mail/view/no_image.png Modified: branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/Person.j= ava branches/Seam_2_0/examples/mail/view/attachment.xhtml trunk/examples/mail/src/org/jboss/seam/example/mail/Person.java trunk/examples/mail/view/attachment.xhtml Log: JBSEAM-2825 Modified: branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/P= erson.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/Person.= java 2008-04-08 10:15:58 UTC (rev 7862) +++ branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/Person.= java 2008-04-08 10:26:33 UTC (rev 7863) @@ -15,7 +15,7 @@ private String firstname; private String lastname; private String address; - private transient InputStream photo =3D ResourceLoader.instance().getRe= sourceAsStream("/no_image.png"); + private transient InputStream photo =3D ResourceLoader.instance().getRe= sourceAsStream("/seamlogo.png"); = @Factory("people") public List getPeople() { Modified: branches/Seam_2_0/examples/mail/view/attachment.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/view/attachment.xhtml 2008-04-08 10:15:= 58 UTC (rev 7862) +++ branches/Seam_2_0/examples/mail/view/attachment.xhtml 2008-04-08 10:26:= 33 UTC (rev 7863) @@ -6,9 +6,9 @@ #{person.a= ddress} Try out Seam! - = + = - + @@ -19,7 +19,7 @@

,

This example email demonstrates how easy it is to add att= achments to an email!

We can even display attached images inline:

- +

The attached pdf was generated by Seam's PDF library

\ No newline at end of file Deleted: branches/Seam_2_0/examples/mail/view/no_image.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: branches/Seam_2_0/examples/mail/view/seamlogo.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/examples/mail/view/seamlogo.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/examples/mail/src/org/jboss/seam/example/mail/Person.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/src/org/jboss/seam/example/mail/Person.java 2008-04= -08 10:15:58 UTC (rev 7862) +++ trunk/examples/mail/src/org/jboss/seam/example/mail/Person.java 2008-04= -08 10:26:33 UTC (rev 7863) @@ -15,7 +15,7 @@ private String firstname; private String lastname; private String address; - private transient InputStream photo =3D ResourceLoader.instance().getRe= sourceAsStream("/no_image.png"); + private transient InputStream photo =3D ResourceLoader.instance().getRe= sourceAsStream("/seamlogo.png"); = @Factory("people") public List getPeople() { Modified: trunk/examples/mail/view/attachment.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/view/attachment.xhtml 2008-04-08 10:15:58 UTC (rev = 7862) +++ trunk/examples/mail/view/attachment.xhtml 2008-04-08 10:26:33 UTC (rev = 7863) @@ -6,9 +6,9 @@ #{person.a= ddress} Try out Seam! - = + = - + @@ -19,7 +19,7 @@

,

This example email demonstrates how easy it is to add att= achments to an email!

We can even display attached images inline:

- +

The attached pdf was generated by Seam's PDF library

\ No newline at end of file Deleted: trunk/examples/mail/view/no_image.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: trunk/examples/mail/view/seamlogo.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/mail/view/seamlogo.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream --===============9075059324998265089==-- From seam-commits at lists.jboss.org Tue Apr 8 06:49:35 2008 Content-Type: multipart/mixed; boundary="===============5950645991696625444==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7864 - trunk/examples/mail/src/org/jboss/seam/example/mail/test and 1 other directory. Date: Tue, 08 Apr 2008 06:49:35 -0400 Message-ID: --===============5950645991696625444== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 06:49:35 -0400 (Tue, 08 Apr 2008) New Revision: 7864 Modified: branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/test/Mai= lTest.java trunk/examples/mail/src/org/jboss/seam/example/mail/test/MailTest.java Log: Fix tests Modified: branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/t= est/MailTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/test/Ma= ilTest.java 2008-04-08 10:26:33 UTC (rev 7863) +++ branches/Seam_2_0/examples/mail/src/org/jboss/seam/example/mail/test/Ma= ilTest.java 2008-04-08 10:49:35 UTC (rev 7864) @@ -117,8 +117,8 @@ assert to.getAddress().equals("gavin(a)king.com"); assert to.getPersonal().equals("Gavin King"); InternetAddress from =3D (InternetAddress) renderedMessage= .getFrom()[0]; - assert from.getAddress().equals("peter(a)email.tld"); - assert from.getPersonal().equals("Peter"); + assert from.getAddress().equals("do-not-reply(a)jboss.com"= ); + assert from.getPersonal().equals("Seam"); assert "Try out Seam!".equals(renderedMessage.getSubject()= ); MimeMultipart body =3D (MimeMultipart) renderedMessage.get= Content(); = @@ -275,7 +275,7 @@ // m:header assert renderedMessage.getHeader("X-Sent-From") !=3D null; assert renderedMessage.getHeader("X-Sent-From").length =3D= =3D 1; - assert "JBoss Seam".equals(renderedMessage.getHeader("X-Se= nt-From")[0]); + assert "Seam".equals(renderedMessage.getHeader("X-Sent-Fro= m")[0]); = MimeMultipart body =3D (MimeMultipart) renderedMessage.get= Content(); = Modified: trunk/examples/mail/src/org/jboss/seam/example/mail/test/MailTest= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/src/org/jboss/seam/example/mail/test/MailTest.java = 2008-04-08 10:26:33 UTC (rev 7863) +++ trunk/examples/mail/src/org/jboss/seam/example/mail/test/MailTest.java = 2008-04-08 10:49:35 UTC (rev 7864) @@ -117,8 +117,8 @@ assert to.getAddress().equals("gavin(a)king.com"); assert to.getPersonal().equals("Gavin King"); InternetAddress from =3D (InternetAddress) renderedMessage= .getFrom()[0]; - assert from.getAddress().equals("peter(a)email.tld"); - assert from.getPersonal().equals("Peter"); + assert from.getAddress().equals("do-not-reply(a)jboss.com"= ); + assert from.getPersonal().equals("Seam"); assert "Try out Seam!".equals(renderedMessage.getSubject()= ); MimeMultipart body =3D (MimeMultipart) renderedMessage.get= Content(); = @@ -275,7 +275,7 @@ // m:header assert renderedMessage.getHeader("X-Sent-From") !=3D null; assert renderedMessage.getHeader("X-Sent-From").length =3D= =3D 1; - assert "JBoss Seam".equals(renderedMessage.getHeader("X-Se= nt-From")[0]); + assert "Seam".equals(renderedMessage.getHeader("X-Sent-Fro= m")[0]); = MimeMultipart body =3D (MimeMultipart) renderedMessage.get= Content(); = --===============5950645991696625444==-- From seam-commits at lists.jboss.org Tue Apr 8 07:22:30 2008 Content-Type: multipart/mixed; boundary="===============8510802364596722503==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7865 - trunk/examples/spring and 1 other directory. Date: Tue, 08 Apr 2008 07:22:30 -0400 Message-ID: --===============8510802364596722503== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:22:29 -0400 (Tue, 08 Apr 2008) New Revision: 7865 Modified: branches/Seam_2_0/examples/spring/readme.txt trunk/examples/spring/readme.txt Log: JBSEAM-2832 Modified: branches/Seam_2_0/examples/spring/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/spring/readme.txt 2008-04-08 10:49:35 UTC (r= ev 7864) +++ branches/Seam_2_0/examples/spring/readme.txt 2008-04-08 11:22:29 UTC (r= ev 7865) @@ -1,6 +1,6 @@ SeamBay Example =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This example shows Seam/Spring integration. = -Currently it runs on Tomcat only. +Currently it runs on JBoss AS 4.2 only. = Visit http://localhost:8080/jboss-seam-spring \ No newline at end of file Modified: trunk/examples/spring/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/spring/readme.txt 2008-04-08 10:49:35 UTC (rev 7864) +++ trunk/examples/spring/readme.txt 2008-04-08 11:22:29 UTC (rev 7865) @@ -1,6 +1,6 @@ SeamBay Example =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This example shows Seam/Spring integration. = -Currently it runs on Tomcat only. +Currently it runs on JBoss AS 4.2 only. = Visit http://localhost:8080/jboss-seam-spring \ No newline at end of file --===============8510802364596722503==-- From seam-commits at lists.jboss.org Tue Apr 8 07:25:42 2008 Content-Type: multipart/mixed; boundary="===============0851977784475363535==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7866 - branches/Seam_2_0/examples/jpa and 2 other directories. Date: Tue, 08 Apr 2008 07:25:42 -0400 Message-ID: --===============0851977784475363535== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:25:42 -0400 (Tue, 08 Apr 2008) New Revision: 7866 Modified: branches/Seam_2_0/examples/hibernate/readme.txt branches/Seam_2_0/examples/jpa/readme.txt trunk/examples/hibernate/readme.txt trunk/examples/jpa/readme.txt Log: JBSEAM-2848 Modified: branches/Seam_2_0/examples/hibernate/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/readme.txt 2008-04-08 11:22:29 UTC= (rev 7865) +++ branches/Seam_2_0/examples/hibernate/readme.txt 2008-04-08 11:25:42 UTC= (rev 7866) @@ -8,7 +8,6 @@ JBoss AS 4.2.x: * Install JBoss AS with the default profile * ant jboss - * Deploy dist-jboss/jboss-seam-hibernate.war * Start JBoss AS = * Access the app at http://localhost:8080/jboss-seam-hibernate/ = Modified: branches/Seam_2_0/examples/jpa/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/readme.txt 2008-04-08 11:22:29 UTC (rev = 7865) +++ branches/Seam_2_0/examples/jpa/readme.txt 2008-04-08 11:25:42 UTC (rev = 7866) @@ -8,7 +8,6 @@ JBoss AS 4.2.0: * Install JBoss AS 4.2.0 GA * ant jboss - * Deploy dist-jboss/jboss-seam-jpa.war * Start JBoss AS = * Access the app at http://localhost:8080/jboss-seam-jpa/ = Modified: trunk/examples/hibernate/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/readme.txt 2008-04-08 11:22:29 UTC (rev 7865) +++ trunk/examples/hibernate/readme.txt 2008-04-08 11:25:42 UTC (rev 7866) @@ -8,7 +8,6 @@ JBoss AS 4.2.x: * Install JBoss AS with the default profile * ant jboss - * Deploy dist-jboss/jboss-seam-hibernate.war * Start JBoss AS = * Access the app at http://localhost:8080/jboss-seam-hibernate/ = Modified: trunk/examples/jpa/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/readme.txt 2008-04-08 11:22:29 UTC (rev 7865) +++ trunk/examples/jpa/readme.txt 2008-04-08 11:25:42 UTC (rev 7866) @@ -8,7 +8,6 @@ JBoss AS 4.2.0: * Install JBoss AS 4.2.0 GA * ant jboss - * Deploy dist-jboss/jboss-seam-jpa.war * Start JBoss AS = * Access the app at http://localhost:8080/jboss-seam-jpa/ = --===============0851977784475363535==-- From seam-commits at lists.jboss.org Tue Apr 8 07:38:35 2008 Content-Type: multipart/mixed; boundary="===============8226428826738202232==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7867 - trunk/examples and 1 other directory. Date: Tue, 08 Apr 2008 07:38:35 -0400 Message-ID: --===============8226428826738202232== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:38:34 -0400 (Tue, 08 Apr 2008) New Revision: 7867 Modified: branches/Seam_2_0/examples/readme.txt trunk/examples/readme.txt Log: JBSEAM-2843 Modified: branches/Seam_2_0/examples/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/readme.txt 2008-04-08 11:25:42 UTC (rev 7866) +++ branches/Seam_2_0/examples/readme.txt 2008-04-08 11:38:34 UTC (rev 7867) @@ -1,76 +1,90 @@ Seam Example Applications =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D This directory contains the Seam example applications, which have = -all been tested in JBoss 4.2 GA. Most examples have also been +all been tested in the latest release of JBoss 4.2. Most examples have als= o been tested on Tomcat (running JDK 1.5), and some have been tested with other = application servers. = -registration/ A trivial example for the tutorial = + +blog/ The Seam blog example, showing how to write + RESTful applications using Seam + booking/ The Seam Booking demo application for EJB 3.0 = +contactlist/ The Seam Contact List demo demonstrating use + of the Seam application framework + = +drools/ A version of the number guessing example that + uses Drools with jBPM + +dvdstore/ The Seam DVD Store demo demonstrating jBPM = + support in Seam + = +groovybooking/ The Seam Booking demo ported to Groovy + hibernate/ The Seam Booking demo ported to Hibernate3 = icefaces/ The Seam Booking demo with ICEfaces, instead of = Ajax4JSF = -jee5/ The Seam Booking demo ported to the Java EE 5 = +itext/ A demo of the Seam iText integration for generating = pdfs + = +jee5/booking The Seam Booking demo ported to the Java EE 5 = platforms - -dvdstore/ The Seam DVD Store demo demonstrating jBPM = - support in Seam = -contactlist/ The Seam Contact List demo demonstrating use - of the Seam application framework - = -blog/ The Seam blog example, showing how to write - RESTful applications using Seam - = -seamspace/ The Seam Spaces demo demonstrating Seam = - Security +jee5/remoting The Seam remoting helloworld demo ported to the Java= EE 5 = + platforms = = -seampay/ The Seam Payments demo demonstrating the use of - asynchronous methods +jpa/ An example of the use of JPA (provided by Hibernate)= , runs + on many platforms, including non-EE 5 platforms (inc= luding + plain Tomcat) = -numberguess/ The Seam number guessing example, demonstrating - jBPM pageflow +mail/ The Seam mail example demonstrating use of = + facelets-based email templating = -todo/ The Seam todo list example demonstrating - jBPM business process management - = messages/ The Seam message list example demonstrating use = of the @DataModel annotation = -mail/ The Seam mail example demonstrating use of = - facelets-based email templating - = -pdf/ The Seam PDF example demonstrating use of = - facelets-based PDF templating - = -ui/ Demonstrates some Seam JSF controls - = -spring/ Demonstrates Spring framework integration - = -drools/ A version of the number guessing example that - uses Drools with jBPM - = -remoting/helloworld/ A trivial example using Ajax +nestedbooking/ The booking example modified to show the use of nest= ed + conversations = = +numberguess/ The Seam number guessing example, demonstrating + jBPM pageflow + +quartz/ A port of the Seampay example to use the Quartz disp= atcher + +registration/ A trivial example for the tutorial = + remoting/chatroom/ The Seam Chat Room example, demostrating Seam Remoting + +remoting/gwt/ An example of using GWT with Seam remoting + +remoting/helloworld/ A trivial example using Ajax = remoting/progressbar/ An example of an Ajax progress bar = -hibernate/ A revised version of the hibernate example (runs = - on J2EE) +seambay/ An example of using Seam with Web Services = -jpa/ An example of the use of Hibernate JPA (runs on = - J2EE) +seamdiscs/ Demonstrates Seam, Trinidad, Ajax4jsf and Richfaces = +seampay/ The Seam Payments demo demonstrating the use of + asynchronous methods + = +seamspace/ The Seam Spaces demo demonstrating Seam = + Security + +spring/ Demonstrates Spring framework integration + +todo/ The Seam todo list example demonstrating + jBPM business process management + = +ui/ Demonstrates some Seam JSF controls + wiki/ A fully featured wiki system based on Seam, please read wiki/README.txt for installation instructions = -seamdiscs/ Demonstrates Seam, Trinidad, Ajax4jsf and Richfaces = = Deploying and Testing an Example Application Modified: trunk/examples/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/readme.txt 2008-04-08 11:25:42 UTC (rev 7866) +++ trunk/examples/readme.txt 2008-04-08 11:38:34 UTC (rev 7867) @@ -1,79 +1,90 @@ Seam Example Applications =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D This directory contains the Seam example applications, which have = -all been tested in JBoss 4.2 GA. Most examples have also been +all been tested in the latest release of JBoss 4.2. Most examples have als= o been tested on Tomcat (running JDK 1.5), and some have been tested with other = application servers. = -registration/ A trivial example for the tutorial = + +blog/ The Seam blog example, showing how to write + RESTful applications using Seam + booking/ The Seam Booking demo application for EJB 3.0 = +contactlist/ The Seam Contact List demo demonstrating use + of the Seam application framework + = +drools/ A version of the number guessing example that + uses Drools with jBPM + +dvdstore/ The Seam DVD Store demo demonstrating jBPM = + support in Seam + = +groovybooking/ The Seam Booking demo ported to Groovy + hibernate/ The Seam Booking demo ported to Hibernate3 = icefaces/ The Seam Booking demo with ICEfaces, instead of = Ajax4JSF = -jee5/ The Seam Booking demo ported to the Java EE 5 = +itext/ A demo of the Seam iText integration for generating = pdfs + = +jee5/booking The Seam Booking demo ported to the Java EE 5 = platforms - -dvdstore/ The Seam DVD Store demo demonstrating jBPM = - support in Seam = -contactlist/ The Seam Contact List demo demonstrating use - of the Seam application framework - = -blog/ The Seam blog example, showing how to write - RESTful applications using Seam - = -seamspace/ The Seam Spaces demo demonstrating Seam = - Security +jee5/remoting The Seam remoting helloworld demo ported to the Java= EE 5 = + platforms = = -seampay/ The Seam Payments demo demonstrating the use of - asynchronous methods +jpa/ An example of the use of JPA (provided by Hibernate)= , runs + on many platforms, including non-EE 5 platforms (inc= luding + plain Tomcat) = -numberguess/ The Seam number guessing example, demonstrating - jBPM pageflow +mail/ The Seam mail example demonstrating use of = + facelets-based email templating = -todo/ The Seam todo list example demonstrating - jBPM business process management - = messages/ The Seam message list example demonstrating use = of the @DataModel annotation = -mail/ The Seam mail example demonstrating use of = - facelets-based email templating - = -pdf/ The Seam PDF example demonstrating use of = - facelets-based PDF templating - = -ui/ Demonstrates some Seam JSF controls - = -spring/ Demonstrates Spring framework integration - = -drools/ A version of the number guessing example that - uses Drools with jBPM - = -portal/ A port of the Seam Hibernate demo to run on - JBoss Portal - = -remoting/helloworld/ A trivial example using Ajax +nestedbooking/ The booking example modified to show the use of nest= ed + conversations = = +numberguess/ The Seam number guessing example, demonstrating + jBPM pageflow + +quartz/ A port of the Seampay example to use the Quartz disp= atcher + +registration/ A trivial example for the tutorial = + remoting/chatroom/ The Seam Chat Room example, demostrating Seam Remoting + +remoting/gwt/ An example of using GWT with Seam remoting + +remoting/helloworld/ A trivial example using Ajax = remoting/progressbar/ An example of an Ajax progress bar = -hibernate/ A revised version of the hibernate example (runs = - on J2EE) +seambay/ An example of using Seam with Web Services = -jpa/ An example of the use of Hibernate JPA (runs on = - J2EE) +seamdiscs/ Demonstrates Seam, Trinidad, Ajax4jsf and Richfaces = +seampay/ The Seam Payments demo demonstrating the use of + asynchronous methods + = +seamspace/ The Seam Spaces demo demonstrating Seam = + Security + +spring/ Demonstrates Spring framework integration + +todo/ The Seam todo list example demonstrating + jBPM business process management + = +ui/ Demonstrates some Seam JSF controls + wiki/ A fully featured wiki system based on Seam, please read wiki/README.txt for installation instructions = -seamdiscs/ Demonstrates Seam, Trinidad, Ajax4jsf and Richfaces = = Deploying and Testing an Example Application @@ -85,13 +96,13 @@ How to Build and Deploy an Example on JBoss AS ---------------------------------------------- = -1. Download and unzip JBoss AS 4.2.1.GA from: +1. Download and unzip JBoss AS 4.2.2.GA from: = http://labs.jboss.com/jbossas/downloads = 2. Make sure you have an up to date version of Seam: = = - http://labs.jboss.com/jbossseam/download + http://seamframework.org/Download = 3. Edit the "build.properties" file and change jboss.home to your = JBoss AS directory (Seam uses the default profile) @@ -102,7 +113,7 @@ "examples/${example.name}" directory = 6. Start JBoss AS by typing "./run.sh" (on Linux/Unix) or "run" (on Window= s) = - in the jboss-4.2.1.GA/bin directory + in the jboss-4.2.2.GA/bin directory = 7. Point your web browser to: = @@ -125,7 +136,7 @@ = 3. Make sure you have an up to date version of Seam: = = - http://labs.jboss.com/jbossseam/download + http://seamframework.org/Download = 4. Edit the "build.properties" file and change tomcat.home to your = Tomcat directory --===============8226428826738202232==-- From seam-commits at lists.jboss.org Tue Apr 8 07:49:34 2008 Content-Type: multipart/mixed; boundary="===============4030297977797788715==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7868 - trunk/examples. Date: Tue, 08 Apr 2008 07:49:33 -0400 Message-ID: --===============4030297977797788715== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:49:33 -0400 (Tue, 08 Apr 2008) New Revision: 7868 Removed: trunk/examples/seam-examples.html Log: Remove seam-examples.html Deleted: trunk/examples/seam-examples.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seam-examples.html 2008-04-08 11:38:34 UTC (rev 7867) +++ trunk/examples/seam-examples.html 2008-04-08 11:49:33 UTC (rev 7868) @@ -1,27 +0,0 @@ - - - - - JBoss Seam Example Applications - - - -

JBoss Seam Example Applications

-
Run ant deploypresentation to deploy.
- -
DVD Store Example &mda= sh; Pageflow and business process management
-
Chatroom Example = — Seam Remoting
-
Blog Example — = REST (page actions, pull MVC)
-
Contact List Examp= le — Seam Framework for CRUD
-

JBoss Seam Tutorial Examples

-
Run ant in the example/xxxx directory to deploy. -
Registration Exam= ple — Basic request processing
-
Messages Example = — Clickable lists using @DataModel
- -
Drools Example &mda= sh; Drools
-
Todo List Example &md= ash; Simple business process management
-
Remoting Hello Worl= d — Basic Ajax
- - - - \ No newline at end of file --===============4030297977797788715==-- From seam-commits at lists.jboss.org Tue Apr 8 07:50:19 2008 Content-Type: multipart/mixed; boundary="===============4400577610491092837==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7869 - branches/Seam_2_0/examples. Date: Tue, 08 Apr 2008 07:50:19 -0400 Message-ID: --===============4400577610491092837== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:50:19 -0400 (Tue, 08 Apr 2008) New Revision: 7869 Removed: branches/Seam_2_0/examples/seam-examples.html Log: Remove seam-examples.html Deleted: branches/Seam_2_0/examples/seam-examples.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seam-examples.html 2008-04-08 11:49:33 UTC (= rev 7868) +++ branches/Seam_2_0/examples/seam-examples.html 2008-04-08 11:50:19 UTC (= rev 7869) @@ -1,27 +0,0 @@ - - - - - JBoss Seam Example Applications - - - -

JBoss Seam Example Applications

-
Run ant deploypresentation to deploy.
-
-
DVD Store Example &mda= sh; Pageflow and business process management
-
Chatroom Example = — Seam Remoting
-
Blog Example — = REST (page actions, pull MVC)
-
Contact List Examp= le — Seam Framework for CRUD
-

JBoss Seam Tutorial Examples

-
Run ant in the example/xxxx directory to deploy. -
Registration Exam= ple — Basic request processing
-
Messages Example = — Clickable lists using @DataModel
- -
Drools Example &mda= sh; Drools
-
Todo List Example &md= ash; Simple business process management
-
Remoting Hello Worl= d — Basic Ajax
- - - - \ No newline at end of file --===============4400577610491092837==-- From seam-commits at lists.jboss.org Tue Apr 8 07:52:28 2008 Content-Type: multipart/mixed; boundary="===============2711094957542940486==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7870 - branches/Seam_2_0/examples/booking/resources and 38 other directories. Date: Tue, 08 Apr 2008 07:52:27 -0400 Message-ID: --===============2711094957542940486== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:52:27 -0400 (Tue, 08 Apr 2008) New Revision: 7870 Modified: branches/Seam_2_0/examples/blog/resources/components.properties branches/Seam_2_0/examples/booking/resources/components.properties branches/Seam_2_0/examples/contactlist/resources/components.properties branches/Seam_2_0/examples/dvdstore/resources/components.properties branches/Seam_2_0/examples/groovybooking/resources/components.properties branches/Seam_2_0/examples/icefaces/resources/components.properties branches/Seam_2_0/examples/itext/resources/components.properties branches/Seam_2_0/examples/mail/resources/components.properties branches/Seam_2_0/examples/messages/resources/components.properties branches/Seam_2_0/examples/nestedbooking/resources/components.properties branches/Seam_2_0/examples/quartz/resources/components.properties branches/Seam_2_0/examples/registration/resources/components.properties branches/Seam_2_0/examples/seambay/resources/components.properties branches/Seam_2_0/examples/seamdiscs/resources/components.properties branches/Seam_2_0/examples/seampay/resources/components.properties branches/Seam_2_0/examples/seamspace/resources/components.properties branches/Seam_2_0/examples/takeaway/resources/WEB-INF/components.propert= ies branches/Seam_2_0/seam-gen/resources/components.properties branches/Seam_2_0/src/test/integration/resources/components.properties trunk/examples/blog/resources/components.properties trunk/examples/booking/resources/components.properties trunk/examples/contactlist/resources/components.properties trunk/examples/dvdstore/resources/components.properties trunk/examples/groovybooking/resources/components.properties trunk/examples/icefaces/resources/components.properties trunk/examples/itext/resources/components.properties trunk/examples/mail/resources/components.properties trunk/examples/messages/resources/components.properties trunk/examples/nestedbooking/resources/components.properties trunk/examples/quartz/resources/components.properties trunk/examples/registration/resources/components.properties trunk/examples/seambay/resources/components.properties trunk/examples/seamdiscs/resources/components.properties trunk/examples/seampay/resources/components.properties trunk/examples/seamspace/resources/components.properties trunk/examples/takeaway/resources/WEB-INF/components.properties trunk/examples/wicket/resources/components.properties trunk/examples/wiki/build.properties trunk/seam-gen/resources/components.properties trunk/src/test/integration/resources/components.properties Log: JBSEAM-2807 Modified: branches/Seam_2_0/examples/blog/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/blog/resources/components.properties 2008-04= -08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/blog/resources/components.properties 2008-04= -08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/booking/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/booking/resources/components.properties 2008= -04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/booking/resources/components.properties 2008= -04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/contactlist/resources/components.prope= rties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/contactlist/resources/components.properties = 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/contactlist/resources/components.properties = 2008-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/dvdstore/resources/components.properti= es =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/dvdstore/resources/components.properties 200= 8-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/dvdstore/resources/components.properties 200= 8-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/groovybooking/resources/components.pro= perties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/groovybooking/resources/components.propertie= s 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/groovybooking/resources/components.propertie= s 2008-04-08 11:52:27 UTC (rev 7870) @@ -1,2 +1,4 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local debug true Modified: branches/Seam_2_0/examples/icefaces/resources/components.properti= es =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/icefaces/resources/components.properties 200= 8-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/icefaces/resources/components.properties 200= 8-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/itext/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/itext/resources/components.properties 2008-0= 4-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/itext/resources/components.properties 2008-0= 4-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/mail/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/mail/resources/components.properties 2008-04= -08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/mail/resources/components.properties 2008-04= -08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/messages/resources/components.properti= es =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/messages/resources/components.properties 200= 8-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/messages/resources/components.properties 200= 8-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/nestedbooking/resources/components.pro= perties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/nestedbooking/resources/components.propertie= s 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/nestedbooking/resources/components.propertie= s 2008-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/quartz/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/quartz/resources/components.properties 2008-= 04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/quartz/resources/components.properties 2008-= 04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/registration/resources/components.prop= erties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/registration/resources/components.properties= 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/registration/resources/components.properties= 2008-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/seambay/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seambay/resources/components.properties 2008= -04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/seambay/resources/components.properties 2008= -04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/seamdiscs/resources/components.propert= ies =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamdiscs/resources/components.properties 20= 08-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/seamdiscs/resources/components.properties 20= 08-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/seampay/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seampay/resources/components.properties 2008= -04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/seampay/resources/components.properties 2008= -04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/seamspace/resources/components.propert= ies =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/seamspace/resources/components.properties 20= 08-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/seamspace/resources/components.properties 20= 08-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/examples/takeaway/resources/WEB-INF/components.= properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/takeaway/resources/WEB-INF/components.proper= ties 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/examples/takeaway/resources/WEB-INF/components.proper= ties 2008-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: branches/Seam_2_0/seam-gen/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/resources/components.properties 2008-04-08 1= 1:50:19 UTC (rev 7869) +++ branches/Seam_2_0/seam-gen/resources/components.properties 2008-04-08 1= 1:52:27 UTC (rev 7870) @@ -1,2 +1,4 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local debug true Modified: branches/Seam_2_0/src/test/integration/resources/components.prope= rties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/test/integration/resources/components.properties = 2008-04-08 11:50:19 UTC (rev 7869) +++ branches/Seam_2_0/src/test/integration/resources/components.properties = 2008-04-08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/blog/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/blog/resources/components.properties 2008-04-08 11:50:19= UTC (rev 7869) +++ trunk/examples/blog/resources/components.properties 2008-04-08 11:52:27= UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/booking/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/booking/resources/components.properties 2008-04-08 11:50= :19 UTC (rev 7869) +++ trunk/examples/booking/resources/components.properties 2008-04-08 11:52= :27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/contactlist/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/resources/components.properties 2008-04-08 1= 1:50:19 UTC (rev 7869) +++ trunk/examples/contactlist/resources/components.properties 2008-04-08 1= 1:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/dvdstore/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/dvdstore/resources/components.properties 2008-04-08 11:5= 0:19 UTC (rev 7869) +++ trunk/examples/dvdstore/resources/components.properties 2008-04-08 11:5= 2:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/groovybooking/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/groovybooking/resources/components.properties 2008-04-08= 11:50:19 UTC (rev 7869) +++ trunk/examples/groovybooking/resources/components.properties 2008-04-08= 11:52:27 UTC (rev 7870) @@ -1,2 +1,4 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local debug true Modified: trunk/examples/icefaces/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/icefaces/resources/components.properties 2008-04-08 11:5= 0:19 UTC (rev 7869) +++ trunk/examples/icefaces/resources/components.properties 2008-04-08 11:5= 2:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/itext/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/itext/resources/components.properties 2008-04-08 11:50:1= 9 UTC (rev 7869) +++ trunk/examples/itext/resources/components.properties 2008-04-08 11:52:2= 7 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/mail/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/mail/resources/components.properties 2008-04-08 11:50:19= UTC (rev 7869) +++ trunk/examples/mail/resources/components.properties 2008-04-08 11:52:27= UTC (rev 7870) @@ -1 +1,3 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/messages/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/messages/resources/components.properties 2008-04-08 11:5= 0:19 UTC (rev 7869) +++ trunk/examples/messages/resources/components.properties 2008-04-08 11:5= 2:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/nestedbooking/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/nestedbooking/resources/components.properties 2008-04-08= 11:50:19 UTC (rev 7869) +++ trunk/examples/nestedbooking/resources/components.properties 2008-04-08= 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/quartz/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/quartz/resources/components.properties 2008-04-08 11:50:= 19 UTC (rev 7869) +++ trunk/examples/quartz/resources/components.properties 2008-04-08 11:52:= 27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/registration/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/registration/resources/components.properties 2008-04-08 = 11:50:19 UTC (rev 7869) +++ trunk/examples/registration/resources/components.properties 2008-04-08 = 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/seambay/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seambay/resources/components.properties 2008-04-08 11:50= :19 UTC (rev 7869) +++ trunk/examples/seambay/resources/components.properties 2008-04-08 11:52= :27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/seamdiscs/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamdiscs/resources/components.properties 2008-04-08 11:= 50:19 UTC (rev 7869) +++ trunk/examples/seamdiscs/resources/components.properties 2008-04-08 11:= 52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/seampay/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seampay/resources/components.properties 2008-04-08 11:50= :19 UTC (rev 7869) +++ trunk/examples/seampay/resources/components.properties 2008-04-08 11:52= :27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/seamspace/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/components.properties 2008-04-08 11:= 50:19 UTC (rev 7869) +++ trunk/examples/seamspace/resources/components.properties 2008-04-08 11:= 52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/takeaway/resources/WEB-INF/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/takeaway/resources/WEB-INF/components.properties 2008-04= -08 11:50:19 UTC (rev 7869) +++ trunk/examples/takeaway/resources/WEB-INF/components.properties 2008-04= -08 11:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/wicket/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wicket/resources/components.properties 2008-04-08 11:50:= 19 UTC (rev 7869) +++ trunk/examples/wicket/resources/components.properties 2008-04-08 11:52:= 27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file Modified: trunk/examples/wiki/build.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/build.properties 2008-04-08 11:50:19 UTC (rev 7869) +++ trunk/examples/wiki/build.properties 2008-04-08 11:52:27 UTC (rev 7870) @@ -1,4 +1,4 @@ -jboss.home /Users/turin/work/local/jboss/jboss-4.2.2.GA +jboss.home /Applications/jboss-4.2.1.GA-hibernate # That stuff doesn't really work for me, PAGE scoped components can't be h= ot-deployed (CNFE on deserialization of component state) #hotdeploy.classes =3D **/wiki/core/action/** **/wiki/core/dao/** **/wiki/= core/links/** **/wiki/plugin/lastmodified/** **/wiki/plugin/blogdirectory/B= logDirectory* javac.debug true Modified: trunk/seam-gen/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/resources/components.properties 2008-04-08 11:50:19 UTC = (rev 7869) +++ trunk/seam-gen/resources/components.properties 2008-04-08 11:52:27 UTC = (rev 7870) @@ -1,2 +1,4 @@ +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + jndiPattern \#{ejbName}/local debug true Modified: trunk/src/test/integration/resources/components.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/test/integration/resources/components.properties 2008-04-08 1= 1:50:19 UTC (rev 7869) +++ trunk/src/test/integration/resources/components.properties 2008-04-08 1= 1:52:27 UTC (rev 7870) @@ -1 +1,3 @@ -jndiPattern #{ejbName}/local \ No newline at end of file +# The pattern in components.xml is replaced by an application server speci= fic value in the ant build. This value is used for running tests + +jndiPattern \#{ejbName}/local \ No newline at end of file --===============2711094957542940486==-- From seam-commits at lists.jboss.org Tue Apr 8 07:59:30 2008 Content-Type: multipart/mixed; boundary="===============0273922779781717394==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7871 - trunk/examples/blog/view and 1 other directory. Date: Tue, 08 Apr 2008 07:59:30 -0400 Message-ID: --===============0273922779781717394== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 07:59:30 -0400 (Tue, 08 Apr 2008) New Revision: 7871 Modified: branches/Seam_2_0/examples/blog/view/login.xhtml trunk/examples/blog/view/login.xhtml Log: JBSEAM-2839 Modified: branches/Seam_2_0/examples/blog/view/login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/blog/view/login.xhtml 2008-04-08 11:52:27 UT= C (rev 7870) +++ branches/Seam_2_0/examples/blog/view/login.xhtml 2008-04-08 11:59:30 UT= C (rev 7871) @@ -21,6 +21,9 @@
+
+ To log in, use the password tokyo. +
Modified: trunk/examples/blog/view/login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/blog/view/login.xhtml 2008-04-08 11:52:27 UTC (rev 7870) +++ trunk/examples/blog/view/login.xhtml 2008-04-08 11:59:30 UTC (rev 7871) @@ -21,6 +21,9 @@ +
+ To log in, use the password tokyo. +
--===============0273922779781717394==-- From seam-commits at lists.jboss.org Tue Apr 8 08:03:18 2008 Content-Type: multipart/mixed; boundary="===============5057611965001383473==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7872 - trunk/bootstrap/deploy and 1 other directory. Date: Tue, 08 Apr 2008 08:03:18 -0400 Message-ID: --===============5057611965001383473== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 08:03:18 -0400 (Tue, 08 Apr 2008) New Revision: 7872 Modified: branches/Seam_2_0/bootstrap/deploy/remoting-service.xml trunk/bootstrap/deploy/remoting-service.xml Log: JBSEAM-2813, thanks to Dan allen Modified: branches/Seam_2_0/bootstrap/deploy/remoting-service.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/bootstrap/deploy/remoting-service.xml 2008-04-08 11:5= 9:30 UTC (rev 7871) +++ branches/Seam_2_0/bootstrap/deploy/remoting-service.xml 2008-04-08 12:0= 3:18 UTC (rev 7872) @@ -5,11 +5,11 @@ - socket://${jboss.bind.address}:38= 73 + socket://${jboss.bind.address}:38= 83 org.jboss.aspects.remoting.AOPRemot= ingInvocationHandler - \ No newline at end of file + Modified: trunk/bootstrap/deploy/remoting-service.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/bootstrap/deploy/remoting-service.xml 2008-04-08 11:59:30 UTC (re= v 7871) +++ trunk/bootstrap/deploy/remoting-service.xml 2008-04-08 12:03:18 UTC (re= v 7872) @@ -5,11 +5,11 @@ - socket://${jboss.bind.address}:38= 73 + socket://${jboss.bind.address}:38= 83 org.jboss.aspects.remoting.AOPRemot= ingInvocationHandler - \ No newline at end of file + --===============5057611965001383473==-- From seam-commits at lists.jboss.org Tue Apr 8 08:06:56 2008 Content-Type: multipart/mixed; boundary="===============4683027467094179429==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7873 - trunk/src/main/org/jboss/seam/deployment and 1 other directory. Date: Tue, 08 Apr 2008 08:06:55 -0400 Message-ID: --===============4683027467094179429== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 08:06:55 -0400 (Tue, 08 Apr 2008) New Revision: 7873 Modified: branches/Seam_2_0/src/main/org/jboss/seam/deployment/GroovyHotDeployment= Strategy.java trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.java Log: JBSEAM-2812, thanks to Dan Allen Modified: branches/Seam_2_0/src/main/org/jboss/seam/deployment/GroovyHotDep= loymentStrategy.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/deployment/GroovyHotDeploymen= tStrategy.java 2008-04-08 12:03:18 UTC (rev 7872) +++ branches/Seam_2_0/src/main/org/jboss/seam/deployment/GroovyHotDeploymen= tStrategy.java 2008-04-08 12:06:55 UTC (rev 7873) @@ -58,6 +58,7 @@ } else { + if (super.isFromHotDeployClassLoader(componentClass)) return true= ; //Java ClassLoader classClassLoader =3D componentClass.getClassLoader().= getParent(); //Groovy use an Inner Delegate CL return classClassLoader =3D=3D getClassLoader() || classClassLoad= er =3D=3D getClassLoader().getParent(); } Modified: trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrat= egy.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.ja= va 2008-04-08 12:03:18 UTC (rev 7872) +++ trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.ja= va 2008-04-08 12:06:55 UTC (rev 7873) @@ -58,6 +58,7 @@ } else { + if (super.isFromHotDeployClassLoader(componentClass)) return true= ; //Java ClassLoader classClassLoader =3D componentClass.getClassLoader().= getParent(); //Groovy use an Inner Delegate CL return classClassLoader =3D=3D getClassLoader() || classClassLoad= er =3D=3D getClassLoader().getParent(); } --===============4683027467094179429==-- From seam-commits at lists.jboss.org Tue Apr 8 08:31:50 2008 Content-Type: multipart/mixed; boundary="===============4235352146499086569==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7874 - branches/Seam_2_0/build. Date: Tue, 08 Apr 2008 08:31:50 -0400 Message-ID: --===============4235352146499086569== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 08:31:50 -0400 (Tue, 08 Apr 2008) New Revision: 7874 Modified: branches/Seam_2_0/build/docs.pom.xml Log: oops Modified: branches/Seam_2_0/build/docs.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/docs.pom.xml 2008-04-08 12:06:55 UTC (rev 7873) +++ branches/Seam_2_0/build/docs.pom.xml 2008-04-08 12:31:50 UTC (rev 7874) @@ -67,7 +67,7 @@ ${pom.basedir}/en-US master.xml - ${pom.basedir}/en + ${pom.basedir}/en-US images/*.png --===============4235352146499086569==-- From seam-commits at lists.jboss.org Tue Apr 8 11:10:51 2008 Content-Type: multipart/mixed; boundary="===============1024085991772679549==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7875 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Tue, 08 Apr 2008 11:10:51 -0400 Message-ID: --===============1024085991772679549== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-08 11:10:51 -0400 (Tue, 08 Apr 2008) New Revision: 7875 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml Log: removed section on identity management Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-0= 8 12:31:50 UTC (rev 7874) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-0= 8 15:10:51 UTC (rev 7875) @@ -1625,846 +1625,4 @@ = = - - Identity Management - - - Seam Security provides an optional identity management API, which of= fers the following features: - - - - - - User management - the ability to create, delete and modify user = accounts and their role memberships. - - - - - Authentication of users without the need for writing an Authenti= cator component. - - - - - A hierarchical role/group membership structure, allowing roles t= o be members of other roles. - - - - - Pluggable identity store, allowing the developer to choose their= security provider, whether it be - JPA, LDAP, Kerberos, etc. - - - - - - The core of the identity management API is the IdentityMana= ger component. Before it can be - used however, it must be configured with an IdentityStore implementation. The - IdentityStore does the actual work of interacting= with the underlying security provider, - whatever it may be. - - - - - - - - - - - - - Configuration - - - Configuration of the IdentityManager is extreme= ly simple, requiring only an - IdentityStore to be configured in comp= onents.xml. - The identity management namespace is http://jboss.com/pro= ducts/seam/security/management - and its schema location is http://jboss.com/products/seam= /identity-management-2.1.xsd. - Here's a simple example showing the configuration of a JP= AIdentityStore - for the - IdentityManager to use it, it must be named identityStore: - - - - ]]> - - - - JPAIdentityStore - - - JPAIdentityStore is an IdentityStore implementation that uses - JPA as its underlying security provider. User accounts and their = role memberships are stored in a - self-referencing database table, for which the corresponding entit= y bean must extend - org.jboss.seam.security.management.UserAccount = to provide the following properties: - - - - - - - - - - - - - To provide a complete example, here's what the actual database tab= les may look like: - - - - - - - - - - - - - And an example of the corresponding entity bean: - - - memberships; - - @Id @GeneratedValue public Integer getAccountId() { return accountId; } - public void setAccountId(Integer accountId) { this.accountId =3D accoun= tId; } - - @NotNull @Override public String getUsername() { return username; } - @Override public void setUsername(String username) { this.username =3D = username; } - - @Override public String getPasswordHash() { return passwordHash; } - @Override public void setPasswordHash(String passwordHash) { this.passw= ordHash =3D passwordHash; } - - @Override public AccountType getAccountType() { return accountType; } - @Override public void setAccountType(AccountType accountType) { this.ac= countType =3D accountType; } - - @Override public boolean isEnabled() { return enabled; } - @Override public void setEnabled(boolean enabled) { this.enabled =3D en= abled; } - - @ManyToMany(targetEntity =3D MemberAccount.class) @JoinTable(name =3D "= ACCOUNT_MEMBERSHIP", - joinColumns =3D @JoinColumn(name =3D "ACCOUNT_ID"), - inverseJoinColumns =3D @JoinColumn(name =3D "MEMBER_OF")) - @Override public Set getMemberships() { return memberships= ; } - @Override public void setMemberships(Set memberships) { th= is.memberships =3D memberships; }}]]> - - - In the above example, the implementation of UserAccount is self-referencing - in that it has a many-to-many relationship with itself via its memberships - property. To keep the model simple, both user accounts and roles = are persisted as - UserAccounts, with the accountType property acting as the - discriminator between the two. With this model, roles can be memb= ers of other roles, making it - possible to define complex role membership hierarchies. - - - - Once the UserAccount implementation has been cr= eated, the JPAIdentityStore - must be configured to use that implementation any time it performs= an identity management operation. - This is done by specifying the account-class pr= operty in components.xml. - In the following example, it is configured as com.acme.Us= erAccount: - - - ]]> - - - Please note that this is a required parameter, and must always be = specified when using the - JPAIdentityStore. - - = - - Password hashing - = - - The JPAIdentityStore stores a salted hash o= f the user's password, using the username - as the source material for salt generation. This guarantees t= hat two users with the same password will - still have different password hashes. The method for generati= ng a password hash is listed here for - convenience - it may be useful for generating password hashes = for inclusion in DML scripts, etc: - - = - - - - - - - Authentication with the Identity Management API - - - To authenticate using the Identity Management API, it is as simple= as not specifying the - authenticate-method property for the I= dentity component. - If no authenticate-method is specified, then by= default the authentication - process (controlled by SeamLoginModule) will at= tempt to authenticate using - IdentityManager's authenticate() method, and no - Authenticator component is necessary. - - - - - Using the IdentityManager API - - - The IdentityManager can be accessed either by i= njecting it into your Seam - component as follows: - - - - - - or by accessing it through its static instance() method: - - - - - - The following table describes each of the methods that Id= entityManager provides: - - - - Identity Management API - - - - - - - - - - Method - - - Returns - - - Description - - - - - - - - - - createAccount(String name, String password) - - - - - boolean - - - - - Creates a new user account, with the specified name and = password. Returns true - if successful, or false if not. - - - - - - - - deleteAccount(String name) - - - - - boolean - - - - - Deletes the user account with the specified name. Retur= ns true - if successful, or false if not. - - - - - - - - enableAccount(String name) - - - - - boolean - - - - - Enables the user account with the specified name. Accou= nts that are not enabled are - not able to authenticate. Returns true if successful, or - false if not. - - - - - - - - disableAccount(String name) - - - - - boolean - - - - - Disables the user account with the specified name. Retu= rns true if - successful, or false if not. - - - - - - - - changePassword(String name, String password) - - - - - boolean - - - - - Changes the password for the user account with the speci= fied name. Returns - true if successful, or false= if not. - - - - - - - - isEnabled(String name) - - - - - boolean - - - - - Returns true if the specified user ac= count is enabled, or - false if it isn't. - - - - - - - - grantRole(String name, String role) - - - - - boolean - - - - - Grants the specified role to the specified user account.= The role must already exist for it to - be granted. Returns true if the role= is successfully granted, or - false if it is already granted to the= user. - - - - - - - - revokeRole(String name, String role) - - - - - boolean - - - - - Revokes the specified role from the specified user accou= nt. Returns true - if the specified user is a member of the role and it is = successfully revoked, or - false if the user is not a member of = the role. - - - - - - - - accountExists(String name) - - - - - boolean - - - - - Returns true if the specified user ex= ists, or false - if it doesn't. - - - - - - - - listUsers() - - - - - List - - - - - Returns a list of all user names, sorted in alpha-numeri= c order. - - - - - - - - listUsers(String filter) - - - - - List - - - - - Returns a list of all user names filtered by the specifi= ed filter parameter, sorted in alpha-numeric order. - - - - - - - - listRoles() - - - - - List - - - - - Returns a list of all role names. - - - - - - - - getGrantedRoles(String name) - - - - - List - - - - - Returns a list of the names of all the roles explicitly = granted to the specified user name. - - - - - - - - getImpliedRoles(String name) - - - - - List - - - - - Returns a list of the names of all the roles implicitly = granted to the specified user name. - Implicitly granted roles include those that are not dire= ctly granted to a user, rather they are - granted to the roles that the user is a member of. For = example, is the admin - role is a member of the user role, an= d a user is a member of the admin - role, then the implied roles for the user are both the <= literal>admin, and user - roles. - - - - - - - - authenticate(String name, String password) - - - - - boolean - - - - - Authenticates the specified username and password using = the configured Identity Store. Returns - true if successful or false<= /literal> if authentication failed. - Successful authentication implies nothing beyond the ret= urn value of the method. It does not - change the state of the Identity comp= onent - to perform a proper Seam login the - Identity.login() must be used instead. - - - - - - -
- - - Using the Identity Management API requires that the calling user h= as the appropriate authorization to invoke - its methods. The following table describes the permission require= ments for each of the methods in - IdentityManager. - - - - Identity Management Security Permissions - - - - - - - - - - Method - - - Permission Name - - - Permission Action - - - - - - - - - createAccount() - - - - - seam.account - - - - - create - - - - - - - - deleteAccount() - - - - - seam.account - - - - - delete - - - - - - - - enableAccount() - - - - - seam.account - - - - - update - - - - - - - - disableAccount() - - - - - seam.account - - - - - update - - - - - - - - changePassword() - - - - - seam.account - - - - - update - - - - - - - - isEnabled() - - - - - seam.account - - - - - read - - - - - - - - grantRole() - - - - - seam.account - - - - - update - - - - - - - - revokeRole() - - - - - seam.account - - - - - update - - - - - - - - accountExists() - - - - - seam.account - - - - - read - - - - - - - - listUsers() - - - - - seam.account - - - - - read - - - - - - -
- - - The following code listing provides an example set of security rul= es that grants access to all - Identity Management-related methods to members of the adm= in role: - - - - -
- - - Seam-gen and Identity Management - - - When creating a new project using seam-gen (see ), by default the - IdentityManager will be configured with a JPAIdentityStore - and a UserAccount implementation will be genera= ted as part of the new project. - In addition to this, the project will include the following user m= anagement screens, allowing - new users to be created, roles assigned, etc: - - - - - - - - - - - - - The user detail screen: - - - - - - - - - - - - - - -
- --===============1024085991772679549==-- From seam-commits at lists.jboss.org Tue Apr 8 13:24:42 2008 Content-Type: multipart/mixed; boundary="===============7942831224482444543==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7876 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Tue, 08 Apr 2008 13:24:42 -0400 Message-ID: --===============7942831224482444543== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 13:24:42 -0400 (Tue, 08 Apr 2008) New Revision: 7876 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml Log: JBSEAM-2806 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml 2008-04-0= 8 15:10:51 UTC (rev 7875) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml 2008-04-0= 8 17:24:42 UTC (rev 7876) @@ -2,870 +2,611 @@ = - Seam JSF controls - - Seam includes a number of JSF controls that are useful for working with - Seam. These are intended to complement the built-in JSF controls, and - controls from other third-party libraries. We recommend - JBoss RichFaces, and Apache MyFaces Trinidad tag libraries for use wit= h Seam. - We do not recommend the use of the Tomahawk tag library. - + Seam JSF controls + + Seam includes a number of JSF controls that are useful for working w= ith + Seam. These are intended to complement the built-in JSF controls, and + controls from other third-party libraries. We recommend + JBoss RichFaces, and Apache MyFaces Trinidad tag libraries for use w= ith Seam. + We do not recommend the use of the Tomahawk tag library. + = -
- Tags +
+ Tags = - - To use these tags, define the "s" namespace in your= page = - as follows (facelets only): - + + To use these tags, define the "s" namespace in= your page = + as follows (facelets only): + = - ]]> = - - The ui example demonstrates the use of a number of these tags. - - - - Seam JSF Control Reference - - - - - - - - - - - <s:button> - - - + + The ui example demonstrates the use of a number of these tags. + + = +
+ Navigation Controls + = +
+ <literal><s:button></literal> + = Description + = - A button that supports invocation of an action with control - over conversation propagation. Does not submit the= form. + A button that supports invocation of an action with control= over = + conversation propagation. Does not submit the = + form. Attributes + = - - - value — the label. - - - - - action — a method binding that = specified - the action listener. - - - - - view — the JSF view id to link = to. - - - - - fragment — the fragment identif= ier to link to. - - - - - disabled — is the link disabled? - - - - - propagation — determines the co= nversation - propagation style: begin, jo= in, - nest, none or end. - - - - - pageflow — a pageflow definitio= n to begin. - (This is only useful when propagation=3D"begin"= or - propagation=3D"join".) - - + + + value — the label. + + + + + action — a method binding th= at = + specified the action + listener. + + + + + view — the JSF view id to li= nk to. + + + + + fragment — the fragment = + identifier to link to. + + + + + disabled — is the link disab= led? + + + + + propagation — determines the = + conversation propagation style: begin, = + join, nest, = + none or end. + + + + + pageflow — a pageflow defini= tion = + to begin. (This is only useful when = + propagation=3D"begin" or + propagation=3D"join" is used). + + + = Usage - ]]> - You can specify both view and a= ction - on <s:link />. In this case, the a= ction = - will be called once the redirect to the specified view has - occured. + You can specify both view and = + action on <s:link />. = + In this case, the action wil be called once the redirect to= the = + specified view has occured. - - - - - + = +
+ = +
+ <literal><s:conversationId></literal> + = + Description + = - <s:cache> + Add the conversation id to JSF link or button (e.g. + <h:commandLink /> , + <s:button />). - - + = + Attributes + = + None + = +
+ = +
+ <literal><s:taskId></literal> + = Description - Cache the rendered page fragment using JBoss Cache. Note that - <s:cache> actually uses the instance - of JBoss Cache managed by the built-in pojoCache - component. + Add the task id to an output link (or similar JSF control), = + when the task is available via #{task}. + = Attributes - - - - key — the key to cache rendered= content, - often a value expression. For example, if we were cachin= g a page - fragment that displays a document, we might use - key=3D"Document-#{document.id}". - - - - - enabled — a value expression th= at determines - if the cache should be used. - - - - - region — a JBoss Cache node to = use (different - nodes can have different expiry policies). - - - - Usage - -
-

#{blogEntry.title}

-
- -
-

- [Posted on  - - - ] -

-
-]]>
- - - - - - <s:conversationId> + None. - - + = +
+ = +
+ <literal><s:link></literal> + = Description - Add the conversation id to JSF link or button (e.g. <h:commandLink />, <s:button />). + A link that supports invocation of an action with control o= ver = + conversation propagation. Does not submit the = + form. + = Attributes + + + + value — the label. + + + + + action — a method binding t= hat = + specified the action listener. + + + + + view — the JSF view id to li= nk to. + + + + + fragment — the fragment iden= tifier + to link to. + + + + + disabled — is the link disab= led? + + + + + propagation — determines the = + conversation propagation style: begin, + join, nest, + none or end. + + + + + pageflow — a pageflow defini= tion = + to begin. (This is only useful when using + propagation=3D"begin" or + propagation=3D"join".) + + + + = + Usage + ]]> - None. + You can specify both view and = + action on <s:link />. + In this case, the action will be called once the redirect t= o the = + specified view has occured. - - - - - + = +
+ = +
+ <literal><s:conversationPropagation></literal></t= itle> + = + <para><emphasis>Description</emphasis></para> <para> - <literal><s:conversationPropagation></literal> + Customize the conversation propagation for a command link o= r button + (or similar JSF control). <emphasis>Facelets only.</emphasi= s> </para> - </entry> - <entry valign=3D"top"> - <para><emphasis>Description</emphasis></para> - <para> - Customize the conversation propagation for a command link = or button - (or similar JSF control). <emphasis>Facelets only.</emphas= is> - </para> - <para><emphasis>Attributes</emphasis></para> - <itemizedlist> - <listitem> + = + <para><emphasis>Attributes</emphasis></para> + <itemizedlist> + <listitem> <para> <literal>type</literal> — determines the conver= sation - propagation style: <literal>begin</literal>, <literal= >join</literal>, - <literal>nest</literal>, <literal>none</literal> or <= literal>end</literal>. + propagation style: <literal>begin</literal>, = + <literal>join</literal>, <literal>nest</literal>, = + <literal>none</literal> or <literal>end</literal>. </para> - </listitem> - <listitem> + </listitem> + <listitem> <para> - <literal>pageflow</literal> — a pageflow definit= ion to begin. - (This is only useful when <literal>propagation=3D"begi= n"</literal> or - <literal>propagation=3D"join"</literal>.) + <literal>pageflow</literal> — a pageflow defini= tion to = + begin. (This is only useful when using = + <literal>propagation=3D"begin"</literal> or = + <literal>propagation=3D"join"</literal>.) </para> - </listitem> - </itemizedlist> - <para><emphasis>Usage</emphasis></para> - <programlisting role=3D"XHTML"><![CDATA[<h:commandButton val= ue=3D"Apply" action=3D"#{personHome.update}"> - <s:conversationPropagation type=3D"join" /> + </listitem> + </itemizedlist> + <para><emphasis>Usage</emphasis></para> + <programlisting role=3D"XHTML"><![CDATA[<h:commandButton value= =3D"Apply" action=3D"#{personHome.update}"> + <s:conversationPropagation type=3D"join" /> </h:commandButton>]]></programlisting> - </entry> - </row> - - <row> - <entry valign=3D"top"> - <para><literal><s:convertDateTime></literal></para> - </entry> - <entry valign=3D"top"> - <para><emphasis>Description</emphasis></para> + </section> + = + <section> + <title> + <literal><s:defaultAction></literal> + + = - Perform date or time conversions in the Seam timezone. + Description - Attributes - None. + Specify the default action to run when the form is submitte= d using + the enter key. + + Currently you can only nest it inside buttons (e.g. + <h:commandButton />, + <a:commandButton /> or + <tr:commandButton />). + + + You must specify an id on the action source. You can only h= ave one + default action per form. + + = + + Attributes + + None. + = Usage + + +]]> +
+ = +
+ = +
+ Converters and Validators + = +
+ <literal><s:convertDateTime></literal> + = + Description + Perform date or time conversions in the Seam timezone. + = + Attributes + None. + = + Usage - + ]]> - - - - - - <s:convertEntity> - - + = +
+ = +
+ <literal><s:convertEntity></literal> + = Description - Assigns an entity converter to the current component. This= is primarily - useful for radio button and dropdown controls. + Assigns an entity converter to the current component. This = is + primarily useful for radio button and dropdown controls. - + = - The converter works with any managed entity which has an @Id annotation - - either simple or composite. + The converter works with any managed entity which has an + @Id + annotation - either simple or composite. - + = Attributes - - - None. - - + None. + = Configuration - + = - You must use Seam managed transactions = (see ) with <s:convertEntity />. + You must use Seam managed transactions= (see + )= with + <s:convertEntity />. - + = - If your Managed Persistence Context isn= 't called - entityManager, then you need to set it in= components.xml: + If your Managed Persistence Context is= n't = + called entityManager, then you need to s= et it in = + components.xml: - #{em} + #{em} ]]> - + = - If you are using a Managed Hibernate Session = - then you need to set it in components.xml: + If you are using a Managed Hibernate Session + then you need to set it in components.xml: - #{hibernateSession} + #{hibernateSession} ]]> - + = - If you want to use more than one entity manager with the ent= ity = - converter, you can create a copy of the entity converter for= each - entity manager in components.xml: + If you want to use more than one entity manager with the en= tity + converter, you can create a copy of the entity converter fo= r each + entity manager in components.xml: - = + = - #{em} + #{em} ]]> - + = - - + + ]]> - + = Usage - - + + ]]> - - - - - - <s:convertEnum> - - - +
+ = +
+ <literal><s:convertEnum></literal> + = Description - Assigns an enum converter to the current component. This is= primarily - useful for radio button and dropdown controls. + Assigns an enum converter to the current component. This is + primarily useful for radio button and dropdown controls. + = Attributes - - None. - + None. + = Usage - - + ]]> - - +
= + = +
+ <literal><s:validate></literal> + = + Description + + A non-visual control, validates a JSF input field against t= he = + bound property using Hibernate Validator. + + = + Attributes + + None. + + = + Usage + + + +]]> +
+ = +
+ <literal><s:validateAll></literal> = - - + Description - <s:decorate> + A non-visual control, validates all child JSF input fields = + against their bound properties using Hibernate Validator. - - + = + Attributes + + None. + + = + Usage + +
+ Username: + + +
+
+ Password: + + +
+
+ Verify Password: + + +
+]]>
+ = +
+ = +
+ = +
+ Formatting + = +
+ <literal><s:decorate></literal> + = Description - "Decorate" a JSF input field when validation fails or when - required=3D"true" is set. + "Decorate" a JSF input field when validation fails or when + required=3D"true" is set. = Attributes - - - template — the facelets templat= e to use to decorate the component + + + template — the facelets temp= late = + to use to decorate the component - #{invalid} and #{required} are = - available inside s:decorate; #{r= equired} = - evaluates to true if you have set the inp= ut component = - being decorated as required, and #{invalid} evaluates = - to true if a validation error occurs. + #{invalid} and #{required} = + are available inside s:decorate; = + #{required} evaluates to = + true if you have set the input component= being + decorated as required, and #{invalid} = + evaluates to true if a validation error = occurs. + = Usage - Country: - - ]]> - + Country: + + ]]> + = -
= +
= = - - - * - + + + * + = - - - - - + + + + + = - = + = = -
= +
= = ]]>
- - - = - - - - <s:defaultAction> - - - +
+ = +
+ <literal><s:div></literal> + = Description - Specify the default action to run when the form is submitted= using - the enter key. + Render a HTML <div>. - - Currently you can only nest it inside buttons (e.g. = - <h:commandButton />, - <a:commandButton /> or - <tr:commandButton />). - - - You must specify an id on the action source. You can only ha= ve one - default action per form. - + = Attributes - None. + None. + = Usage - - -]]> - - - - - - - <s:div> - - - - Description - - Render a HTML <div>. - - Attributes - - None. - - Usage - - Sorry, but this member does not exist. + + Sorry, but this member does not exist. ]]> - - - - - - - <s:enumItem> - - - - Description - - Creates a SelectItem from an enum value. - - Attributes - - - - enumValue — the string repre= sentation of the enum - value. - - - - - label — the label to be used = when rendering the SelectItem. - - - - Usage - - - - - - - -]]> - - - - - - - <s:fileUpload> - - - +
+ = +
+ <literal><s:span></literal> + = Description - Renders a file upload control. This control must be used w= ithin a form with - an encoding type of multipart/form-data,= i.e: + Render a HTML <span>. - - ]]> - - - For multipart requests, the Seam Multipart servlet filter mu= st also be configured - in web.xml: - - - - Seam Filter - org.jboss.seam.servlet.SeamFilter - - - - Seam Filter - /* -]]> - - Configuration - - - The following configuration options for multipart requests m= ay be configured in components.xml: - - - - - - createTempFiles — if this optio= n is set to true, uploaded files are - streamed to a temporary file instead of in memory. - - - - - maxRequestSize — the maximum si= ze of a file upload request, in bytes. - - - - - - Here's an example: - - - - true - 1000000 -]]> - + = Attributes - - - - data — this value binding recei= ves the binary file data. - The receiving field should be declared as a byt= e[] or InputStream (required). - - - - - contentType — this value bindin= g receives the file's - content type (optional). - - - - - fileName — this value binding r= eceives the filename (optional). - - - - - fileSize — this value binding r= eceives the file size (optional). - - - - - accept — a comma-separated list= of content types to accept, - may not be supported by the browser. E.g. "ima= ges/png,images/jpg", - "images/*". - - - - - style — The control's style - - - - - styleClass — The control's styl= e class - - - - Usage - ]]> - - - - - - <s:formattedText> - - - Description - Outputs Seam Text, a rich text markup = useful for blogs, wikis and - other applications that might use rich text. See the Seam = Text chapter for full usage. + None. - Attributes - - - - value — an EL expression specif= ying the rich text markup to render. - - - + = Usage - ]]> - Example - - - - - - - - - - - - - - - <s:fragment> - - - + *]]> + = +
+ = +
+ <literal><s:fragment></literal> + = Description - A non-rendering component useful for enabling/disabling rend= ering of it's children. + A non-rendering component useful for enabling/disabling ren= dering + of it's children. + = Attributes - None. + None. + = Usage - Current bid: + Current bid: ]]> - - + = +
+ = +
+ <literal><s:label></literal> = - - - - <s:graphicImage> - - - Description - An extended <h:graphicImage> that a= llows the image to be created in a Seam Component; further transforms - can be applied to the image. + "Decorate" a JSF input field with the label. The label is = placed + inside the HTML <label> tag, and i= s = + associated with the nearest JSF input component. It is oft= en = + used with <s:decorate>. - - All attributes for <h:graphicImage>= are supported, as well as: - Attributes - + - - value — image to display. Can b= e a path String - (loaded from the classpath), a byte[],= a java.io.File, - a java.io.InputStream or a ja= va.net.URL. Currently supported - image formats are image/png, = image/jpeg and image/gif. - + + style — The control's style + - - - fileName — if not specified the = served image will have a generated file name. - If you want to name your file, you should specify it here= . This name should be unique - + + + styleClass — The control's s= tyle class + - - Transformations - - To apply a transform to the image, you would nest a tag spe= cifying the transform to apply. Seam currently supports these - transforms: - - - - <s:transformImageSize> - - - - - width — new width of the = image - - - - - height — new height of th= e image - - - - - maintainRatio — if true, and one of - width/height= are specified, the image will be resized with the - dimension not specified being calculated to mainta= in the aspect ratio. - - - - - factor — scale the image = by the given factor - - - - - - - <s:transformImageBlur> - - - - - radius — perform a convol= ution blur with the given radius - - - - - - - <s:transformImageType> - - - - - contentType — alter the t= ype of the image to either image/jpeg or image/= png - - - - - - - - - It's easy to create your own transform - create a U= IComponent which implements - org.jboss.seam.ui.graphicImage.ImageTransform. Inside the applyTransform()method - use image.getBufferedImage() to get the o= riginal image and image.setBufferedImage() - to set your transformed image. Transforms are applied in th= e order specified in the view. - - Usage - - -]]> - - - = - - - - <s:label> - - - - Description - - "Decorate" a JSF input field with the label. The label is p= laced inside = - the HTML <label> tag, and is associ= ated with the - nearest JSF input component. It is often used with <s:decorate>. - - Attributes - - - - style — The control's style - - - - - styleClass — The control's styl= e class - - + = Usage Country: ]]> - - - = - - - - <s:link> - - - +
+ = +
+ <literal><s:message></literal> + = Description - A link that supports invocation of an action with control ov= er conversation - propagation. Does not submit the form. + "Decorate" a JSF input field with the validation error mess= age. + = Attributes - - - - value — the label. - - - - - action — a method binding that = specified - the action listener. - - - - - view — the JSF view id to link = to. - - - - - fragment — the fragment identif= ier to link to. - - - - - disabled — is the link disabled? - - - - - propagation — determines the co= nversation - propagation style: begin, jo= in, - nest, none or end. - - - - - pageflow — a pageflow definitio= n to begin. - (This is only useful when propagation=3D"begin"= or - propagation=3D"join".) - - - - Usage - ]]> - You can specify both view and a= ction - on <s:link />. In this case, the a= ction = - will be called once the redirect to the specified view has - occured. + None. - - - - - - - <s:message> - - - - Description - - "Decorate" a JSF input field with the validation error messa= ge. - - Attributes - - None. - + = Usage @@ -873,486 +614,579 @@ ]]> - - - = - - - - <s:remote> - - - + = +
+ = +
+ = +
+ Seam Text + = +
+ <literal><s:validateFormattedText></literal></tit= le> + = <para><emphasis>Description</emphasis></para> <para> - Generates the Javascript stubs required to use Seam Remoting. + Checks that the submitted value is valid Seam Text </para> + = <para><emphasis>Attributes</emphasis></para> - <itemizedlist> - <listitem> - <para> - <literal>include</literal> — a comma-separated lis= t of the component names (or fully qualified class names) - for which to generate Seam Remoting Javascript stubs. S= ee <xref linkend=3D"remoting"/> for more details. - </para> - </listitem> - </itemizedlist> - <para><emphasis>Usage</emphasis></para> - <programlisting role=3D"XHTML"><![CDATA[<s:remote include=3D"c= ustomerAction,accountAction,com.acme.MyBean"/>]]></programlisting> - </entry> - </row> = - - <row> - <entry valign=3D"top"> <para> - <literal><s:selectDate></literal> + None. </para> - </entry> - <entry valign=3D"top"> + </section> + = + <section> + <title><literal><s:formattedText></literal> + Description - Deprecated. Use <rich:calendar /><= /literal> instead. + Outputs Seam Text, a rich text markup = useful + for blogs, wikis and other applications that might use rich= text. + See the Seam Text chapter for full usage. - - Displays a dynamic date picker component that selects a dat= e for the specified input field. - The body of the selectDate element shoul= d contain HTML elements, such as - text or an image, that prompt the user to click to display = the date picker. The date picker - must be styled using CSS. An example = CSS file can be found in the Seam - booking demo as date.css, or can be gene= rated using seam-gen. The CSS - styles used to control the appearance of the date picker ar= e also described below. - - + = Attributes - - for — The id of the input field= that the date picker will insert the - selected date into. - + + value — an EL expression spec= ifying = + the rich text markup to render. + - - - dateFormat — The date format st= ring. This should match the date format of the - input field. - - - - - startYear — The popup year sele= ctor range will start at this year. - - - - - endYear — The popup year select= or range will end at this year. - - - - - firstDayOfWeek — Controls which= day is the first day of the week = - (0 =3D Sunday, 6 =3D Saturday). If this attribute is no= t set, then the first day of the week will - default based on the user's locale. - - - + = Usage + ]]> = - - Date of birth* - - - - - - -
-]]>
- = - Example - + - + - - CSS Styling + = +
+ = +
= + = +
+ Dropdowns + = +
+ <literal><s:enumItem></literal> + = + Description - The following list describes the CSS class names that are us= ed to control the style of the selectDate control. + Creates a SelectItem from an enum value. + = + Attributes - - - seam-date — This class is appli= ed to the outer div containing the - popup calendar. (1) It is also applied to the t= able that controls the inner layout of the - calendar. (2) - - - - - seam-date-header — This class i= s applied to the calendar header table row (tr) - and header table cells (td). (3) - - - - - seam-date-header-prevMonth — Th= is class is applied to the "previous month" table cell, - (td), which when clicked causes the c= alendar to display the month prior to the one currently - displayed. (4) - - - - - seam-date-header-nextMonth — Th= is class is applied to the "next month" table cell, - (td), which when clicked causes the c= alendar to display the month following the one currently - displayed. (5) - - - - - seam-date-headerDays — This cla= ss is applied to the calendar days header row - (tr), which contains the names of the= week days. (6) - - - - - seam-date-footer — This class i= s applied to the calendar footer row - (tr), which displays the current date= . (7) - - - - - seam-date-inMonth — This class = is applied to the table cell - (td) elements that contain a date wit= hin the month currently displayed. (8) - - - - - seam-date-outMonth — This class= is applied to the table cell - (td) elements that contain a date out= side of the month currently displayed. (9) - - - - - seam-date-selected — This class= is applied to the table cell - (td) element that contains the curren= tly selected date. (10) - - - - - seam-date-dayOff-inMonth — This= class is applied to the table cell - (td) elements that contain a "day off= " date (i.e. weekend days, Saturday and Sunday) - within the currently selected month. (11) - - - - - seam-date-dayOff-outMonth — Thi= s class is applied to the table cell - (td) elements that contain a "day off= " date (i.e. weekend days, Saturday and Sunday) - outside of the currently selected month. (12) - - - - - seam-date-hover — This class is= applied to the table cell - (td) element over which the cursor is= hovering. (13) - - - - - seam-date-monthNames — This cla= ss is applied to the div - control that contains the popup month selector. (14) - - - - - seam-date-monthNameLink — This = class is applied to the anchor (a) - controls that contain the popup month names. (15) - - - - - seam-date-years — This class i= s applied to the div - control that contains the popup year selector. (16) - - - - - seam-date-yearLink — This class= is applied to the anchor (a) - controls that contain the popup years. (15) - - + + + enumValue — the string = + representation of the enum value. + + + + + label — the label to be used= when = + rendering the SelectItem. + + + = + Usage + + + + + + + +]]> +
+ = +
+ <literal><s:selectItems></literal> = - - - - - - - - - - - - - + Description - <s:selectItems> + Creates a List<SelectItem> from a = List, Set, DataModel or Array. - - - Description - - Creates a List<SelectItem> from = a List, Set, DataModel or Array. - - Attributes - + + Attributes + - - value — an EL expression spe= cifying the data that backs the List<SelectItem> - + + value — an EL expression = + specifying the data that backs the = + List<SelectItem> + - - - var — defines the name of th= e local variable that holds the current object during iteration - + + + var— defines the name of the= local + variable that holds the current object during iterati= on + - - label — the label to be used= when rendering the SelectItem. Can reference - the var variable - + + label — the label to be used= when = + rendering the SelectItem. Can refe= rence = + the var variable. + - - itemValue — Value to return = to the server if this option is selected. Optional, by default the var object is used. Can reference the var var= iable = - + + itemValue — Value to return = to the = + server if this option is selected. Optional, by defau= lt the + var object is used. Can reference = the + var variable. + - = - - - disabled — if true the SelectItem will be rendered disabled. Can reference - the var variable - + + + + disabled + — if true the SelectItem wil= l be = + rendered disabled. Can reference the var + variable. + - - noSelectionLabel — specifies= the (optional) label to place at the top of list (if - required=3D"true" is also specifie= d then selecting this value will cause a validation error) - + + noSelectionLabel — specifies= the = + (optional) label to place at the top of list (if + required=3D"true" is also specifie= d then = + selecting this value will cause a validation error). + - - hideNoSelectionLabel — if tru= e, the noSelectionLabel will be hidden - when a value is selected - + + hideNoSelectionLabel — if tr= ue, + the noSelectionLabel will be hidde= n when + a value is selected = + - - Usage + + Usage ]]> - - +
+ = +
+ = +
+ Other + = +
+ <literal><s:cache></literal> = - - - - <s:span> - - - Description - Render a HTML <span>. + Cache the rendered page fragment using JBoss Cache. Note th= at + <s:cache> actually uses the instan= ce + of JBoss Cache managed by the built-in = + pojoCache component. Attributes - - None. - + + + + key — the key to cache rende= red = + content, often a value expression. For example, if we= were = + caching a page fragment that displays a document, we = might = + use key=3D"Document-#{document.id}". + + + + + enabled — a value expression= that = + determines if the cache should be used. + + + + + region — a JBoss Cache node = to use + (different nodes can have different expiry policies). + + + + = Usage - *]]> - - + +
+

#{blogEntry.title}

+
+ +
+

+ [Posted on  + + + ] +

+
+]]>
+ = +
= - - - - <s:taskId> - - - +
+ <literal><s:fileUpload></literal> + Description - - Add the task id to an output link (or similar JSF control)= , when the - task is available via #{task}. - - Attributes - None. + Renders a file upload control. This control must be used w= ithin + a form with an encoding type of = + multipart/form-data, i.e: = - - = - - + ]]> + - <s:validate> + For multipart requests, the Seam Multipart servlet filter m= ust = + also be configured in web.xml: - - - Description + + + Seam Filter + org.jboss.seam.servlet.SeamFilter + + + + Seam Filter + /* +]]> + + Configuration + - A non-visual control, validates a JSF input field against th= e bound - property using Hibernate Validator. + The following configuration options for multipart requests = may be + configured in components.xml: - Attributes + + + + + createTempFiles — if this op= tion = + is set to true, uploaded files are streamed to a temp= orary = + file instead of in memory. + + + + + maxRequestSize — the maximum= size = + of a file upload request, in bytes. + + + + - None. + Here's an example: + + + true + 1000000 +]]> + + Attributes + + + + data — this value binding re= ceives + the binary file data. The receiving field should be = + declared as a byte[] or = + InputStream (required). + + + + + contentType — this value bin= ding = + receives the file's content type (optional). + + + + + fileName — this value bindin= g = + receives the filename (optional). + + + + + fileSize — this value bindin= g = + receives the file size (optional). + + + + + accept — a comma-separated l= ist of + content types to accept, may not be supported by the = + browser. E.g. "images/png,images/jpg", + "images/*". + + + + + style — The control's style + + + + + styleClass — The control's s= tyle = + class + + + Usage - - - -]]> - - + ]]> + = +
= - - - <s:validateAll> - - +
+ <literal><s:graphicImage></literal> + = Description - A non-visual control, validates all child JSF input fields a= gainst their bound - properties using Hibernate Validator. + An extended <h:graphicImage> that = allows + the image to be created in a Seam Component; further transf= orms + can be applied to the image. + + All attributes for <h:graphicImage> are = + supported, as well as: + + = Attributes + + + + value — image to display. C= an be = + a path String (loaded from the = + classpath), a byte[], a = + java.io.File, a = + java.io.InputStream or a = + java.net.URL. Currently supported= image + formats are image/png, = + image/jpeg and = + image/gif. + + + + + fileName — if not specified = the = + served image will have a generated file name. If you = want = + to name your file, you should specify it here. This = name = + should be unique + + + + = + Transformations - None. + To apply a transform to the image, you would nest a tag = + specifying the transform to apply. Seam currently supports= these + transforms: - Usage - -
- Username: - - -
-
- Password: - - -
-
- Verify Password: - - -
-]]>
- - - = - - + + + + <s:transformImageSize> + + + + + + width — new width o= f the = + image + + + + + height — new height= of the = + image + + + + + maintainRatio — if + true, and = + one of + width/height + are specified, the image will be resized wit= h the + dimension not specified being calculated to + maintain the aspect ratio. + + + + + factor — scale the = image = + by the given factor + + + + + + + + <s:transformImageBlur> + + + + + + radius — perform a = + convolution blur with the given radius + + + + + + + + <s:transformImageType> + + + + + + contentType — alter= the = + type of the image to either = + image/jpeg or + image/png + + + + + + + - <s:validateFormattedText> + It's easy to create your own transform - create a = + UIComponent which implements = + org.jboss.seam.ui.graphicImage.ImageTransform. + Inside the applyTransform()method use = + image.getBufferedImage() to get the orig= inal = + image and image.setBufferedImage() to se= t your + transformed image. Transforms are applied in the order spe= cified + in the view. - - + Usage + + +]]> +
+ = +
+ <literal><s:remote></literal> + = Description - Checks that the submitted value is valid Seam Text + Generates the Javascript stubs required to use Seam Remotin= g. + = Attributes - - None. - - - = + + + + include — a comma-separated = list = + of the component names (or fully qualified class name= s)for = + which to generate Seam Remoting Javascript stubs. Se= e = + for more details. + + + + = + Usage + ]]> = +
+
= + = -
- -
-
-
- Annotations - = - - Seam also provides annotations to allow you to use Seam components as = JSF - converters and validators: - = - - - - - @Converter - - - = - ]]> - = - - Registers the Seam component as a JSF converter. Shown here i= s a = - converter which is able to access the JPA EntityManager inside= a = - JTA transaction, when converting the value back to it's object - representation. - - - - - - @Validator - - - + Annotations + = + + Seam also provides annotations to allow you to use Seam components = as JSF + converters and validators: + = + + + + + @Converter + + + = - public void validate(FacesContext context, UIComponent cmp, Object value) - throws ValidatorException { - ItemController ItemController =3D (ItemController) Component.getInstan= ce("itemController"); - return itemController.validate(value); - } - = - }]]> - = - ]]> - - Registers the Seam component as a JSF validator. Shown here= is a = - validator which injects another Seam component; the injected = - component is used to validate the value. - - - - -
+ ]]> + = + + Registers the Seam component as a JSF converter. Shown her= e is a = + converter which is able to access the JPA EntityManager ins= ide a = + JTA transaction, when converting the value back to it's obj= ect + representation. + + + + + + @Validator + + + + = + ]]> + + Registers the Seam component as a JSF validator. Shown h= ere is a = + validator which injects another Seam component; the injec= ted = + component is used to validate the value. + + + + +
= =
--===============7942831224482444543==-- From seam-commits at lists.jboss.org Tue Apr 8 14:27:22 2008 Content-Type: multipart/mixed; boundary="===============4632313844699991464==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7877 - trunk/examples/jpa and 1 other directory. Date: Tue, 08 Apr 2008 14:27:22 -0400 Message-ID: --===============4632313844699991464== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 14:27:22 -0400 (Tue, 08 Apr 2008) New Revision: 7877 Modified: branches/Seam_2_0/examples/jpa/build-glassfish.xml trunk/examples/jpa/build-glassfish.xml Log: JBSEAM-2834 Modified: branches/Seam_2_0/examples/jpa/build-glassfish.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/build-glassfish.xml 2008-04-08 17:24:42 = UTC (rev 7876) +++ branches/Seam_2_0/examples/jpa/build-glassfish.xml 2008-04-08 18:27:22 = UTC (rev 7877) @@ -31,6 +31,7 @@ + Modified: trunk/examples/jpa/build-glassfish.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-glassfish.xml 2008-04-08 17:24:42 UTC (rev 787= 6) +++ trunk/examples/jpa/build-glassfish.xml 2008-04-08 18:27:22 UTC (rev 787= 7) @@ -31,6 +31,7 @@ + --===============4632313844699991464==-- From seam-commits at lists.jboss.org Tue Apr 8 14:28:12 2008 Content-Type: multipart/mixed; boundary="===============2656093673520352953==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7878 - branches/Seam_2_0/examples/jpa. Date: Tue, 08 Apr 2008 14:28:12 -0400 Message-ID: --===============2656093673520352953== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 14:28:12 -0400 (Tue, 08 Apr 2008) New Revision: 7878 Modified: branches/Seam_2_0/examples/jpa/ Log: ignores Property changes on: branches/Seam_2_0/examples/jpa ___________________________________________________________________ Name: svn:ignore - test-build exploded-archives-jboss dist-jboss + test-build exploded-archives-jboss dist-jboss exploded-archives-glassfish exploded-archives-jboss-embedded dist-glassfish dist-jboss-embedded --===============2656093673520352953==-- From seam-commits at lists.jboss.org Tue Apr 8 14:40:14 2008 Content-Type: multipart/mixed; boundary="===============1825124078379576285==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7879 - trunk/examples/hibernate and 1 other directory. Date: Tue, 08 Apr 2008 14:40:13 -0400 Message-ID: --===============1825124078379576285== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 14:40:13 -0400 (Tue, 08 Apr 2008) New Revision: 7879 Modified: branches/Seam_2_0/examples/hibernate/ branches/Seam_2_0/examples/hibernate/build-glassfish.xml trunk/examples/hibernate/build-glassfish.xml Log: JBSEAM-2835 Property changes on: branches/Seam_2_0/examples/hibernate ___________________________________________________________________ Name: svn:ignore - build test-output test-build exploded-archives-jboss dist-jboss + build test-output test-build exploded-archives-jboss dist-jboss dist-jboss-embedded exploded-archives-jboss-embedded dist-glassfish exploded-archives-glassfish Modified: branches/Seam_2_0/examples/hibernate/build-glassfish.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/build-glassfish.xml 2008-04-08 18:= 28:12 UTC (rev 7878) +++ branches/Seam_2_0/examples/hibernate/build-glassfish.xml 2008-04-08 18:= 40:13 UTC (rev 7879) @@ -31,6 +31,7 @@ + Modified: trunk/examples/hibernate/build-glassfish.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-glassfish.xml 2008-04-08 18:28:12 UTC (r= ev 7878) +++ trunk/examples/hibernate/build-glassfish.xml 2008-04-08 18:40:13 UTC (r= ev 7879) @@ -31,6 +31,7 @@ + --===============1825124078379576285==-- From seam-commits at lists.jboss.org Tue Apr 8 14:45:21 2008 Content-Type: multipart/mixed; boundary="===============4027130830183217466==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7880 - trunk/examples/jee5/booking and 1 other directory. Date: Tue, 08 Apr 2008 14:45:21 -0400 Message-ID: --===============4027130830183217466== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-08 14:45:20 -0400 (Tue, 08 Apr 2008) New Revision: 7880 Modified: branches/Seam_2_0/examples/jee5/booking/ branches/Seam_2_0/examples/jee5/booking/build.xml trunk/examples/jee5/booking/build.xml Log: JBSEAM-2833 Property changes on: branches/Seam_2_0/examples/jee5/booking ___________________________________________________________________ Name: svn:ignore + exploded-archives dist Modified: branches/Seam_2_0/examples/jee5/booking/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jee5/booking/build.xml 2008-04-08 18:40:13 U= TC (rev 7879) +++ branches/Seam_2_0/examples/jee5/booking/build.xml 2008-04-08 18:45:20 U= TC (rev 7880) @@ -39,7 +39,7 @@ - + Modified: trunk/examples/jee5/booking/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jee5/booking/build.xml 2008-04-08 18:40:13 UTC (rev 7879) +++ trunk/examples/jee5/booking/build.xml 2008-04-08 18:45:20 UTC (rev 7880) @@ -39,7 +39,7 @@ - + --===============4027130830183217466==-- From seam-commits at lists.jboss.org Tue Apr 8 21:59:10 2008 Content-Type: multipart/mixed; boundary="===============5011155518633614063==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7881 - in trunk/src/main/org/jboss/seam/security/permission: acl and 1 other directories. Date: Tue, 08 Apr 2008 21:59:10 -0400 Message-ID: --===============5011155518633614063== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-08 21:59:09 -0400 (Tue, 08 Apr 2008) New Revision: 7881 Added: trunk/src/main/org/jboss/seam/security/permission/acl/ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.java trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionResol= ver.java trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStore= .java trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionSt= ore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/ trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermiss= ion.java trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermiss= ionStore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermiss= ionResolver.java trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPerm= issionStore.java Removed: trunk/src/main/org/jboss/seam/security/permission/AccountPermission.java trunk/src/main/org/jboss/seam/security/permission/AccountPermissionStore= .java trunk/src/main/org/jboss/seam/security/permission/AclPermission.java trunk/src/main/org/jboss/seam/security/permission/AclPermissionResolver.= java trunk/src/main/org/jboss/seam/security/permission/AclPermissionStore.java trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionResol= ver.java trunk/src/main/org/jboss/seam/security/permission/JpaAccountPermissionSt= ore.java trunk/src/main/org/jboss/seam/security/permission/JpaAclPermissionStore.= java Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionManager.java trunk/src/main/org/jboss/seam/security/permission/PermissionResolver.java trunk/src/main/org/jboss/seam/security/permission/ResolverChain.java trunk/src/main/org/jboss/seam/security/permission/RuleBasedPermissionRes= olver.java Log: refactored Deleted: trunk/src/main/org/jboss/seam/security/permission/AccountPermissio= n.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AccountPermission.jav= a 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/AccountPermission.jav= a 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,22 +0,0 @@ -package org.jboss.seam.security.permission; - -/** - * Abstract base class for persistence of user/role permissions. This cla= ss should be extended - * to create a concrete JPA/Hibernate implementation. = - * = - * @author Shane Bryzak - */ -public abstract class AccountPermission -{ = - public abstract String getTarget(); - public abstract void setTarget(String target); - = - public abstract String getAction(); - public abstract void setAction(String action); - = - public abstract String getAccount(); - public abstract void setAccount(String account); - = - public abstract AccountType getAccountType(); - public abstract void setAccountType(AccountType accountType); -} Deleted: trunk/src/main/org/jboss/seam/security/permission/AccountPermissio= nStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AccountPermissionStor= e.java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/AccountPermissionStor= e.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,17 +0,0 @@ -package org.jboss.seam.security.permission; - -import java.util.List; - -/** - * Persistent store for account-based (user/role) permissions - * = - * @author Shane Bryzak - */ -public interface AccountPermissionStore -{ - List listPermissions(String target, String action); - List listPermissions(String target); - = - boolean grantPermission(String target, String action, String account, A= ccountType accountType); - boolean revokePermission(String target, String action, String account, = AccountType accountType); -} Deleted: trunk/src/main/org/jboss/seam/security/permission/AclPermission.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AclPermission.java 20= 08-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/AclPermission.java 20= 08-04-09 01:59:09 UTC (rev 7881) @@ -1,19 +0,0 @@ -package org.jboss.seam.security.permission; - -public abstract class AclPermission -{ = - public abstract String getObjectId(); - public abstract void setObjectId(String objectId); - = - public abstract String getIdentifier(); - public abstract void setIdentifier(String identifier); - = - public abstract String getAccount(); - public abstract void setAccount(String account); - = - public abstract AccountType getAccountType(); - public abstract void setAccountType(AccountType accountType); - = - public abstract long getPermissions(); - public abstract void setPermissions(long permissions); -} Deleted: trunk/src/main/org/jboss/seam/security/permission/AclPermissionRes= olver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AclPermissionResolver= .java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/AclPermissionResolver= .java 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,87 +0,0 @@ -package org.jboss.seam.security.permission; - -import static org.jboss.seam.ScopeType.APPLICATION; -import static org.jboss.seam.annotations.Install.FRAMEWORK; - -import java.io.Serializable; -import java.util.List; - -import org.jboss.seam.Component; -import org.jboss.seam.annotations.Create; -import org.jboss.seam.annotations.Install; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Startup; -import org.jboss.seam.annotations.intercept.BypassInterceptors; -import org.jboss.seam.log.LogProvider; -import org.jboss.seam.log.Logging; -import org.jboss.seam.security.Identity; - -(a)Name("org.jboss.seam.security.aclPermissionResolver") -(a)Scope(APPLICATION) -(a)BypassInterceptors -(a)Install(precedence=3DFRAMEWORK) -(a)Startup -public class AclPermissionResolver implements PermissionResolver, Serializ= able -{ - private static final String DEFAULT_PERMISSION_STORE_NAME =3D "aclPermi= ssionStore"; - = - private AclPermissionStore permissionStore; - = - private static final LogProvider log =3D Logging.getLogProvider(AclPerm= issionResolver.class); = - = - @Create - public void create() - { - initPermissionStore(); - } - = - protected void initPermissionStore() - { - if (permissionStore =3D=3D null) - { - permissionStore =3D (AclPermissionStore) Component.getInstance(DE= FAULT_PERMISSION_STORE_NAME, true); - } = - = - if (permissionStore =3D=3D null) - { - log.warn("no permission store available - please install a Permis= sionStore with the name '" + - DEFAULT_PERMISSION_STORE_NAME + "' if acl-based permissions= are required."); - } - } = - = - public boolean hasPermission(Object target, String action) - { - if (permissionStore =3D=3D null) return false; - = - List permissions =3D permissionStore.listPermissions(= target); - = - Identity identity =3D Identity.instance(); - = - if (!identity.isLoggedIn()) return false; - = - String username =3D identity.getPrincipal().getName(); - - for (AclPermission permission : permissions) - { - if ((username.equals(permission.getAccount()) && permission.getAc= countType().equals(AccountType.user)) || - (permission.getAccountType().equals(AccountType.role) && iden= tity.hasRole(permission.getAccount()))) - { - if (hasPermissionFlag(target, action, permission.getPermission= s())) - { - return true; - } - } = - } - = - return false; - } - = - protected boolean hasPermissionFlag(Object target, String action, long = permissions) - { - // TODO - = - return false; - } - -} Deleted: trunk/src/main/org/jboss/seam/security/permission/AclPermissionSto= re.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AclPermissionStore.ja= va 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/AclPermissionStore.ja= va 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,15 +0,0 @@ -package org.jboss.seam.security.permission; - -import java.util.List; - -/** - * Persistent storage for ACL (instance-based) permissions - * = - * @author Shane Bryzak - */ -public interface AclPermissionStore -{ - List listPermissions(Object target); - boolean grantPermission(Object target, String action, String account, A= ccountType accountType); - boolean revokePermission(Object target, String action, String account, = AccountType accountType); -} Deleted: trunk/src/main/org/jboss/seam/security/permission/DynamicPermissio= nResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionReso= lver.java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionReso= lver.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,103 +0,0 @@ -package org.jboss.seam.security.permission; - -import static org.jboss.seam.ScopeType.APPLICATION; -import static org.jboss.seam.annotations.Install.FRAMEWORK; - -import java.io.Serializable; -import java.util.List; - -import org.jboss.seam.Component; -import org.jboss.seam.Seam; -import org.jboss.seam.annotations.Create; -import org.jboss.seam.annotations.Install; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Startup; -import org.jboss.seam.annotations.intercept.BypassInterceptors; -import org.jboss.seam.log.LogProvider; -import org.jboss.seam.log.Logging; -import org.jboss.seam.security.Identity; - -/** - * Resolves dynamically-assigned permissions kept in a persistent store, s= uch as a = - * database. - * = - * @author Shane Bryzak - */ -(a)Name("org.jboss.seam.security.dynamicPermissionResolver") -(a)Scope(APPLICATION) -(a)BypassInterceptors -(a)Install(precedence=3DFRAMEWORK) -(a)Startup -public class DynamicPermissionResolver implements PermissionResolver, Seri= alizable -{ = - private static final String DEFAULT_PERMISSION_STORE_NAME =3D "accountP= ermissionStore"; - = - private AccountPermissionStore permissionStore; - = - private static final LogProvider log =3D Logging.getLogProvider(Dynamic= PermissionResolver.class); = - = - @Create - public void create() - { - initPermissionStore(); - } - = - protected void initPermissionStore() - { - if (permissionStore =3D=3D null) - { - permissionStore =3D (AccountPermissionStore) Component.getInstanc= e(DEFAULT_PERMISSION_STORE_NAME, true); - } = - = - if (permissionStore =3D=3D null) - { - log.warn("no permission store available - please install a Permis= sionStore with the name '" + - DEFAULT_PERMISSION_STORE_NAME + "' if dynamic permissions a= re required."); - } - } = - = - public AccountPermissionStore getPermissionStore() - { - return permissionStore; - } - = - public void setPermissionStore(AccountPermissionStore permissionStore) - { - this.permissionStore =3D permissionStore; - } - = - public boolean hasPermission(Object target, String action) - { = - if (permissionStore =3D=3D null) return false; - = - Identity identity =3D Identity.instance(); - = - if (!identity.isLoggedIn()) return false; - = - String targetName =3D Seam.getComponentName(target.getClass()); - if (targetName =3D=3D null) - { - targetName =3D target.getClass().getName(); - } - = - List permissions =3D permissionStore.listPermissi= ons(targetName, action); - = - String username =3D identity.getPrincipal().getName(); - = - for (AccountPermission permission : permissions) - { - if (username.equals(permission.getAccount()) && permission.getAcc= ountType().equals(AccountType.user)) - { - return true; - } - = - if (permission.getAccountType().equals(AccountType.role) && ident= ity.hasRole(permission.getAccount())) - { - return true; - } - } = - = - return false; - } -} Deleted: trunk/src/main/org/jboss/seam/security/permission/JpaAccountPermis= sionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/JpaAccountPermissionS= tore.java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/JpaAccountPermissionS= tore.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,122 +0,0 @@ -package org.jboss.seam.security.permission; - -import static org.jboss.seam.ScopeType.APPLICATION; - -import java.io.Serializable; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.NoResultException; - -import org.jboss.seam.Component; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.intercept.BypassInterceptors; - -/** - * A permission store implementation that uses JPA as its persistence mech= anism. - * = - * @author Shane Bryzak - */ -(a)Scope(APPLICATION) -(a)BypassInterceptors -public class JpaAccountPermissionStore implements AccountPermissionStore, = Serializable -{ - private String entityManagerName =3D "entityManager"; - = - private Class permissionClass; = - = - public boolean grantPermission(String target, String action, String acc= ount, - AccountType accountType) = - { - try - { - if (permissionClass =3D=3D null) - { - throw new RuntimeException("Could not grant permission, permis= sionClass not set"); - } - = - AccountPermission permission =3D permissionClass.newInstance(); - permission.setTarget(target); - permission.setAction(action); - permission.setAccount(account); - permission.setAccountType(accountType); - - getEntityManager().persist(permission); - = - return true; - } - catch (Exception ex) - { - throw new RuntimeException("Could not grant permission", ex); - } = - } - = - public boolean revokePermission(String target, String action, - String account, AccountType accountType) = - { - try - { - EntityManager em =3D getEntityManager(); - = - AccountPermission permission =3D (AccountPermission) em.createQue= ry( - "from " + permissionClass.getName() + - " where target =3D :target and action =3D :action and account = =3D :account " + - " and accountType =3D :accountType") - .setParameter("target", target) - .setParameter("action", "action") - .setParameter("account", account) - .setParameter("accountType", accountType) - .getSingleResult(); - = - em.remove(permission); - return true; - } - catch (NoResultException ex) - { - return false; - } - } = - - public List listPermissions(String target, String ac= tion) = - { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + = - " where target =3D :target and action =3D :action") - .setParameter("target", target) - .setParameter("action", action) - .getResultList(); - } - - public List listPermissions(String target) = - { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + " where target =3D :targ= et") - .setParameter("target", target) - .getResultList(); - } - - private EntityManager getEntityManager() - { - return (EntityManager) Component.getInstance(entityManagerName); - } - = - public String getEntityManagerName() - { - return entityManagerName; - } - = - public void setEntityManagerName(String name) - { - this.entityManagerName =3D name; - } = - = - public Class getPermissionClass() - { - return permissionClass; - } - = - public void setPermissionClass(Class permissionClass) - { - this.permissionClass =3D permissionClass; - } -} Deleted: trunk/src/main/org/jboss/seam/security/permission/JpaAclPermission= Store.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/JpaAclPermissionStore= .java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/JpaAclPermissionStore= .java 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,54 +0,0 @@ -package org.jboss.seam.security.permission; - -import java.io.Serializable; -import java.util.List; - -public class JpaAclPermissionStore implements AclPermissionStore, Serializ= able -{ - private String entityManagerName =3D "entityManager"; - = - private Class permissionClass; = - = - protected String getIdentifier(Object target) - { - return null; - } - = - public boolean grantPermission(Object target, String action, String acc= ount, AccountType accountType) - { - // TODO Auto-generated method stub - return false; - } - - public List listPermissions(Object target) - { - // TODO Auto-generated method stub - return null; - } - - public boolean revokePermission(Object target, String action, String ac= count, AccountType accountType) - { - // TODO Auto-generated method stub - return false; - } - - public String getEntityManagerName() - { - return entityManagerName; - } - = - public void setEntityManagerName(String entityManagerName) - { - this.entityManagerName =3D entityManagerName; - } - = - public Class getPermissionClass() - { - return permissionClass; - } - = - public void setPermissionClass(Class permissionClass) - { - this.permissionClass =3D permissionClass; - } -} Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionManag= er.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-09 01:59:09 UTC (rev 7881) @@ -16,7 +16,17 @@ import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.security.Identity; +import org.jboss.seam.security.permission.acl.AclPermission; +import org.jboss.seam.security.permission.acl.AclPermissionStore; +import org.jboss.seam.security.permission.dynamic.AccountPermission; +import org.jboss.seam.security.permission.dynamic.AccountPermissionStore; = +/** + * Permission management component, used to grant or revoke permissions on= specific objects or of + * specific permission types to particular users or roles. + * = + * @author Shane Bryzak + */ @Scope(APPLICATION) @Name("org.jboss.seam.security.permissionManager") @Install(precedence =3D BUILT_IN) Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionResol= ver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionResolver.ja= va 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionResolver.ja= va 2008-04-09 01:59:09 UTC (rev 7881) @@ -1,5 +1,10 @@ package org.jboss.seam.security.permission; = +/** + * Implementations of this interface perform permission checks using a var= iety of methods. + * = + * @author Shane Bryzak + */ public interface PermissionResolver { boolean hasPermission(Object target, String action); Modified: trunk/src/main/org/jboss/seam/security/permission/ResolverChain.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/ResolverChain.java 20= 08-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/ResolverChain.java 20= 08-04-09 01:59:09 UTC (rev 7881) @@ -9,6 +9,12 @@ import org.jboss.seam.annotations.Scope; import org.jboss.seam.annotations.intercept.BypassInterceptors; = +/** + * A chain of permission resolvers. Specific permission checks are genera= lly mapped to a = + * particular ResolverChain for resolution. = + * = + * @author Shane Bryzak + */ @Scope(SESSION) @BypassInterceptors public class ResolverChain implements Serializable Modified: trunk/src/main/org/jboss/seam/security/permission/RuleBasedPermis= sionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/RuleBasedPermissionRe= solver.java 2008-04-08 18:45:20 UTC (rev 7880) +++ trunk/src/main/org/jboss/seam/security/permission/RuleBasedPermissionRe= solver.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -32,6 +32,11 @@ import org.jboss.seam.security.Role; import org.jboss.seam.security.management.JpaIdentityStore; = +/** + * A permission resolver that uses a Drools rule base to perform permissio= n checks + * = + * @author Shane Bryzak + */ @Name("org.jboss.seam.security.ruleBasedPermissionResolver") @Scope(SESSION) @BypassInterceptors Added: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.jav= a (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.jav= a 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,21 @@ +package org.jboss.seam.security.permission.acl; + +import org.jboss.seam.security.permission.AccountType; + +public abstract class AclPermission +{ = + public abstract String getObjectId(); + public abstract void setObjectId(String objectId); + = + public abstract String getIdentifier(); + public abstract void setIdentifier(String identifier); + = + public abstract String getAccount(); + public abstract void setAccount(String account); + = + public abstract AccountType getAccountType(); + public abstract void setAccountType(AccountType accountType); + = + public abstract long getPermissions(); + public abstract void setPermissions(long permissions); +} Added: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionR= esolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionReso= lver.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionReso= lver.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,89 @@ +package org.jboss.seam.security.permission.acl; + +import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.FRAMEWORK; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.Component; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Startup; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Identity; +import org.jboss.seam.security.permission.AccountType; +import org.jboss.seam.security.permission.PermissionResolver; + +(a)Name("org.jboss.seam.security.aclPermissionResolver") +(a)Scope(APPLICATION) +(a)BypassInterceptors +(a)Install(precedence=3DFRAMEWORK) +(a)Startup +public class AclPermissionResolver implements PermissionResolver, Serializ= able +{ + private static final String DEFAULT_PERMISSION_STORE_NAME =3D "aclPermi= ssionStore"; + = + private AclPermissionStore permissionStore; + = + private static final LogProvider log =3D Logging.getLogProvider(AclPerm= issionResolver.class); = + = + @Create + public void create() + { + initPermissionStore(); + } + = + protected void initPermissionStore() + { + if (permissionStore =3D=3D null) + { + permissionStore =3D (AclPermissionStore) Component.getInstance(DE= FAULT_PERMISSION_STORE_NAME, true); + } = + = + if (permissionStore =3D=3D null) + { + log.warn("no permission store available - please install a Permis= sionStore with the name '" + + DEFAULT_PERMISSION_STORE_NAME + "' if acl-based permissions= are required."); + } + } = + = + public boolean hasPermission(Object target, String action) + { + if (permissionStore =3D=3D null) return false; + = + List permissions =3D permissionStore.listPermissions(= target); + = + Identity identity =3D Identity.instance(); + = + if (!identity.isLoggedIn()) return false; + = + String username =3D identity.getPrincipal().getName(); + + for (AclPermission permission : permissions) + { + if ((username.equals(permission.getAccount()) && permission.getAc= countType().equals(AccountType.user)) || + (permission.getAccountType().equals(AccountType.role) && iden= tity.hasRole(permission.getAccount()))) + { + if (hasPermissionFlag(target, action, permission.getPermission= s())) + { + return true; + } + } = + } + = + return false; + } + = + protected boolean hasPermissionFlag(Object target, String action, long = permissions) + { + // TODO + = + return false; + } + +} Added: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionS= tore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStor= e.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStor= e.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,17 @@ +package org.jboss.seam.security.permission.acl; + +import java.util.List; + +import org.jboss.seam.security.permission.AccountType; + +/** + * Persistent storage for ACL (instance-based) permissions + * = + * @author Shane Bryzak + */ +public interface AclPermissionStore +{ + List listPermissions(Object target); + boolean grantPermission(Object target, String action, String account, A= ccountType accountType); + boolean revokePermission(Object target, String action, String account, = AccountType accountType); +} Added: trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissi= onStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,56 @@ +package org.jboss.seam.security.permission.acl; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.security.permission.AccountType; + +public class JpaAclPermissionStore implements AclPermissionStore, Serializ= able +{ + private String entityManagerName =3D "entityManager"; + = + private Class permissionClass; = + = + protected String getIdentifier(Object target) + { + return null; + } + = + public boolean grantPermission(Object target, String action, String acc= ount, AccountType accountType) + { + // TODO Auto-generated method stub + return false; + } + + public List listPermissions(Object target) + { + // TODO Auto-generated method stub + return null; + } + + public boolean revokePermission(Object target, String action, String ac= count, AccountType accountType) + { + // TODO Auto-generated method stub + return false; + } + + public String getEntityManagerName() + { + return entityManagerName; + } + = + public void setEntityManagerName(String entityManagerName) + { + this.entityManagerName =3D entityManagerName; + } + = + public Class getPermissionClass() + { + return permissionClass; + } + = + public void setPermissionClass(Class permissionClass) + { + this.permissionClass =3D permissionClass; + } +} Added: trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPer= mission.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sion.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sion.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,24 @@ +package org.jboss.seam.security.permission.dynamic; + +import org.jboss.seam.security.permission.AccountType; + +/** + * Abstract base class for persistence of user/role permissions. This cla= ss should be extended + * to create a concrete JPA/Hibernate implementation. = + * = + * @author Shane Bryzak + */ +public abstract class AccountPermission +{ = + public abstract String getTarget(); + public abstract void setTarget(String target); + = + public abstract String getAction(); + public abstract void setAction(String action); + = + public abstract String getAccount(); + public abstract void setAccount(String account); + = + public abstract AccountType getAccountType(); + public abstract void setAccountType(AccountType accountType); +} Added: trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPer= missionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sionStore.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sionStore.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,19 @@ +package org.jboss.seam.security.permission.dynamic; + +import java.util.List; + +import org.jboss.seam.security.permission.AccountType; + +/** + * Persistent store for account-based (user/role) permissions + * = + * @author Shane Bryzak + */ +public interface AccountPermissionStore +{ + List listPermissions(String target, String action); + List listPermissions(String target); + = + boolean grantPermission(String target, String action, String account, A= ccountType accountType); + boolean revokePermission(String target, String action, String account, = AccountType accountType); +} Added: trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPer= missionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,105 @@ +package org.jboss.seam.security.permission.dynamic; + +import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.FRAMEWORK; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.Component; +import org.jboss.seam.Seam; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Startup; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Identity; +import org.jboss.seam.security.permission.AccountType; +import org.jboss.seam.security.permission.PermissionResolver; + +/** + * Resolves dynamically-assigned permissions kept in a persistent store, s= uch as a = + * database. + * = + * @author Shane Bryzak + */ +(a)Name("org.jboss.seam.security.dynamicPermissionResolver") +(a)Scope(APPLICATION) +(a)BypassInterceptors +(a)Install(precedence=3DFRAMEWORK) +(a)Startup +public class DynamicPermissionResolver implements PermissionResolver, Seri= alizable +{ = + private static final String DEFAULT_PERMISSION_STORE_NAME =3D "accountP= ermissionStore"; + = + private AccountPermissionStore permissionStore; + = + private static final LogProvider log =3D Logging.getLogProvider(Dynamic= PermissionResolver.class); = + = + @Create + public void create() + { + initPermissionStore(); + } + = + protected void initPermissionStore() + { + if (permissionStore =3D=3D null) + { + permissionStore =3D (AccountPermissionStore) Component.getInstanc= e(DEFAULT_PERMISSION_STORE_NAME, true); + } = + = + if (permissionStore =3D=3D null) + { + log.warn("no permission store available - please install a Permis= sionStore with the name '" + + DEFAULT_PERMISSION_STORE_NAME + "' if dynamic permissions a= re required."); + } + } = + = + public AccountPermissionStore getPermissionStore() + { + return permissionStore; + } + = + public void setPermissionStore(AccountPermissionStore permissionStore) + { + this.permissionStore =3D permissionStore; + } + = + public boolean hasPermission(Object target, String action) + { = + if (permissionStore =3D=3D null) return false; + = + Identity identity =3D Identity.instance(); + = + if (!identity.isLoggedIn()) return false; + = + String targetName =3D Seam.getComponentName(target.getClass()); + if (targetName =3D=3D null) + { + targetName =3D target.getClass().getName(); + } + = + List permissions =3D permissionStore.listPermissi= ons(targetName, action); + = + String username =3D identity.getPrincipal().getName(); + = + for (AccountPermission permission : permissions) + { + if (username.equals(permission.getAccount()) && permission.getAcc= ountType().equals(AccountType.user)) + { + return true; + } + = + if (permission.getAccountType().equals(AccountType.role) && ident= ity.hasRole(permission.getAccount())) + { + return true; + } + } = + = + return false; + } +} Added: trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccount= PermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPer= missionStore.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPer= missionStore.java 2008-04-09 01:59:09 UTC (rev 7881) @@ -0,0 +1,123 @@ +package org.jboss.seam.security.permission.dynamic; + +import static org.jboss.seam.ScopeType.APPLICATION; + +import java.io.Serializable; +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; + +import org.jboss.seam.Component; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.security.permission.AccountType; + +/** + * A permission store implementation that uses JPA as its persistence mech= anism. + * = + * @author Shane Bryzak + */ +(a)Scope(APPLICATION) +(a)BypassInterceptors +public class JpaAccountPermissionStore implements AccountPermissionStore, = Serializable +{ + private String entityManagerName =3D "entityManager"; + = + private Class permissionClass; = + = + public boolean grantPermission(String target, String action, String acc= ount, + AccountType accountType) = + { + try + { + if (permissionClass =3D=3D null) + { + throw new RuntimeException("Could not grant permission, permis= sionClass not set"); + } + = + AccountPermission permission =3D permissionClass.newInstance(); + permission.setTarget(target); + permission.setAction(action); + permission.setAccount(account); + permission.setAccountType(accountType); + + getEntityManager().persist(permission); + = + return true; + } + catch (Exception ex) + { + throw new RuntimeException("Could not grant permission", ex); + } = + } + = + public boolean revokePermission(String target, String action, + String account, AccountType accountType) = + { + try + { + EntityManager em =3D getEntityManager(); + = + AccountPermission permission =3D (AccountPermission) em.createQue= ry( + "from " + permissionClass.getName() + + " where target =3D :target and action =3D :action and account = =3D :account " + + " and accountType =3D :accountType") + .setParameter("target", target) + .setParameter("action", "action") + .setParameter("account", account) + .setParameter("accountType", accountType) + .getSingleResult(); + = + em.remove(permission); + return true; + } + catch (NoResultException ex) + { + return false; + } + } = + + public List listPermissions(String target, String ac= tion) = + { + return getEntityManager().createQuery( + "from " + permissionClass.getName() + = + " where target =3D :target and action =3D :action") + .setParameter("target", target) + .setParameter("action", action) + .getResultList(); + } + + public List listPermissions(String target) = + { + return getEntityManager().createQuery( + "from " + permissionClass.getName() + " where target =3D :targ= et") + .setParameter("target", target) + .getResultList(); + } + + private EntityManager getEntityManager() + { + return (EntityManager) Component.getInstance(entityManagerName); + } + = + public String getEntityManagerName() + { + return entityManagerName; + } + = + public void setEntityManagerName(String name) + { + this.entityManagerName =3D name; + } = + = + public Class getPermissionClass() + { + return permissionClass; + } + = + public void setPermissionClass(Class permissionClass) + { + this.permissionClass =3D permissionClass; + } +} --===============5011155518633614063==-- From seam-commits at lists.jboss.org Wed Apr 9 00:53:19 2008 Content-Type: multipart/mixed; boundary="===============6945372149992735758==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7882 - in trunk/src/main/org/jboss/seam/security: permission and 2 other directories. Date: Wed, 09 Apr 2008 00:53:19 -0400 Message-ID: --===============6945372149992735758== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-09 00:53:19 -0400 (Wed, 09 Apr 2008) New Revision: 7882 Added: trunk/src/main/org/jboss/seam/security/permission/Permission.java trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPerm= issionStore.java Removed: trunk/src/main/org/jboss/seam/security/permission/AccountType.java trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.java trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStore= .java trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermiss= ion.java trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermiss= ionStore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPerm= issionStore.java Modified: trunk/src/main/org/jboss/seam/security/Identity.java trunk/src/main/org/jboss/seam/security/Role.java trunk/src/main/org/jboss/seam/security/SimplePrincipal.java trunk/src/main/org/jboss/seam/security/permission/PermissionManager.java trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionResol= ver.java trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionSt= ore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermiss= ionResolver.java Log: more refactoring Modified: trunk/src/main/org/jboss/seam/security/Identity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/Identity.java 2008-04-09 01:59:0= 9 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/Identity.java 2008-04-09 04:53:1= 9 UTC (rev 7882) @@ -395,7 +395,7 @@ { if ( ROLES_GROUP.equals( sg.getName() ) ) { - return sg.isMember( new SimplePrincipal(role) ); + return sg.isMember( new Role(role) ); } } return false; @@ -424,12 +424,12 @@ { if ( ROLES_GROUP.equals( sg.getName() ) ) { - return sg.addMember(new SimplePrincipal(role)); + return sg.addMember(new Role(role)); } } = SimpleGroup roleGroup =3D new SimpleGroup(ROLES_GROUP); - roleGroup.addMember(new SimplePrincipal(role)); + roleGroup.addMember(new Role(role)); getSubject().getPrincipals().add(roleGroup); return true; } Modified: trunk/src/main/org/jboss/seam/security/Role.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/Role.java 2008-04-09 01:59:09 UT= C (rev 7881) +++ trunk/src/main/org/jboss/seam/security/Role.java 2008-04-09 04:53:19 UT= C (rev 7882) @@ -1,23 +1,14 @@ package org.jboss.seam.security; = -import java.io.Serializable; - /** - * Represents a user role exclusively within the scope of security rules. + * Represents a user role * = * @author Shane Bryzak */ -public class Role implements Serializable -{ - private String name; - = +public class Role extends SimplePrincipal +{ = public Role(String name) { - this.name =3D name; - } - = - public String getName() - { - return name; - } + super(name); + } = } Modified: trunk/src/main/org/jboss/seam/security/SimplePrincipal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/SimplePrincipal.java 2008-04-09 = 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/SimplePrincipal.java 2008-04-09 = 04:53:19 UTC (rev 7882) @@ -43,7 +43,7 @@ @Override public int hashCode() { - return name=3D=3Dnull ? 0 : name.hashCode(); + return name !=3D null ? name.hashCode() : super.hashCode(); } = @Override Deleted: trunk/src/main/org/jboss/seam/security/permission/AccountType.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/AccountType.java 2008= -04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/AccountType.java 2008= -04-09 04:53:19 UTC (rev 7882) @@ -1,7 +0,0 @@ -package org.jboss.seam.security.permission; - -public enum AccountType -{ - user, - role -} Added: trunk/src/main/org/jboss/seam/security/permission/Permission.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/Permission.java = (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/Permission.java 2008-= 04-09 04:53:19 UTC (rev 7882) @@ -0,0 +1,46 @@ +package org.jboss.seam.security.permission; + +import java.io.Serializable; +import java.security.Principal; + +/** + * Base class for permissions + * = + * @author Shane Bryzak + */ +public class Permission implements Serializable +{ + private Object target; + private String action; + private Principal recipient; + = + public Object getTarget() + { + return target; + } + = + public void setTarget(Object target) + { + this.target =3D target; + } + = + public String getAction() + { + return action; + } + = + public void setAction(String action) + { + this.action =3D action; + } + = + public Principal getRecipient() + { + return recipient; + } + = + public void setRecipient(Principal recipient) + { + this.recipient =3D recipient; + } +} Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionManag= er.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-09 04:53:19 UTC (rev 7882) @@ -16,10 +16,7 @@ import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.security.Identity; -import org.jboss.seam.security.permission.acl.AclPermission; -import org.jboss.seam.security.permission.acl.AclPermissionStore; -import org.jboss.seam.security.permission.dynamic.AccountPermission; -import org.jboss.seam.security.permission.dynamic.AccountPermissionStore; +import org.jboss.seam.security.permission.PermissionStore; = /** * Permission management component, used to grant or revoke permissions on= specific objects or of @@ -43,19 +40,19 @@ = private static final LogProvider log =3D Logging.getLogProvider(Permiss= ionManager.class); = - private AccountPermissionStore accountPermissionStore; + private PermissionStore dynamicPermissionStore; = - private AclPermissionStore aclPermissionStore; + private PermissionStore aclPermissionStore; = @Create public void create() { - if (accountPermissionStore =3D=3D null) + if (dynamicPermissionStore =3D=3D null) { - accountPermissionStore =3D (AccountPermissionStore) Component.get= Instance(ACCOUNT_PERMISSION_STORE_COMPONENT_NAME, true); + dynamicPermissionStore =3D (PermissionStore) Component.getInstanc= e(ACCOUNT_PERMISSION_STORE_COMPONENT_NAME, true); } = = - if (accountPermissionStore =3D=3D null) + if (dynamicPermissionStore =3D=3D null) { log.warn("no account permission store available - please install = an AccountPermissionStore with the name '" + ACCOUNT_PERMISSION_STORE_COMPONENT_NAME + "' if account-bas= ed permission management is required."); @@ -63,7 +60,7 @@ = if (aclPermissionStore =3D=3D null) { - aclPermissionStore =3D (AclPermissionStore) Component.getInstance= (ACL_PERMISSION_STORE_COMPONENT_NAME); + aclPermissionStore =3D (PermissionStore) Component.getInstance(AC= L_PERMISSION_STORE_COMPONENT_NAME); } = if (aclPermissionStore =3D=3D null) @@ -91,55 +88,59 @@ return instance; } = - public AccountPermissionStore getAccountPermissionStore() + public PermissionStore getDynamicPermissionStore() { - return accountPermissionStore; + return dynamicPermissionStore; } = - public void setAccountPermissionStore(AccountPermissionStore accountPer= missionStore) + public void setDynamicPermissionStore(PermissionStore dynamicPermission= Store) { - this.accountPermissionStore =3D accountPermissionStore; + this.dynamicPermissionStore =3D dynamicPermissionStore; } = - public List listPermissions(String target, String ac= tion) + public List listPermissions(String target, String action) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); - return accountPermissionStore.listPermissions(target, action); + return dynamicPermissionStore.listPermissions(target, action); } = - public List listPermissions(String target) + public List listPermissions(String target) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); - return accountPermissionStore.listPermissions(target); + return dynamicPermissionStore.listPermissions(target); } = - public List listPermissions(Object target) + public List listPermissions(Object target) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); return aclPermissionStore.listPermissions(target); } = - public boolean grantPermission(String target, String action, String acc= ount, AccountType accountType) + public boolean grantPermission(Permission permission) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_GRANT); - return accountPermissionStore.grantPermission(target, action, accoun= t, accountType); + = + if (permission.getTarget() instanceof String) + { + return dynamicPermissionStore.grantPermission(permission); + } + else + { + return aclPermissionStore.grantPermission(permission); + } } = - public boolean grantPermission(Object target, String action, String acc= ount, AccountType accountType) + public boolean revokePermission(Permission permission) { - Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_GRANT); - return aclPermissionStore.grantPermission(target, action, account, a= ccountType); - } - = - public boolean revokePermission(String target, String action, String ac= count, AccountType accountType) - { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_REVOKE); - return accountPermissionStore.revokePermission(target, action, accou= nt, accountType); + = + if (permission.getTarget() instanceof String) + { + return dynamicPermissionStore.revokePermission(permission); + } + else + { + return aclPermissionStore.revokePermission(permission); + } } - = - public boolean revokePermission(Object target, String action, String ac= count, AccountType accountType) - { - Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_REVOKE); - return aclPermissionStore.revokePermission(target, action, account, = accountType); - } } Added: trunk/src/main/org/jboss/seam/security/permission/PermissionStore.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = 2008-04-09 04:53:19 UTC (rev 7882) @@ -0,0 +1,16 @@ +package org.jboss.seam.security.permission; + +import java.util.List; + +/** + * Permission store interface. + * = + * @author Shane Bryzak + */ +public interface PermissionStore +{ + List listPermissions(Object target); + List listPermissions(Object target, String action); + boolean grantPermission(Permission permission); + boolean revokePermission(Permission permission); +} Deleted: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissio= n.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.jav= a 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermission.jav= a 2008-04-09 04:53:19 UTC (rev 7882) @@ -1,21 +0,0 @@ -package org.jboss.seam.security.permission.acl; - -import org.jboss.seam.security.permission.AccountType; - -public abstract class AclPermission -{ = - public abstract String getObjectId(); - public abstract void setObjectId(String objectId); - = - public abstract String getIdentifier(); - public abstract void setIdentifier(String identifier); - = - public abstract String getAccount(); - public abstract void setAccount(String account); - = - public abstract AccountType getAccountType(); - public abstract void setAccountType(AccountType accountType); - = - public abstract long getPermissions(); - public abstract void setPermissions(long permissions); -} Modified: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissi= onResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionReso= lver.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionReso= lver.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -16,7 +16,8 @@ import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.security.Identity; -import org.jboss.seam.security.permission.AccountType; +import org.jboss.seam.security.permission.Permission; +import org.jboss.seam.security.permission.PermissionStore; import org.jboss.seam.security.permission.PermissionResolver; = @Name("org.jboss.seam.security.aclPermissionResolver") @@ -28,7 +29,7 @@ { private static final String DEFAULT_PERMISSION_STORE_NAME =3D "aclPermi= ssionStore"; = - private AclPermissionStore permissionStore; + private PermissionStore permissionStore; = private static final LogProvider log =3D Logging.getLogProvider(AclPerm= issionResolver.class); = = @@ -42,7 +43,7 @@ { if (permissionStore =3D=3D null) { - permissionStore =3D (AclPermissionStore) Component.getInstance(DE= FAULT_PERMISSION_STORE_NAME, true); + permissionStore =3D (PermissionStore) Component.getInstance(DEFAU= LT_PERMISSION_STORE_NAME, true); } = = if (permissionStore =3D=3D null) @@ -56,7 +57,7 @@ { if (permissionStore =3D=3D null) return false; = - List permissions =3D permissionStore.listPermissions(= target); + List permissions =3D permissionStore.listPermissions(tar= get); = Identity identity =3D Identity.instance(); = @@ -64,15 +65,15 @@ = String username =3D identity.getPrincipal().getName(); = - for (AclPermission permission : permissions) + for (Permission permission : permissions) { - if ((username.equals(permission.getAccount()) && permission.getAc= countType().equals(AccountType.user)) || - (permission.getAccountType().equals(AccountType.role) && iden= tity.hasRole(permission.getAccount()))) + if ((username.equals(permission.getRecipient())) || + (identity.hasRole(permission.getRecipient().getName()))) { - if (hasPermissionFlag(target, action, permission.getPermission= s())) - { - return true; - } +// if (hasPermissionFlag(target, action, permission.getPermissi= ons())) +// { +// return true; +// } } = } = Deleted: trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissio= nStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStor= e.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/acl/AclPermissionStor= e.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -1,17 +0,0 @@ -package org.jboss.seam.security.permission.acl; - -import java.util.List; - -import org.jboss.seam.security.permission.AccountType; - -/** - * Persistent storage for ACL (instance-based) permissions - * = - * @author Shane Bryzak - */ -public interface AclPermissionStore -{ - List listPermissions(Object target); - boolean grantPermission(Object target, String action, String account, A= ccountType accountType); - boolean revokePermission(Object target, String action, String account, = AccountType accountType); -} Modified: trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermi= ssionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -3,32 +3,43 @@ import java.io.Serializable; import java.util.List; = -import org.jboss.seam.security.permission.AccountType; +import org.jboss.seam.security.permission.Permission; +import org.jboss.seam.security.permission.PermissionStore; = -public class JpaAclPermissionStore implements AclPermissionStore, Serializ= able +/** + * ACL permission storage, using JPA + * = + * @author Shane Bryzak + */ +public class JpaAclPermissionStore implements PermissionStore, Serializable { private String entityManagerName =3D "entityManager"; = - private Class permissionClass; = + private Class permissionClass; = = protected String getIdentifier(Object target) { return null; } = - public boolean grantPermission(Object target, String action, String acc= ount, AccountType accountType) + public boolean grantPermission(Permission permission) { // TODO Auto-generated method stub return false; } = - public List listPermissions(Object target) + public List listPermissions(Object target) { // TODO Auto-generated method stub return null; } + = + public List listPermissions(Object target, String action) + { + return null; + } = - public boolean revokePermission(Object target, String action, String ac= count, AccountType accountType) + public boolean revokePermission(Permission permission) { // TODO Auto-generated method stub return false; Deleted: trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountP= ermission.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sion.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sion.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -1,24 +0,0 @@ -package org.jboss.seam.security.permission.dynamic; - -import org.jboss.seam.security.permission.AccountType; - -/** - * Abstract base class for persistence of user/role permissions. This cla= ss should be extended - * to create a concrete JPA/Hibernate implementation. = - * = - * @author Shane Bryzak - */ -public abstract class AccountPermission -{ = - public abstract String getTarget(); - public abstract void setTarget(String target); - = - public abstract String getAction(); - public abstract void setAction(String action); - = - public abstract String getAccount(); - public abstract void setAccount(String account); - = - public abstract AccountType getAccountType(); - public abstract void setAccountType(AccountType accountType); -} Deleted: trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountP= ermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sionStore.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/AccountPermis= sionStore.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -1,19 +0,0 @@ -package org.jboss.seam.security.permission.dynamic; - -import java.util.List; - -import org.jboss.seam.security.permission.AccountType; - -/** - * Persistent store for account-based (user/role) permissions - * = - * @author Shane Bryzak - */ -public interface AccountPermissionStore -{ - List listPermissions(String target, String action); - List listPermissions(String target); - = - boolean grantPermission(String target, String action, String account, A= ccountType accountType); - boolean revokePermission(String target, String action, String account, = AccountType accountType); -} Modified: trunk/src/main/org/jboss/seam/security/permission/dynamic/Dynamic= PermissionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -17,12 +17,13 @@ import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.security.Identity; -import org.jboss.seam.security.permission.AccountType; +import org.jboss.seam.security.permission.Permission; import org.jboss.seam.security.permission.PermissionResolver; +import org.jboss.seam.security.permission.PermissionStore; = /** - * Resolves dynamically-assigned permissions kept in a persistent store, s= uch as a = - * database. + * Resolves dynamically-assigned permissions, mapped to a user or a role, = and kept in persistent = + * storage, such as a relational database. * = * @author Shane Bryzak */ @@ -35,7 +36,7 @@ { = private static final String DEFAULT_PERMISSION_STORE_NAME =3D "accountP= ermissionStore"; = - private AccountPermissionStore permissionStore; + private PermissionStore permissionStore; = private static final LogProvider log =3D Logging.getLogProvider(Dynamic= PermissionResolver.class); = = @@ -49,7 +50,7 @@ { if (permissionStore =3D=3D null) { - permissionStore =3D (AccountPermissionStore) Component.getInstanc= e(DEFAULT_PERMISSION_STORE_NAME, true); + permissionStore =3D (PermissionStore) Component.getInstance(DEFAU= LT_PERMISSION_STORE_NAME, true); } = = if (permissionStore =3D=3D null) @@ -59,12 +60,12 @@ } } = = - public AccountPermissionStore getPermissionStore() + public PermissionStore getPermissionStore() { return permissionStore; } = - public void setPermissionStore(AccountPermissionStore permissionStore) + public void setPermissionStore(PermissionStore permissionStore) { this.permissionStore =3D permissionStore; } @@ -83,18 +84,18 @@ targetName =3D target.getClass().getName(); } = - List permissions =3D permissionStore.listPermissi= ons(targetName, action); + List permissions =3D permissionStore.listPermissions(tar= getName, action); = String username =3D identity.getPrincipal().getName(); = - for (AccountPermission permission : permissions) + for (Permission permission : permissions) { - if (username.equals(permission.getAccount()) && permission.getAcc= ountType().equals(AccountType.user)) + if (username.equals(permission.getRecipient())) { return true; } = - if (permission.getAccountType().equals(AccountType.role) && ident= ity.hasRole(permission.getAccount())) + if (identity.hasRole(permission.getRecipient().getName())) { return true; } Deleted: trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccou= ntPermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPer= missionStore.java 2008-04-09 01:59:09 UTC (rev 7881) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaAccountPer= missionStore.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -1,123 +0,0 @@ -package org.jboss.seam.security.permission.dynamic; - -import static org.jboss.seam.ScopeType.APPLICATION; - -import java.io.Serializable; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.NoResultException; - -import org.jboss.seam.Component; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.intercept.BypassInterceptors; -import org.jboss.seam.security.permission.AccountType; - -/** - * A permission store implementation that uses JPA as its persistence mech= anism. - * = - * @author Shane Bryzak - */ -(a)Scope(APPLICATION) -(a)BypassInterceptors -public class JpaAccountPermissionStore implements AccountPermissionStore, = Serializable -{ - private String entityManagerName =3D "entityManager"; - = - private Class permissionClass; = - = - public boolean grantPermission(String target, String action, String acc= ount, - AccountType accountType) = - { - try - { - if (permissionClass =3D=3D null) - { - throw new RuntimeException("Could not grant permission, permis= sionClass not set"); - } - = - AccountPermission permission =3D permissionClass.newInstance(); - permission.setTarget(target); - permission.setAction(action); - permission.setAccount(account); - permission.setAccountType(accountType); - - getEntityManager().persist(permission); - = - return true; - } - catch (Exception ex) - { - throw new RuntimeException("Could not grant permission", ex); - } = - } - = - public boolean revokePermission(String target, String action, - String account, AccountType accountType) = - { - try - { - EntityManager em =3D getEntityManager(); - = - AccountPermission permission =3D (AccountPermission) em.createQue= ry( - "from " + permissionClass.getName() + - " where target =3D :target and action =3D :action and account = =3D :account " + - " and accountType =3D :accountType") - .setParameter("target", target) - .setParameter("action", "action") - .setParameter("account", account) - .setParameter("accountType", accountType) - .getSingleResult(); - = - em.remove(permission); - return true; - } - catch (NoResultException ex) - { - return false; - } - } = - - public List listPermissions(String target, String ac= tion) = - { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + = - " where target =3D :target and action =3D :action") - .setParameter("target", target) - .setParameter("action", action) - .getResultList(); - } - - public List listPermissions(String target) = - { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + " where target =3D :targ= et") - .setParameter("target", target) - .getResultList(); - } - - private EntityManager getEntityManager() - { - return (EntityManager) Component.getInstance(entityManagerName); - } - = - public String getEntityManagerName() - { - return entityManagerName; - } - = - public void setEntityManagerName(String name) - { - this.entityManagerName =3D name; - } = - = - public Class getPermissionClass() - { - return permissionClass; - } - = - public void setPermissionClass(Class permissionClass) - { - this.permissionClass =3D permissionClass; - } -} Added: trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamic= PermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java 2008-04-09 04:53:19 UTC (rev 7882) @@ -0,0 +1,120 @@ +package org.jboss.seam.security.permission.dynamic; + +import static org.jboss.seam.ScopeType.APPLICATION; + +import java.io.Serializable; +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; + +import org.jboss.seam.Component; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.security.permission.Permission; +import org.jboss.seam.security.permission.PermissionStore; + +/** + * A permission store implementation that uses JPA as its persistence mech= anism. + * = + * @author Shane Bryzak + */ +(a)Scope(APPLICATION) +(a)BypassInterceptors +public class JpaDynamicPermissionStore implements PermissionStore, Seriali= zable +{ + private String entityManagerName =3D "entityManager"; + = + private Class permissionClass; = + = + public boolean grantPermission(Permission permission) + { + try + { + if (permissionClass =3D=3D null) + { + throw new RuntimeException("Could not grant permission, permis= sionClass not set"); + } + = + Object instance =3D permissionClass.newInstance(); +// instance.setTarget(permission.getTarget()); +// instance.setAction(permission.getAction()); +// instance.setAccount(permission.getRecipient()); + + getEntityManager().persist(instance); + = + return true; + } + catch (Exception ex) + { + throw new RuntimeException("Could not grant permission", ex); + } = + } + = + public boolean revokePermission(Permission permission) + { + try + { + EntityManager em =3D getEntityManager(); + = + Object instance =3D em.createQuery( + "from " + permissionClass.getName() + + " where target =3D :target and action =3D :action and account = =3D :account " + + " and accountType =3D :accountType") + .setParameter("target", permission.getTarget()) + .setParameter("action", "action") + .setParameter("account", permission.getRecipient()) + .getSingleResult(); + = + em.remove(instance); + return true; + } + catch (NoResultException ex) + { + return false; + } + } = + + public List listPermissions(Object target, String action) = + { + return getEntityManager().createQuery( + "from " + permissionClass.getName() + = + " where target =3D :target and action =3D :action") + .setParameter("target", target) + .setParameter("action", action) + .getResultList(); + } + + public List listPermissions(Object target) = + { + return getEntityManager().createQuery( + "from " + permissionClass.getName() + " where target =3D :targ= et") + .setParameter("target", target) + .getResultList(); + } + + private EntityManager getEntityManager() + { + return (EntityManager) Component.getInstance(entityManagerName); + } + = + public String getEntityManagerName() + { + return entityManagerName; + } + = + public void setEntityManagerName(String name) + { + this.entityManagerName =3D name; + } = + = + public Class getPermissionClass() + { + return permissionClass; + } + = + public void setPermissionClass(Class permissionClass) + { + this.permissionClass =3D permissionClass; + } +} --===============6945372149992735758==-- From seam-commits at lists.jboss.org Wed Apr 9 05:16:03 2008 Content-Type: multipart/mixed; boundary="===============4666947514319052102==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7883 - trunk/src/main/org/jboss/seam/security/management/action. Date: Wed, 09 Apr 2008 05:16:03 -0400 Message-ID: --===============4666947514319052102== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-09 05:16:02 -0400 (Wed, 09 Apr 2008) New Revision: 7883 Modified: trunk/src/main/org/jboss/seam/security/management/action/UserSearch.java Log: fix wiki Modified: trunk/src/main/org/jboss/seam/security/management/action/UserSear= ch.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-09 04:53:19 UTC (rev 7882) +++ trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-09 09:16:02 UTC (rev 7883) @@ -14,7 +14,7 @@ = import org.jboss.seam.security.management.IdentityManager; = -(a)Name("userSearch") +//@Name("userSearch") @Scope(SESSION) @Synchronized public class UserSearch implements Serializable --===============4666947514319052102==-- From seam-commits at lists.jboss.org Wed Apr 9 05:44:50 2008 Content-Type: multipart/mixed; boundary="===============3982438425783598493==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7884 - in trunk/examples/wiki: src/etc/i18n and 14 other directories. Date: Wed, 09 Apr 2008 05:44:50 -0400 Message-ID: --===============3982438425783598493== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: christian.bauer(a)jboss.com Date: 2008-04-09 05:44:49 -0400 (Wed, 09 Apr 2008) New Revision: 7884 Added: trunk/examples/wiki/view/includes/confirmationAction.xhtml Modified: trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml trunk/examples/wiki/src/etc/i18n/messages_en.properties trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome= .java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryBr= owser.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.ja= va trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQu= estionHome.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome.= java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.= java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.= java trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java trunk/examples/wiki/view/dirDisplay_d.xhtml trunk/examples/wiki/view/dirEdit_d.xhtml trunk/examples/wiki/view/docDisplay_d.xhtml trunk/examples/wiki/view/docEdit_d.xhtml trunk/examples/wiki/view/includes/userControl.xhtml trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml trunk/examples/wiki/view/themes/default/js/lacewiki.js trunk/examples/wiki/view/themes/default/template.xhtml trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js trunk/examples/wiki/view/themes/inrelationto/template.xhtml trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js trunk/examples/wiki/view/themes/sfwkorg/template.xhtml trunk/examples/wiki/view/uploadEdit_d.xhtml trunk/examples/wiki/view/userHome_d.xhtml Log: Fixed delete confirmation popup javascript code injection hole Modified: trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-04-09 09:16:0= 2 UTC (rev 7883) +++ trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-04-09 09:44:4= 9 UTC (rev 7884) @@ -91,6 +91,12 @@ = + escapeJSMessage + org.jboss.seam.wiki.util.WikiUtil + java.lang.String escapeJSMessage(java.lang.Str= ing) + + + encodeURL org.jboss.seam.wiki.util.WikiUtil java.lang.String encodeURL(java.lang.String) Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-09 09:1= 6:02 UTC (rev 7883) +++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-09 09:4= 4:49 UTC (rev 7884) @@ -163,9 +163,7 @@ lacewiki.label.WritableBy=3DWritable by lacewiki.label.WriteProtected=3DRestrict edit access to admins lacewiki.label.User=3DUser -lacewiki.label.DeleteConfirmation=3DDelete Confirmation lacewiki.label.AreYouSureYouWantToDelete=3DAre you sure you want to delete -lacewiki.label.DeleteAllChildren=3D? lacewiki.label.Confirmation=3DConfirmation lacewiki.label.AreYouSureYouWantToExecute=3DAre you sure you want to execu= te this operation? = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Comm= entHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHom= e.java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHom= e.java 2008-04-09 09:44:49 UTC (rev 7884) @@ -135,7 +135,7 @@ = public String remove(Long commentId) { setNodeId(commentId); - initEditor(); + initEditor(false); if (isManaged()) { = // Additional permission required besides NodeHome.remove() @@ -274,7 +274,7 @@ = @Begin(flushMode =3D FlushModeType.MANUAL, join =3D true) public String newComment() { - initEditor(); + initEditor(false); showForm =3D true; return "redirectToDocument"; } Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Dire= ctoryBrowser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryB= rowser.java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryB= rowser.java 2008-04-09 09:44:49 UTC (rev 7884) @@ -432,8 +432,10 @@ return false; = // Check permissions TODO: This duplicates the check - if (!Identity.instance().hasPermission("Node", "edit", node)) + if (!Identity.instance().hasPermission("Node", "edit", node)) { + log.debug("user doesn't have edit permissions for this node: "= + node); return false; + } = NodeRemover remover; if (node.isInstance(WikiDocument.class)) { @@ -441,9 +443,11 @@ } else if (node.isInstance(WikiUpload.class)) { remover =3D (NodeRemover) Component.getInstance(UploadNodeRemo= ver.class); } else { + log.warn("no remover found for node type: " + node); return false; } boolean removable =3D remover.isRemovable(node); + log.debug("remover said it's removable: " + removable); = childNodesRemovability.put(node.getId(), removable); = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Node= Home.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.j= ava 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.j= ava 2008-04-09 09:44:49 UTC (rev 7884) @@ -85,19 +85,25 @@ = public boolean isEditor() { return editor; } = - public void initEditor() { + public void initEditor(boolean visibleWorkspace) { getLog().debug("initializing editor workspace"); this.editor =3D true; = - // Set workspace description of the current conversation - String desc =3D getEditorWorkspaceDescription(getNodeId() =3D=3D n= ull); - WikiPreferences prefs =3D Preferences.getInstance(WikiPreferences.= class); - if (desc !=3D null && desc.length() > prefs.getWorkspaceSwitcherDe= scriptionLength()) { - desc =3D desc.substring(0, prefs.getWorkspaceSwitcherDescripti= onLength().intValue()) + "..."; + if (visibleWorkspace) { + // Set workspace description of the current conversation + String desc =3D getEditorWorkspaceDescription(getNodeId() =3D= =3D null); + WikiPreferences prefs =3D Preferences.getInstance(WikiPreferen= ces.class); + if (desc !=3D null && desc.length() > prefs.getWorkspaceSwitch= erDescriptionLength()) { + desc =3D desc.substring(0, prefs.getWorkspaceSwitcherDescr= iptionLength().intValue()) + "..."; + } + Conversation.instance().setDescription(desc); } - Conversation.instance().setDescription(desc); } = + public void initEditor() { + initEditor(true); + } + /* -------------------------- Basic Overrides ------------------------= ------ */ = @Override @@ -285,7 +291,7 @@ public String remove(Long nodeId) { getLog().debug("requested node remove with id: " + nodeId); setNodeId(nodeId); - initEditor(); + initEditor(false); String outcome =3D remove(); if (outcome !=3D null) { Events.instance().raiseEvent("Node.refreshList"); Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowse= r/FaqQuestionHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionHome.java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionHome.java 2008-04-09 09:44:49 UTC (rev 7884) @@ -141,7 +141,7 @@ = @Begin(flushMode =3D FlushModeType.MANUAL, join =3D true) public void newQuestion() { - initEditor(); + initEditor(false); showForm =3D true; } = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/For= umHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome= .java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome= .java 2008-04-09 09:44:49 UTC (rev 7884) @@ -201,14 +201,14 @@ = @Begin(flushMode =3D FlushModeType.MANUAL, join =3D true) public void newForum() { - initEditor(); + initEditor(false); showForm =3D true; } = @Begin(flushMode =3D FlushModeType.MANUAL, join =3D true) public void edit(Long forumId) { setId(forumId); - initEditor(); + initEditor(false); showForm =3D true; } = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/Rep= lyHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome= .java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome= .java 2008-04-09 09:44:49 UTC (rev 7884) @@ -57,7 +57,7 @@ = getLog().debug("reply to document id: " + getParentNodeId()); newComment(); - initEditor(); + initEditor(false); = getInstance().setSubject(REPLY_PREFIX + getParentNode().getName()); = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/Top= icHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome= .java 2008-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome= .java 2008-04-09 09:44:49 UTC (rev 7884) @@ -237,7 +237,7 @@ = @Begin(flushMode =3D FlushModeType.MANUAL, join =3D true) public void newTopic() { - initEditor(); + initEditor(false); showForm =3D true; } = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 200= 8-04-09 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 200= 8-04-09 09:44:49 UTC (rev 7884) @@ -161,6 +161,10 @@ } } = + public static String escapeJSMessage(String message) { + return message.replaceAll("'", "\\\\'").replaceAll("\"", "\\\\\\\"= "); + } + public static String escapeEmailURL(String string) { return string.length() >=3D 7 && string.substring(0, 7).equals("ma= ilto:") ? string.replaceAll("@", Preferences.getInstance(WikiPrefe= rences.class).getAtSymbolReplacement()) Modified: trunk/examples/wiki/view/dirDisplay_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-04-09 09:16:02 UTC (re= v 7883) +++ trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-04-09 09:44:49 UTC (re= v 7884) @@ -217,16 +217,27 @@ + -
  • - - - + + + + + + + + + +
  • + =
  • @@ -255,16 +266,27 @@
  • + -
  • - - - + + + + + + + + + +
  • +
  • Modified: trunk/examples/wiki/view/dirEdit_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/dirEdit_d.xhtml 2008-04-09 09:16:02 UTC (rev 7= 883) +++ trunk/examples/wiki/view/dirEdit_d.xhtml 2008-04-09 09:44:49 UTC (rev 7= 884) @@ -241,15 +241,23 @@ = - - - - + + + + + + + + + + + + + + = Modified: trunk/examples/wiki/view/docDisplay_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/docDisplay_d.xhtml 2008-04-09 09:16:02 UTC (re= v 7883) +++ trunk/examples/wiki/view/docDisplay_d.xhtml 2008-04-09 09:44:49 UTC (re= v 7884) @@ -221,15 +221,24 @@ = = - - - - - + + + + + + + + + = Modified: trunk/examples/wiki/view/docEdit_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/docEdit_d.xhtml 2008-04-09 09:16:02 UTC (rev 7= 883) +++ trunk/examples/wiki/view/docEdit_d.xhtml 2008-04-09 09:44:49 UTC (rev 7= 884) @@ -332,15 +332,21 @@ = - - - - + + + + + + + + + + + + = Added: trunk/examples/wiki/view/includes/confirmationAction.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/includes/confirmationAction.xhtml = (rev 0) +++ trunk/examples/wiki/view/includes/confirmationAction.xhtml 2008-04-09 0= 9:44:49 UTC (rev 7884) @@ -0,0 +1,19 @@ + + + + + + + + + Modified: trunk/examples/wiki/view/includes/userControl.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/includes/userControl.xhtml 2008-04-09 09:16:02= UTC (rev 7883) +++ trunk/examples/wiki/view/includes/userControl.xhtml 2008-04-09 09:44:49= UTC (rev 7884) @@ -97,7 +97,7 @@ = - + Modified: trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml 2008-04-09 0= 9:16:02 UTC (rev 7883) +++ trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml 2008-04-09 0= 9:44:49 UTC (rev 7884) @@ -72,16 +72,22 @@ = = - - - - + + + + + + + + + + + + = = - - - - + + + + + + + + = Modified: trunk/examples/wiki/view/themes/default/js/lacewiki.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/default/js/lacewiki.js 2008-04-09 09:16= :02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/default/js/lacewiki.js 2008-04-09 09:44= :49 UTC (rev 7884) @@ -39,6 +39,12 @@ = // ###################### Form helpers ################################# = +function actionConfirmation(message, actionFunctionName) { + if (confirm(message)) { + eval(actionFunctionName+"()"); + } +} + function onAjaxRequestComplete() { resetSessionTimeoutCheck(); wrapBoxes(); Modified: trunk/examples/wiki/view/themes/default/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/default/template.xhtml 2008-04-09 09:16= :02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/default/template.xhtml 2008-04-09 09:44= :49 UTC (rev 7884) @@ -71,15 +71,6 @@ = // ###################### Popups ################################# = - function deleteConfirmation(message, deleteFunction) { - var answer =3D confirm("#{messages['lacewiki.label.AreYouSureY= ouWantToDelete']} " - + message - + " #{messages['lacewiki.label.DeleteAll= Children']}"); - if (answer){ - eval(deleteFunction+"()"); - } - } - var fadeInPopupDialog =3D function(hash) { hash.w.fadeIn('fast',function(){ hash.o.show(); }); jQuery(".closeDialog", hash.w).attr("accesskey", "#{messages['= lacewiki.button.Cancel.accesskey']}"); // Dynamically assign accesskey to .= closeDialog buttons Modified: trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js 2008-04-09 = 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js 2008-04-09 = 09:44:49 UTC (rev 7884) @@ -39,6 +39,12 @@ = // ###################### Form helpers ################################# = +function actionConfirmation(message, actionFunctionName) { + if (confirm(message)) { + eval(actionFunctionName+"()"); + } +} + function onAjaxRequestComplete() { resetSessionTimeoutCheck(); wrapBoxes(); Modified: trunk/examples/wiki/view/themes/inrelationto/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-04-09 = 09:16:02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-04-09 = 09:44:49 UTC (rev 7884) @@ -61,15 +61,6 @@ = // ###################### Popups ################################# = - function deleteConfirmation(message, deleteFunction) { - var answer =3D confirm("#{messages['lacewiki.label.AreYouSureY= ouWantToDelete']} " - + message - + " #{messages['lacewiki.label.DeleteAll= Children']}"); - if (answer){ - eval(deleteFunction+"()"); - } - } - var fadeInPopupDialog =3D function(hash) { hash.w.fadeIn('fast',function(){ hash.o.show(); }); jQuery(".closeDialog", hash.w).attr("accesskey", "#{messages['= lacewiki.button.Cancel.accesskey']}"); // Dynamically assign accesskey to .= closeDialog buttons Modified: trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js 2008-04-09 09:16= :02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js 2008-04-09 09:44= :49 UTC (rev 7884) @@ -39,6 +39,12 @@ = // ###################### Form helpers ################################# = +function actionConfirmation(message, actionFunctionName) { + if (confirm(message)) { + eval(actionFunctionName+"()"); + } +} + function onAjaxRequestComplete() { resetSessionTimeoutCheck(); wrapBoxes(); Modified: trunk/examples/wiki/view/themes/sfwkorg/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-04-09 09:16= :02 UTC (rev 7883) +++ trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-04-09 09:44= :49 UTC (rev 7884) @@ -62,15 +62,6 @@ = // ###################### Popups ################################# = - function deleteConfirmation(message, deleteFunction) { - var answer =3D confirm("#{messages['lacewiki.label.AreYouSureY= ouWantToDelete']} " - + message - + " #{messages['lacewiki.label.DeleteAll= Children']}"); - if (answer){ - eval(deleteFunction+"()"); - } - } - var fadeInPopupDialog =3D function(hash) { hash.w.fadeIn('fast',function(){ hash.o.show(); }); jQuery(".closeDialog", hash.w).attr("accesskey", "#{messages['= lacewiki.button.Cancel.accesskey']}"); // Dynamically assign accesskey to .= closeDialog buttons Modified: trunk/examples/wiki/view/uploadEdit_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/uploadEdit_d.xhtml 2008-04-09 09:16:02 UTC (re= v 7883) +++ trunk/examples/wiki/view/uploadEdit_d.xhtml 2008-04-09 09:44:49 UTC (re= v 7884) @@ -141,15 +141,21 @@ = - - - - + + + + + + + + + + + + = Modified: trunk/examples/wiki/view/userHome_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/userHome_d.xhtml 2008-04-09 09:16:02 UTC (rev = 7883) +++ trunk/examples/wiki/view/userHome_d.xhtml 2008-04-09 09:44:49 UTC (rev = 7884) @@ -317,15 +317,21 @@ = - - - + + + + + + + + + + + + = --===============3982438425783598493==-- From seam-commits at lists.jboss.org Wed Apr 9 06:55:15 2008 Content-Type: multipart/mixed; boundary="===============4654424434516640633==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7885 - trunk/src/main/org/jboss/seam/security/management/action. Date: Wed, 09 Apr 2008 06:55:14 -0400 Message-ID: --===============4654424434516640633== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-09 06:55:14 -0400 (Wed, 09 Apr 2008) New Revision: 7885 Modified: trunk/src/main/org/jboss/seam/security/management/action/RoleAction.java trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.java trunk/src/main/org/jboss/seam/security/management/action/UserAction.java trunk/src/main/org/jboss/seam/security/management/action/UserSearch.java Log: namespace Modified: trunk/src/main/org/jboss/seam/security/management/action/RoleActi= on.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a 2008-04-09 09:44:49 UTC (rev 7884) +++ trunk/src/main/org/jboss/seam/security/management/action/RoleAction.jav= a 2008-04-09 10:55:14 UTC (rev 7885) @@ -12,7 +12,7 @@ import org.jboss.seam.core.Conversation; import org.jboss.seam.security.management.IdentityManager; = -(a)Name("roleAction") +(a)Name("org.jboss.seam.security.management.roleAction") @Scope(CONVERSATION) public class RoleAction { Modified: trunk/src/main/org/jboss/seam/security/management/action/RoleSear= ch.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.jav= a 2008-04-09 09:44:49 UTC (rev 7884) +++ trunk/src/main/org/jboss/seam/security/management/action/RoleSearch.jav= a 2008-04-09 10:55:14 UTC (rev 7885) @@ -12,7 +12,7 @@ import org.jboss.seam.annotations.datamodel.DataModelSelection; import org.jboss.seam.security.management.IdentityManager; = -(a)Name("org.jboss.seam.security.roleSearch") +(a)Name("org.jboss.seam.security.management.roleSearch") @Scope(SESSION) public class RoleSearch implements Serializable { Modified: trunk/src/main/org/jboss/seam/security/management/action/UserActi= on.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserAction.jav= a 2008-04-09 09:44:49 UTC (rev 7884) +++ trunk/src/main/org/jboss/seam/security/management/action/UserAction.jav= a 2008-04-09 10:55:14 UTC (rev 7885) @@ -19,7 +19,7 @@ * = * @author Shane Bryzak */ -(a)Name("org.jboss.seam.security.userAction") +(a)Name("org.jboss.seam.security.management.userAction") @Scope(CONVERSATION) public class UserAction implements Serializable { Modified: trunk/src/main/org/jboss/seam/security/management/action/UserSear= ch.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-09 09:44:49 UTC (rev 7884) +++ trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-09 10:55:14 UTC (rev 7885) @@ -14,7 +14,7 @@ = import org.jboss.seam.security.management.IdentityManager; = -//@Name("userSearch") +(a)Name("org.jboss.seam.security.management.userSearch") @Scope(SESSION) @Synchronized public class UserSearch implements Serializable --===============4654424434516640633==-- From seam-commits at lists.jboss.org Wed Apr 9 07:33:00 2008 Content-Type: multipart/mixed; boundary="===============0102127607880718854==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7886 - maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam. Date: Wed, 09 Apr 2008 07:32:59 -0400 Message-ID: --===============0102127607880718854== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-09 07:32:59 -0400 (Wed, 09 Apr 2008) New Revision: 7886 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-html.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/nochunk-html.xsl Log: Added XSL param for header link alternative text in XHTML output. Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-09 10:55:14 UTC (rev 7885) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-09 11:32:59 UTC (rev 7886) @@ -17,5 +17,6 @@ = - = + + = Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/nochunk-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-09 10:55:14 UTC (rev 7885) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-09 11:32:59 UTC (rev 7886) @@ -17,5 +17,6 @@ + = --===============0102127607880718854==-- From seam-commits at lists.jboss.org Wed Apr 9 08:38:39 2008 Content-Type: multipart/mixed; boundary="===============5511155600248104968==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7887 - trunk/doc/reference/en/modules. Date: Wed, 09 Apr 2008 08:38:39 -0400 Message-ID: --===============5511155600248104968== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: christian.bauer(a)jboss.com Date: 2008-04-09 08:38:39 -0400 (Wed, 09 Apr 2008) New Revision: 7887 Modified: trunk/doc/reference/en/modules/configuration.xml Log: Minor Modified: trunk/doc/reference/en/modules/configuration.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/configuration.xml 2008-04-09 11:32:59 UT= C (rev 7886) +++ trunk/doc/reference/en/modules/configuration.xml 2008-04-09 12:38:39 UT= C (rev 7887) @@ -893,8 +893,8 @@ /META-INF/seam-deployment.properties: = - + = Then, during application startup you can get hold of all class= es --===============5511155600248104968==-- From seam-commits at lists.jboss.org Wed Apr 9 13:12:30 2008 Content-Type: multipart/mixed; boundary="===============7275875231019701281==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7888 - in trunk/examples/wiki: src/etc/WEB-INF and 14 other directories. Date: Wed, 09 Apr 2008 13:12:30 -0400 Message-ID: --===============7275875231019701281== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: christian.bauer(a)jboss.com Date: 2008-04-09 13:12:30 -0400 (Wed, 09 Apr 2008) New Revision: 7888 Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/exception/InvalidW= ikiConfigurationException.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/TemplateR= egistry.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocum= entEditorTemplate.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocum= entTemplate.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/Bl= ogEntryDefaults.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQu= estionDefaults.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicDefau= lts.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicListD= efaults.java Modified: trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties trunk/examples/wiki/src/etc/WEB-INF/pages.xml trunk/examples/wiki/src/etc/i18n/messages_blogDirectory_en.properties trunk/examples/wiki/src/etc/i18n/messages_en.properties trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHom= e.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocument= Defaults.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQu= estionHome.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome.= java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.= java trunk/examples/wiki/view/dirDisplay_d.xhtml trunk/examples/wiki/view/docDisplay_d.xhtml trunk/examples/wiki/view/includes/directoryBrowserIconMenu.xhtml trunk/examples/wiki/view/includes/userControl.xhtml trunk/examples/wiki/view/includes/wikiTextEditor.xhtml trunk/examples/wiki/view/themes/default/css/faqBrowser.css trunk/examples/wiki/view/themes/default/css/template.css trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css Log: JBSEAM-2646, templates for document creation (only BlogEntry for now) Modified: trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties 2008-04= -09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/etc/META-INF/seam-deployment.properties 2008-04= -09 17:12:30 UTC (rev 7888) @@ -1 +1 @@ -org.jboss.seam.deployment.annotationTypes=3Dorg.jboss.seam.wiki.preference= s.annotations.Preferences \ No newline at end of file +org.jboss.seam.deployment.annotationTypes=3Dorg.jboss.seam.wiki.preference= s.annotations.Preferences:org.jboss.seam.wiki.core.template.WikiDocumentTem= plate \ No newline at end of file Modified: trunk/examples/wiki/src/etc/WEB-INF/pages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-04-09 12:38:39 UTC (= rev 7887) +++ trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-04-09 17:12:30 UTC (= rev 7888) @@ -66,6 +66,7 @@ + = Modified: trunk/examples/wiki/src/etc/i18n/messages_blogDirectory_en.proper= ties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/i18n/messages_blogDirectory_en.properties 2= 008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/etc/i18n/messages_blogDirectory_en.properties 2= 008-04-09 17:12:30 UTC (rev 7888) @@ -15,4 +15,7 @@ blogDirectory.label.Tagged=3Dtagged blogDirectory.label.NoBlogEntriesFound=3DNo blog entries found. blogDirectory.label.Tag=3DTag -blogDirectory.label.Tags=3DTags \ No newline at end of file +blogDirectory.label.Tags=3DTags + +blogDirectory.label.template.BlogEntry=3DWeblog Entry +blogDirectory.label.template.NewBlogEntryTitle=3DMy weblog entry title... Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-09 12:3= 8:39 UTC (rev 7887) +++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-04-09 17:1= 2:30 UTC (rev 7888) @@ -720,3 +720,7 @@ lacewiki.preferences.comments.EnableByDefault=3DEnable comments by default= for new documents lacewiki.preferences.comments.Threaded=3DThreaded comment display (or flat) = + +# Templates + +lacewiki.label.template.RegularWikiDocument=3DRegular Document Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Docu= mentHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -21,6 +21,10 @@ import org.jboss.seam.wiki.core.engine.WikiLinkResolver; import org.jboss.seam.wiki.core.renderer.MacroWikiTextRenderer; import org.jboss.seam.wiki.core.model.*; +import org.jboss.seam.wiki.core.exception.InvalidWikiRequestException; +import org.jboss.seam.wiki.core.template.TemplateRegistry; +import org.jboss.seam.wiki.core.template.WikiDocumentTemplate; +import org.jboss.seam.wiki.core.template.WikiDocumentEditorTemplate; import org.jboss.seam.wiki.preferences.Preferences; import org.hibernate.validator.Length; = @@ -52,6 +56,7 @@ private boolean isOnSiteFeed =3D false; private List historicalFiles; private Long numOfHistoricalFiles =3D 0l; + private String templateType; = /* -------------------------- Basic Overrides ------------------------= ------ */ = @@ -77,6 +82,36 @@ tagEditor.setTags(doc.getTags()); = outjectDocumentAndDirectory(doc, getParentNode()); + + if (templateType !=3D null && !templateType.equals(WikiDocumentDef= aults.class.getName())) { + getLog().debug("using custom template class for WikiDocument d= efaults: " + templateType); + WikiDocumentDefaults defaults; + try { + Class tplClass =3D Class.forName(templateType); + + if (!TemplateRegistry.instance().getTemplateTypes().contai= ns(tplClass)) { + throw new InvalidWikiRequestException("Invalid templat= eType: " + templateType); + } + + if (tplClass.getAnnotation(WikiDocumentTemplate.class).req= uiresTemplateInstance()) { + getLog().debug("instantiating template " + tplClass.ge= tName() + " with current document instance"); + defaults =3D (WikiDocumentDefaults)tplClass.getConstru= ctor(WikiDocument.class).newInstance(doc); + } else { + getLog().debug("instantiating template " + tplClass.ge= tName() + " with no-arg constructor"); + defaults =3D (WikiDocumentDefaults)tplClass.newInstanc= e(); + } + + if (WikiDocumentEditorTemplate.class.isAssignableFrom(tplC= lass)) { + getLog().debug("letting template set editor defaults"); + ((WikiDocumentEditorTemplate)defaults).setEditorDefaul= ts(this); + } + + } catch (Exception ex) { + throw new InvalidWikiRequestException("Invalid templateTyp= e: " + templateType); + } + doc.setDefaults(defaults); + } + return doc; } = @@ -405,4 +440,12 @@ public TagEditor getTagEditor() { return tagEditor; } + + public String getTemplateType() { + return templateType; + } + + public void setTemplateType(String templateType) { + this.templateType =3D templateType; + } } Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/exception/Inva= lidWikiConfigurationException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/exception/Invalid= WikiConfigurationException.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/exception/Invalid= WikiConfigurationException.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,29 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.exception; + +/** + * @author Christian Bauer + */ +public class InvalidWikiConfigurationException extends RuntimeException { + + public InvalidWikiConfigurationException() { + super(); + } + + public InvalidWikiConfigurationException(String s) { + super(s); + } + + public InvalidWikiConfigurationException(String s, Throwable throwable= ) { + super(s, throwable); + } + + public InvalidWikiConfigurationException(Throwable throwable) { + super(throwable); + } +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiD= ocumentDefaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocumen= tDefaults.java 2008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocumen= tDefaults.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -6,6 +6,22 @@ = public class WikiDocumentDefaults { = + WikiDocument template; + + public WikiDocumentDefaults() {} + + public WikiDocumentDefaults(WikiDocument template) { + this.template =3D template; + } + + public WikiDocument getTemplate() { + return template; + } + + public void setTemplate(WikiDocument template) { + this.template =3D template; + } + public String getName() { return "New Document"; } Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/Templ= ateRegistry.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/Template= Registry.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/Template= Registry.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,74 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.template; + +import org.jboss.seam.annotations.*; +import org.jboss.seam.annotations.Observer; +import org.jboss.seam.log.Log; +import org.jboss.seam.ScopeType; +import org.jboss.seam.Component; +import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; +import org.jboss.seam.wiki.core.exception.InvalidWikiConfigurationExceptio= n; +import org.jboss.seam.core.Interpolator; + +import java.util.*; + +/** + * @author Christian Bauer + */ +(a)Name("templateRegistry") +(a)Scope(ScopeType.APPLICATION) +public class TemplateRegistry { + + @Logger + static Log log; + + @In( + value=3D"#{deploymentStrategy.annotatedClasses['org.jboss.seam.wik= i.core.template.WikiDocumentTemplate']}", + required =3D false + ) + Set templateClasses; + + Map templates =3D new HashMap(); + List templateTypes =3D new ArrayList(); + + @Observer("Wiki.started") + public void create() { + log.debug("initializing template registry"); + + for (Class templateClass : templateClasses) { + + String templateName =3D interpolate(templateClass.getAnnotatio= n(WikiDocumentTemplate.class).value()); + + if (!WikiDocumentDefaults.class.isAssignableFrom(templateClass= )) { + throw new InvalidWikiConfigurationException("Annotated @Wi= kiDocumentTemplate class '" + + templateClass + + "' does not = implement WikiDocumentDefaults interface"); + } + + log.debug("adding template class " + templateClass.getName() += " as '" + templateName + "'"); + templates.put(templateClass, templateName); + templateTypes.add(templateClass); + } + } + + private String interpolate(String s) { + return Interpolator.instance().interpolate(s); + } + + public Map getTemplates() { + return templates; + } + + public List getTemplateTypes() { + return templateTypes; + } + + public static TemplateRegistry instance() { + return (TemplateRegistry)Component.getInstance(TemplateRegistry.cl= ass); + } +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiD= ocumentEditorTemplate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentEditorTemplate.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentEditorTemplate.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,17 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.template; + +import org.jboss.seam.wiki.core.action.DocumentHome; + +/** + * @author Christian Bauer + */ +public interface WikiDocumentEditorTemplate { + + public void setEditorDefaults(DocumentHome editor); +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiD= ocumentTemplate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentTemplate.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentTemplate.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,22 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.template; + +import java.lang.annotation.Target; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * @author Christian Bauer + */ +(a)Target(ElementType.TYPE) +(a)Retention(RetentionPolicy.RUNTIME) +public @interface WikiDocumentTemplate { + String value(); + boolean requiresTemplateInstance() default false; +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirector= y/BlogEntryDefaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logEntryDefaults.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logEntryDefaults.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,35 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.plugin.blogdirectory; + +import org.jboss.seam.wiki.core.template.WikiDocumentTemplate; +import org.jboss.seam.wiki.core.template.WikiDocumentEditorTemplate; +import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; +import org.jboss.seam.wiki.core.action.DocumentHome; +import org.jboss.seam.international.Messages; + +/** + * @author Christian Bauer + */ +(a)WikiDocumentTemplate("#{messages['blogDirectory.label.template.BlogEntr= y']}") +public class BlogEntryDefaults extends WikiDocumentDefaults implements Wik= iDocumentEditorTemplate { + + @Override + public String getName() { + return Messages.instance().get("blogDirectory.label.template.NewBl= ogEntryTitle"); + } + + @Override + public String[] getHeaderMacrosAsString() { + return new String[]{ "blogEntry" }; + } + + public void setEditorDefaults(DocumentHome editor) { + editor.setPushOnFeeds(true); + editor.setPushOnSiteFeed(true); + } +} Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/F= aqQuestionDefaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionDefaults.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionDefaults.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,46 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.plugin.faqBrowser; + +import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; +import org.jboss.seam.wiki.core.model.WikiDocument; +import org.jboss.seam.wiki.core.template.WikiDocumentTemplate; +import org.jboss.seam.international.Messages; + +/** + * @author Christian Bauer + */ +public class FaqQuestionDefaults extends WikiDocumentDefaults { + + public FaqQuestionDefaults() { + super(); + } + + @Override + public String getName() { + return Messages.instance().get("faqBrowser.label.NewQuestionTitle"= ); + } + + @Override + public String[] getHeaderMacrosAsString() { + return new String[]{"faqBrowser", "docPager"}; + } + + @Override + public String getContentText() { + return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditTh= isText"); + } + + @Override + public void setOptions(WikiDocument newQuestion) { + newQuestion.setNameAsTitle(true); + newQuestion.setEnableComments(true); + newQuestion.setEnableCommentForm(true); + newQuestion.setEnableCommentsOnFeeds(false); + } + +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowse= r/FaqQuestionHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionHome.java 2008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQ= uestionHome.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -4,10 +4,8 @@ import org.jboss.seam.annotations.*; import org.jboss.seam.core.Conversation; import org.jboss.seam.core.Events; -import org.jboss.seam.international.Messages; import org.jboss.seam.wiki.core.action.DocumentHome; import org.jboss.seam.wiki.core.model.WikiDocument; -import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; = import static javax.faces.application.FacesMessage.SEVERITY_INFO; = @@ -41,31 +39,7 @@ @Override public WikiDocument afterNodeCreated(WikiDocument doc) { WikiDocument newQuestion =3D super.afterNodeCreated(doc); - - WikiDocumentDefaults newQuestionDefaults=3D - new WikiDocumentDefaults() { - @Override - public String getName() { - return Messages.instance().get("faqBrowser.label.N= ewQuestionTitle"); - } - @Override - public String[] getHeaderMacrosAsString() { - return new String[] { "faqBrowser", "docPager" }; - } - @Override - public String getContentText() { - return Messages.instance().get("lacewiki.msg.wikiT= extEditor.EditThisText"); - } - @Override - public void setOptions(WikiDocument newQuestion) { - newQuestion.setNameAsTitle(true); - newQuestion.setEnableComments(true); - newQuestion.setEnableCommentForm(true); - newQuestion.setEnableCommentsOnFeeds(false); - } - }; - newQuestion.setDefaults(newQuestionDefaults); - + newQuestion.setDefaults(new FaqQuestionDefaults()); return newQuestion; } = Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/For= umHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome= .java 2008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumHome= .java 2008-04-09 17:12:30 UTC (rev 7888) @@ -1,13 +1,11 @@ package org.jboss.seam.wiki.plugin.forum; = import org.jboss.seam.ScopeType; -import org.jboss.seam.international.Messages; import org.jboss.seam.annotations.*; import org.jboss.seam.core.Conversation; import org.jboss.seam.core.Events; import org.jboss.seam.wiki.core.model.*; import org.jboss.seam.wiki.core.action.DirectoryHome; -import org.jboss.seam.wiki.util.WikiUtil; = import javax.faces.application.FacesMessage; import static javax.faces.application.FacesMessage.SEVERITY_INFO; @@ -68,40 +66,12 @@ getEntityManager().persist(newMenuItem); = // Default document is topic list - WikiDocumentDefaults topicListDefaults =3D - new WikiDocumentDefaults() { - @Override - public String getName() { - return getInstance().getName() + " " + Messages.in= stance().get("forum.label.Forum"); - } - @Override - public String[] getHeaderMacrosAsString() { - return new String[] {"clearBackground", "hideContr= ols", "hideComments", "hideTags", "hideCreatorHistory"}; - } - @Override - public String[] getContentMacrosAsString() { - return new String[] {"forumTopics"}; - } - @Override - public String getContentText() { - return ""; - } - @Override - public void setOptions(WikiDocument document) { - document.setAreaNumber(getInstance().getAreaNumber= ()); - document.setWikiname(WikiUtil.convertToWikiName(do= cument.getName())); - document.setNameAsTitle(true); - document.setReadAccessLevel(getInstance().getReadA= ccessLevel()); - document.setWriteAccessLevel(org.jboss.seam.wiki.c= ore.model.Role.ADMINROLE_ACCESSLEVEL); - document.setEnableComments(false); - document.setEnableCommentForm(false); - document.setEnableCommentsOnFeeds(false); - document.setCreatedBy(getCurrentUser()); - } - }; - - WikiDocument topicList =3D new WikiDocument(topicListDefaults); - + WikiDocument topicListTemplate =3D new WikiDocument(); + topicListTemplate.setName(getInstance().getName()); + topicListTemplate.setCreatedBy(currentUser); + topicListTemplate.setAreaNumber(getInstance().getAreaNumber()); + topicListTemplate.setReadAccessLevel(getInstance().getReadAcce= ssLevel()); + WikiDocument topicList =3D new WikiDocument(new TopicListDefau= lts(topicListTemplate)); topicList.setParent(getInstance()); getInstance().setDefaultFile(topicList); = Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicD= efaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicDefa= ults.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicDefa= ults.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,50 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.plugin.forum; + +import org.jboss.seam.international.Messages; +import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; +import org.jboss.seam.wiki.core.model.WikiDocument; + +/** + * @author Christian Bauer + */ +public class TopicDefaults extends WikiDocumentDefaults { + + public TopicDefaults() { + super(); + } + + @Override + public String getName() { + return Messages.instance().get("forum.label.NewTopic"); + } + + @Override + public String[] getHeaderMacrosAsString() { + return new String[] { "clearBackground", "hideControls", "hideComm= ents", + "hideTags", "hideCreatorHistory", "disableCo= ntentMacros", "forumPosting" }; + } + + @Override + public String getContentText() { + return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditTh= isText"); + } + + @Override + public String[] getFooterMacrosAsString() { + return new String[] { "forumReplies" }; + } + + @Override + public void setOptions(WikiDocument newTopic) { + newTopic.setNameAsTitle(false); + newTopic.setEnableComments(true); + newTopic.setEnableCommentForm(true); + newTopic.setEnableCommentsOnFeeds(true); + } +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/Top= icHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome= .java 2008-04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome= .java 2008-04-09 17:12:30 UTC (rev 7888) @@ -1,23 +1,21 @@ package org.jboss.seam.wiki.plugin.forum; = import org.jboss.seam.ScopeType; -import org.jboss.seam.faces.Renderer; -import org.jboss.seam.ui.validator.FormattedTextValidator; import org.jboss.seam.annotations.*; import org.jboss.seam.annotations.web.RequestParameter; import org.jboss.seam.core.Conversation; import org.jboss.seam.core.Events; -import org.jboss.seam.international.Messages; +import org.jboss.seam.faces.Renderer; +import org.jboss.seam.ui.validator.FormattedTextValidator; import org.jboss.seam.wiki.core.action.DocumentHome; import org.jboss.seam.wiki.core.action.prefs.WikiPreferences; +import org.jboss.seam.wiki.core.engine.WikiMacro; import org.jboss.seam.wiki.core.model.WikiDirectory; import org.jboss.seam.wiki.core.model.WikiDocument; -import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; -import org.jboss.seam.wiki.core.engine.WikiMacro; import org.jboss.seam.wiki.preferences.Preferences; = -import static javax.faces.application.FacesMessage.SEVERITY_INFO; import javax.faces.application.FacesMessage; +import static javax.faces.application.FacesMessage.SEVERITY_INFO; import javax.faces.validator.ValidatorException; = @Name("topicHome") @@ -60,38 +58,8 @@ @Override public WikiDocument afterNodeCreated(WikiDocument doc) { WikiDocument newTopic =3D super.afterNodeCreated(doc); - - WikiDocumentDefaults newTopicDefaults =3D - new WikiDocumentDefaults() { - @Override - public String getName() { - return Messages.instance().get("forum.label.NewTop= ic"); - } - @Override - public String[] getHeaderMacrosAsString() { - return new String[] { "clearBackground", "hideCont= rols", "hideComments", - "hideTags", "hideCreatorHist= ory", "disableContentMacros", "forumPosting" }; - } - @Override - public String getContentText() { - return Messages.instance().get("lacewiki.msg.wikiT= extEditor.EditThisText"); - } - @Override - public String[] getFooterMacrosAsString() { - return new String[] { "forumReplies" }; - } - @Override - public void setOptions(WikiDocument newTopic) { - newTopic.setNameAsTitle(false); - newTopic.setEnableComments(true); - newTopic.setEnableCommentForm(true); - newTopic.setEnableCommentsOnFeeds(true); - } - }; - newTopic.setDefaults(newTopicDefaults); - + newTopic.setDefaults(new TopicDefaults()); setPushOnFeeds(true); - return newTopic; } = Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicL= istDefaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicList= Defaults.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicList= Defaults.java 2008-04-09 17:12:30 UTC (rev 7888) @@ -0,0 +1,55 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.plugin.forum; + +import org.jboss.seam.international.Messages; +import org.jboss.seam.wiki.util.WikiUtil; +import org.jboss.seam.wiki.core.model.WikiDocument; +import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; + +/** + * @author Christian Bauer + */ +public class TopicListDefaults extends WikiDocumentDefaults { + + public TopicListDefaults(WikiDocument template) { + super(template); + } + + @Override + public String getName() { + return getTemplate().getName() + " " + Messages.instance().get("fo= rum.label.Forum"); + } + + @Override + public String[] getHeaderMacrosAsString() { + return new String[]{"clearBackground", "hideControls", "hideCommen= ts", "hideTags", "hideCreatorHistory"}; + } + + @Override + public String[] getContentMacrosAsString() { + return new String[]{"forumTopics"}; + } + + @Override + public String getContentText() { + return ""; + } + + @Override + public void setOptions(WikiDocument document) { + document.setAreaNumber(getTemplate().getAreaNumber()); + document.setWikiname(WikiUtil.convertToWikiName(document.getName()= )); + document.setNameAsTitle(true); + document.setReadAccessLevel(getTemplate().getReadAccessLevel()); + document.setWriteAccessLevel(org.jboss.seam.wiki.core.model.Role.A= DMINROLE_ACCESSLEVEL); + document.setEnableComments(false); + document.setEnableCommentForm(false); + document.setEnableCommentsOnFeeds(false); + document.setCreatedBy(getTemplate().getCreatedBy()); + } +} Modified: trunk/examples/wiki/view/dirDisplay_d.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-04-09 12:38:39 UTC (re= v 7887) +++ trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-04-09 17:12:30 UTC (re= v 7888) @@ -31,14 +31,32 @@ = - - - - - + + + +
      +
    • + + + + + +
    • + +
    • + + + + + + +
    • +
      +
    +
    = = - - - - - + + + +
      +
    • + + + + + +
    • + +
    • + + + + + + +
    • +
      +
    = = - Modified: trunk/examples/wiki/view/includes/userControl.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/includes/userControl.xhtml 2008-04-09 12:38:39= UTC (rev 7887) +++ trunk/examples/wiki/view/includes/userControl.xhtml 2008-04-09 17:12:30= UTC (rev 7888) @@ -97,7 +97,7 @@ = - + Modified: trunk/examples/wiki/view/includes/wikiTextEditor.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-04-09 12:38= :39 UTC (rev 7887) +++ trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-04-09 17:12= :30 UTC (rev 7888) @@ -116,7 +116,7 @@ = Modified: trunk/examples/wiki/view/themes/default/css/faqBrowser.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/default/css/faqBrowser.css 2008-04-09 1= 2:38:39 UTC (rev 7887) +++ trunk/examples/wiki/view/themes/default/css/faqBrowser.css 2008-04-09 1= 7:12:30 UTC (rev 7888) @@ -60,6 +60,7 @@ } = .faqQuestionList { + width: 100%; } = .faqQuestionList .rowOdd { Modified: trunk/examples/wiki/view/themes/default/css/template.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/default/css/template.css 2008-04-09 12:= 38:39 UTC (rev 7887) +++ trunk/examples/wiki/view/themes/default/css/template.css 2008-04-09 17:= 12:30 UTC (rev 7888) @@ -473,6 +473,17 @@ margin: 0 5px 0 5px; } = +.linkNavigationMenu { + display: inline; + text-decoration:none; + font-size: 85%; + font-weight: bold; + background: #5a4d46 url(../img/menu.bg.gif) 0 0 repeat-x; + border: 1px solid #fff; + padding: 2px 5px 2px 5px; + margin: 0 5px 0 5px; +} + .linkTab { text-decoration:none; font-weight: bold; @@ -506,6 +517,11 @@ .linkNavigation:hover {color: #ccc} .linkNavigation:active {color: #aaa} = +.linkNavigationMenu a:link {color: #fff} +.linkNavigationMenu a:visited {color: #fff} +.linkNavigationMenu a:hover {color: #ccc} +.linkNavigationMenu a:active {color: #aaa} + .feeds { padding: 5px; } Modified: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-= 04-09 12:38:39 UTC (rev 7887) +++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-= 04-09 17:12:30 UTC (rev 7888) @@ -493,6 +493,18 @@ margin: 0 5px 0 5px; } = +.linkNavigationMenu { + display: inline; + text-decoration:none; + font-size: 85%; + font-weight: bold; + background-color: #d55121; + border: 1px solid #f3f4e4; + border-bottom: 1px solid #f3f4e4; + padding: 2px 5px 2px 5px; + margin: 0 5px 0 5px; +} + .linkTab { text-decoration:none; font-weight: bold; @@ -526,6 +538,11 @@ .linkNavigation:hover {color: #ccc} .linkNavigation:active {color: #aaa} = +.linkNavigationMenu a:link {color: #fff} +.linkNavigationMenu a:visited {color: #fff} +.linkNavigationMenu a:hover {color: #ccc} +.linkNavigationMenu a:active {color: #aaa} + .feeds { padding: 5px; } Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-04-09 12:38:3= 9 UTC (rev 7887) +++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-04-09 17:12:3= 0 UTC (rev 7888) @@ -250,6 +250,12 @@ margin: 0 5px 0 5px; } = +.linkNavigationMenu { + display: block; + padding: 2px 5px 2px 5px; + margin: 0 5px 0 5px; +} + .linkNavigation:visited {color: #576c74} = .workspaceSwitcherContainer { @@ -1481,7 +1487,6 @@ } = .activetarget { - font-weight: bold; cursor: pointer; } = --===============7275875231019701281==-- From seam-commits at lists.jboss.org Wed Apr 9 13:19:20 2008 Content-Type: multipart/mixed; boundary="===============5669839657362045093==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7889 - in trunk/examples/wiki/src/main/org/jboss/seam/wiki: core/template and 1 other directories. Date: Wed, 09 Apr 2008 13:19:20 -0400 Message-ID: --===============5669839657362045093== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: christian.bauer(a)jboss.com Date: 2008-04-09 13:19:20 -0400 (Wed, 09 Apr 2008) New Revision: 7889 Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocum= entEditorDefaults.java Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHom= e.java trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/Bl= ogEntryDefaults.java Log: JBSEAM-2646, templates for document creation (only BlogEntry for now) Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Docu= mentHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-09 17:12:30 UTC (rev 7888) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHo= me.java 2008-04-09 17:19:20 UTC (rev 7889) @@ -24,7 +24,7 @@ import org.jboss.seam.wiki.core.exception.InvalidWikiRequestException; import org.jboss.seam.wiki.core.template.TemplateRegistry; import org.jboss.seam.wiki.core.template.WikiDocumentTemplate; -import org.jboss.seam.wiki.core.template.WikiDocumentEditorTemplate; +import org.jboss.seam.wiki.core.template.WikiDocumentEditorDefaults; import org.jboss.seam.wiki.preferences.Preferences; import org.hibernate.validator.Length; = @@ -101,9 +101,9 @@ defaults =3D (WikiDocumentDefaults)tplClass.newInstanc= e(); } = - if (WikiDocumentEditorTemplate.class.isAssignableFrom(tplC= lass)) { + if (WikiDocumentEditorDefaults.class.isAssignableFrom(tplC= lass)) { getLog().debug("letting template set editor defaults"); - ((WikiDocumentEditorTemplate)defaults).setEditorDefaul= ts(this); + ((WikiDocumentEditorDefaults)defaults).setEditorDefaul= ts(this); } = } catch (Exception ex) { Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/Wiki= DocumentEditorDefaults.java (from rev 7888, trunk/examples/wiki/src/main/or= g/jboss/seam/wiki/core/template/WikiDocumentEditorTemplate.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentEditorDefaults.java (rev 0) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/template/WikiDocu= mentEditorDefaults.java 2008-04-09 17:19:20 UTC (rev 7889) @@ -0,0 +1,17 @@ +/* + * JBoss, Home of Professional Open Source + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package org.jboss.seam.wiki.core.template; + +import org.jboss.seam.wiki.core.action.DocumentHome; + +/** + * @author Christian Bauer + */ +public interface WikiDocumentEditorDefaults { + + public void setEditorDefaults(DocumentHome editor); +} Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirec= tory/BlogEntryDefaults.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logEntryDefaults.java 2008-04-09 17:12:30 UTC (rev 7888) +++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/B= logEntryDefaults.java 2008-04-09 17:19:20 UTC (rev 7889) @@ -7,7 +7,7 @@ package org.jboss.seam.wiki.plugin.blogdirectory; = import org.jboss.seam.wiki.core.template.WikiDocumentTemplate; -import org.jboss.seam.wiki.core.template.WikiDocumentEditorTemplate; +import org.jboss.seam.wiki.core.template.WikiDocumentEditorDefaults; import org.jboss.seam.wiki.core.model.WikiDocumentDefaults; import org.jboss.seam.wiki.core.action.DocumentHome; import org.jboss.seam.international.Messages; @@ -16,7 +16,7 @@ * @author Christian Bauer */ @WikiDocumentTemplate("#{messages['blogDirectory.label.template.BlogEntry'= ]}") -public class BlogEntryDefaults extends WikiDocumentDefaults implements Wik= iDocumentEditorTemplate { +public class BlogEntryDefaults extends WikiDocumentDefaults implements Wik= iDocumentEditorDefaults { = @Override public String getName() { --===============5669839657362045093==-- From seam-commits at lists.jboss.org Wed Apr 9 14:54:32 2008 Content-Type: multipart/mixed; boundary="===============4276932073833042853==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7890 - in trunk/examples/contactlist: resources/WEB-INF/classes and 1 other directories. Date: Wed, 09 Apr 2008 14:54:32 -0400 Message-ID: --===============4276932073833042853== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-09 14:54:32 -0400 (Wed, 09 Apr 2008) New Revision: 7890 Added: trunk/examples/contactlist/resources/messages.properties Removed: trunk/examples/contactlist/resources/WEB-INF/classes/messages.properties Modified: trunk/examples/contactlist/view/editContact.xhtml Log: JBSEAM-2844 Deleted: trunk/examples/contactlist/resources/WEB-INF/classes/messages.prop= erties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/resources/WEB-INF/classes/messages.propertie= s 2008-04-09 17:19:20 UTC (rev 7889) +++ trunk/examples/contactlist/resources/WEB-INF/classes/messages.propertie= s 2008-04-09 18:54:32 UTC (rev 7890) @@ -1,4 +0,0 @@ -Contact_created New contact #{contact.firstName} #{contact.lastName} creat= ed -Contact_deleted Contact #{contact.firstName} #{contact.lastName} deleted -Contact_updated Contact #{contact.firstName} #{contact.lastName} updated -Comment_created New comment posted Added: trunk/examples/contactlist/resources/messages.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/resources/messages.properties = (rev 0) +++ trunk/examples/contactlist/resources/messages.properties 2008-04-09 18:= 54:32 UTC (rev 7890) @@ -0,0 +1,21 @@ +Contact_created New contact #{contact.firstName} #{contact.lastName} creat= ed +Contact_deleted Contact #{contact.firstName} #{contact.lastName} deleted +Contact_updated Contact #{contact.firstName} #{contact.lastName} updated +Comment_created New comment posted + +javax.faces.component.UIInput.REQUIRED=3Dvalue is required + +validator.assertFalse=3Dassertion failed +validator.assertTrue=3Dassertion failed +validator.future=3Dmust be a future date +validator.length=3Dlength must be between {min} and {max} +validator.max=3Dmust be less than or equal to {value} +validator.min=3Dmust be greater than or equal to {value} +validator.notNull=3Dmay not be null +validator.past=3Dmust be a past date +validator.pattern=3Dmust match "{regex}" +validator.range=3Dmust be between {min} and {max} +validator.size=3Dsize must be between {min} and {max} +validator.email=3Dnot a well-formed email address + +validator.zip=3Dnot a valid zipcode Modified: trunk/examples/contactlist/view/editContact.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/contactlist/view/editContact.xhtml 2008-04-09 17:19:20 U= TC (rev 7889) +++ trunk/examples/contactlist/view/editContact.xhtml 2008-04-09 18:54:32 U= TC (rev 7890) @@ -44,13 +44,13 @@ First Name: - + Last Name: - + --===============4276932073833042853==-- From seam-commits at lists.jboss.org Wed Apr 9 15:22:16 2008 Content-Type: multipart/mixed; boundary="===============2590503082607004701==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7891 - in branches/Seam_2_0/examples/contactlist: resources/WEB-INF and 1 other directories. Date: Wed, 09 Apr 2008 15:22:16 -0400 Message-ID: --===============2590503082607004701== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-09 15:22:16 -0400 (Wed, 09 Apr 2008) New Revision: 7891 Added: branches/Seam_2_0/examples/contactlist/resources/WEB-INF/classes/ branches/Seam_2_0/examples/contactlist/resources/messages.properties Removed: branches/Seam_2_0/examples/contactlist/resources/WEB-INF/classes/ Modified: branches/Seam_2_0/examples/contactlist/view/editContact.xhtml Log: JBSEAM-2844 Added: branches/Seam_2_0/examples/contactlist/resources/messages.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/contactlist/resources/messages.properties = (rev 0) +++ branches/Seam_2_0/examples/contactlist/resources/messages.properties 20= 08-04-09 19:22:16 UTC (rev 7891) @@ -0,0 +1,6 @@ +Contact_created New contact #{contact.firstName} #{contact.lastName} creat= ed +Contact_deleted Contact #{contact.firstName} #{contact.lastName} deleted +Contact_updated Contact #{contact.firstName} #{contact.lastName} updated +Comment_created New comment posted + +javax.faces.component.UIInput.REQUIRED=3Dvalue is required Modified: branches/Seam_2_0/examples/contactlist/view/editContact.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/contactlist/view/editContact.xhtml 2008-04-0= 9 18:54:32 UTC (rev 7890) +++ branches/Seam_2_0/examples/contactlist/view/editContact.xhtml 2008-04-0= 9 19:22:16 UTC (rev 7891) @@ -44,13 +44,13 @@ First Name: - + Last Name: - + --===============2590503082607004701==-- From seam-commits at lists.jboss.org Wed Apr 9 19:38:26 2008 Content-Type: multipart/mixed; boundary="===============1262019347514176838==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7892 - trunk/src/main/org/jboss/seam. Date: Wed, 09 Apr 2008 19:38:25 -0400 Message-ID: --===============1262019347514176838== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-09 19:38:25 -0400 (Wed, 09 Apr 2008) New Revision: 7892 Modified: trunk/src/main/org/jboss/seam/remoting-2.1.xsd Log: JBSEAM-2870 Modified: trunk/src/main/org/jboss/seam/remoting-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/remoting-2.1.xsd 2008-04-09 19:22:16 UTC = (rev 7891) +++ trunk/src/main/org/jboss/seam/remoting-2.1.xsd 2008-04-09 23:38:25 UTC = (rev 7892) @@ -4,13 +4,13 @@ xmlns:components=3D"http://jboss.com/products/seam/components" attribu= teFormDefault=3D"unqualified"> = - + - + - + --===============1262019347514176838==-- From seam-commits at lists.jboss.org Wed Apr 9 19:39:21 2008 Content-Type: multipart/mixed; boundary="===============4725144080077325329==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7893 - branches/Seam_2_0/src/main/org/jboss/seam. Date: Wed, 09 Apr 2008 19:39:21 -0400 Message-ID: --===============4725144080077325329== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-09 19:39:21 -0400 (Wed, 09 Apr 2008) New Revision: 7893 Modified: branches/Seam_2_0/src/main/org/jboss/seam/remoting-2.0.xsd Log: JBSEAM-2870 Modified: branches/Seam_2_0/src/main/org/jboss/seam/remoting-2.0.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/remoting-2.0.xsd 2008-04-09 2= 3:38:25 UTC (rev 7892) +++ branches/Seam_2_0/src/main/org/jboss/seam/remoting-2.0.xsd 2008-04-09 2= 3:39:21 UTC (rev 7893) @@ -4,13 +4,13 @@ xmlns:components=3D"http://jboss.com/products/seam/components" attribu= teFormDefault=3D"unqualified"> = - + - + - + --===============4725144080077325329==-- From seam-commits at lists.jboss.org Thu Apr 10 01:39:40 2008 Content-Type: multipart/mixed; boundary="===============2057645666763577477==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7894 - in maven-plugins/trunk/seam-jdocbook-style/src/main: images/images/seamframework and 1 other directory. Date: Thu, 10 Apr 2008 01:39:40 -0400 Message-ID: --===============2057645666763577477== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 01:39:40 -0400 (Thu, 10 Apr 2008) New Revision: 7894 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/community_doc.png Removed: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/support_doc.png Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-n= ochunk.css maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Renamed support_doc.png to community_doc.png and tidied up CSS. Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework-nochunk.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= nochunk.css 2008-04-09 23:39:21 UTC (rev 7893) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= nochunk.css 2008-04-10 05:39:40 UTC (rev 7894) @@ -1,4 +1,4 @@ -(a)IMPORT url("seamframework.css"); +(a)import url("seamframework.css"); = .title { margin-top: 30px; Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-09 23:39:21 UTC (rev 7893) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 05:39:40 UTC (rev 7894) @@ -1,15 +1,12 @@ @import url(jbossorg.css); = -/* - Override image, set font -*/ +/* Override background image, font */ body { background-image: url(../images/seamframework/bkg_gradient.png); font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; } = -/* = - More sfwk styling */ +/* More sfwk styling */ a { text-decoration: none; } @@ -19,9 +16,7 @@ background-image: url(../images/seamframework/title_hdr.png); } = -/* - Use sfwk colour for titles -*/ +/* Use sfwk colour for titles */ h2,h3,h4,h5,h6 { color: #BA5624; } @@ -35,97 +30,40 @@ color: white; } = -/* - Override image -*/ -div.caution { - background-image: url(../images/seamframework/caution.png); -} - -/* - Override image -*/ -div.important { - background-image: url(../images/seamframework/important.png); -} - -/* - Override image -*/ -div.note { - background-image: url(../images/seamframework/note.png); -} - -/* - Override image -*/ -div.tip { - background-image: url(../images/seamframework/tip.png); -} - -/* - Override image -*/ -div.warning { - background-image: url(../images/seamframework/warning.png); -} - -/* - Override image -*/ -ul { - list-style-image: url(../images/seamframework/dot.png); -} - -/* - Override image -*/ -ul ul { - list-style-image: url(../images/seamframework/dot2.png); -} - div.note a:visited,div.tip a:visited,div.important a:visited,div.caution a= :visited,div.warning a:visited,div.note a:link,div.tip a:link,div.important= a:link,div.caution a:link,div.warning a:link - { +{ color: #f7f2d0; } = +/* Override header images */ #title a.jbossOrg_href { display: block; height: 100px; width: 362px; float: left; - background: url(../images/seamframework/seamlogo.png) top left no-repeat - ; + background: url(../images/seamframework/seamlogo.png) top left no-repeat; } = #title a.commDoc_href { display: block; height: 100px; - background: transparent url(../images/seamframework/support_doc.png) top - right no-repeat; + background: transparent url(../images/seamframework/community_doc.png) to= p right no-repeat; } = -/* - Use sfwk colour as background for examples - */ +/* Use sfwk colour as background for examples */ .example { - background: url(../images/seamframework/leftside_bkgimage.gif) top left - repeat; + background: url(../images/seamframework/leftside_bkgimage.gif) top left r= epeat; padding: 5px; margin-bottom: 10px; } = -/* - Make the seam version info into a title - */ +/* Make the seam version info into a title */ .releaseinfo { color: #BA5624; font-size: 150%; } = -/* - use sfwk.org tables - */ +/* Use sfwk.org tables */ .table-contents th { background: #EDE8DB url(../images/seamframework/th.bg.gif) repeat-x scrol= l 0pt; color: black; @@ -138,72 +76,22 @@ border-right: 1px solid #D3D2D1; } = -/* - Image override -*/ -.docnav li.next a strong { - background-image: url(../images/seamframework/stock-go-forward.png); -} +/* Override admonition and navigation images */ +div.caution { background-image: url(../images/seamframework/caution.png); } +div.important { background-image: url(../images/seamframework/important.pn= g); } +div.note { background-image: url(../images/seamframework/note.png); } +div.tip { background-image: url(../images/seamframework/tip.png); } +div.warning { background-image: url(../images/seamframework/warning.png); } +ul { list-style-image: url(../images/seamframework/dot.png); } +ul ul { list-style-image: url(../images/seamframework/dot2.png); } = -/* - Image override -*/ -.docnav li.previous a strong { - background-image: url(../images/seamframework/stock-go-back.png); -} - -/* - Image override -*/ -.docnav li.home a strong { - background-image: url(../images/seamframework/stock-home.png); -} - -/* - Image override -*/ -.docnav li.up a strong { - background-image: url(../images/seamframework/stock-go-up.png); -} - -/* - Image override -*/ -.navheader td.next a { - background-image: url(../images/seamframework/stock-go-forward.png); -} - -/* - Image override -*/ -.navheader td.previous a { - background-image: url(../images/seamframework/stock-go-back.png); -} - -/* - Image override -*/ -.navfooter td.next a { - background-image: url(../images/seamframework/stock-go-forward.png); -} - -/* - Image override -*/ -.navfooter td.previous a { - background-image: url(../images/seamframework/stock-go-back.png); -} - -/* - Image override -*/ -.navfooter td.home a { - background-image: url(../images/seamframework/stock-home.png); -} - -/* - Image override -*/ -.navfooter td.up a { - background-image: url(../images/seamframework/stock-go-up.png); -} +.docnav li.next a strong { background-image: url(../images/seamframework/s= tock-go-forward.png); } +.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/stock-go-back.png); } +.docnav li.home a strong { background-image: url(../images/seamframework/s= tock-home.png); } +.docnav li.up a strong { background-image: url(../images/seamframework/sto= ck-go-up.png); } +.navheader td.next a { background-image: url(../images/seamframework/stock= -go-forward.png); } +.navheader td.previous a { background-image: url(../images/seamframework/s= tock-go-back.png); } +.navfooter td.next a { background-image: url(../images/seamframework/stock= -go-forward.png); } +.navfooter td.previous a { background-image: url(../images/seamframework/s= tock-go-back.png); } +.navfooter td.home a { background-image: url(../images/seamframework/stock= -home.png); } +.navfooter td.up a { background-image: url(../images/seamframework/stock-g= o-up.png); } Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/community_doc.png (from rev 7791, maven-plugins/trunk/seam-jdocbo= ok-style/src/main/images/images/seamframework/support_doc.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/support_doc.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============2057645666763577477==-- From seam-commits at lists.jboss.org Thu Apr 10 02:59:05 2008 Content-Type: multipart/mixed; boundary="===============0385973377304759815==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7895 - in maven-plugins/trunk: seam-jdocbook-style/src/main/css/css and 1 other directory. Date: Thu, 10 Apr 2008 02:59:05 -0400 Message-ID: --===============0385973377304759815== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 02:59:04 -0400 (Thu, 10 Apr 2008) New Revision: 7895 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-html.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/nochunk-html.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Made the names of the header XSL params and CSS classes generic. Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-10 05:39:40 UTC (rev 7894) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-10 06:59:04 UTC (rev 7895) @@ -15,8 +15,8 @@ = = - - - + + + = Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/nochunk-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-10 05:39:40 UTC (rev 7894) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-10 06:59:04 UTC (rev 7895) @@ -15,8 +15,8 @@ = - - - + + + = Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 05:39:40 UTC (rev 7894) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 06:59:04 UTC (rev 7895) @@ -36,7 +36,7 @@ } = /* Override header images */ -#title a.jbossOrg_href { +#title a.site_href { display: block; height: 100px; width: 362px; @@ -44,7 +44,7 @@ background: url(../images/seamframework/seamlogo.png) top left no-repeat; } = -#title a.commDoc_href { +#title a.doc_href { display: block; height: 100px; background: transparent url(../images/seamframework/community_doc.png) to= p right no-repeat; --===============0385973377304759815==-- From seam-commits at lists.jboss.org Thu Apr 10 04:16:59 2008 Content-Type: multipart/mixed; boundary="===============0229147456398029375==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7896 - in maven-plugins/trunk/seam-jdocbook-style/src/main: images/images/seamframework and 1 other directories. Date: Thu, 10 Apr 2008 04:16:59 -0400 Message-ID: --===============0229147456398029375== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 04:16:58 -0400 (Thu, 10 Apr 2008) New Revision: 7896 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/caution.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/important.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/note.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-back.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-forward.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-up.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-home.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/tip.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/warning.png Removed: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/caution.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/important.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/note.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/stock-go-back.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/stock-go-forward.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/stock-go-up.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/stock-home.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/tip.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/warning.png Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Moved callout, admonition, and navigation icons to a docbook subdirectory i= n the images directory. Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 06:59:04 UTC (rev 7895) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 08:16:58 UTC (rev 7896) @@ -76,22 +76,25 @@ border-right: 1px solid #D3D2D1; } = -/* Override admonition and navigation images */ -div.caution { background-image: url(../images/seamframework/caution.png); } -div.important { background-image: url(../images/seamframework/important.pn= g); } -div.note { background-image: url(../images/seamframework/note.png); } -div.tip { background-image: url(../images/seamframework/tip.png); } -div.warning { background-image: url(../images/seamframework/warning.png); } +/* Override bullet points */ ul { list-style-image: url(../images/seamframework/dot.png); } ul ul { list-style-image: url(../images/seamframework/dot2.png); } = -.docnav li.next a strong { background-image: url(../images/seamframework/s= tock-go-forward.png); } -.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/stock-go-back.png); } -.docnav li.home a strong { background-image: url(../images/seamframework/s= tock-home.png); } -.docnav li.up a strong { background-image: url(../images/seamframework/sto= ck-go-up.png); } -.navheader td.next a { background-image: url(../images/seamframework/stock= -go-forward.png); } -.navheader td.previous a { background-image: url(../images/seamframework/s= tock-go-back.png); } -.navfooter td.next a { background-image: url(../images/seamframework/stock= -go-forward.png); } -.navfooter td.previous a { background-image: url(../images/seamframework/s= tock-go-back.png); } -.navfooter td.home a { background-image: url(../images/seamframework/stock= -home.png); } -.navfooter td.up a { background-image: url(../images/seamframework/stock-g= o-up.png); } +/* Override admonition and navigation images */ +div.caution { background-image: url(../images/seamframework/docbook/cautio= n.png); } +div.important { background-image: url(../images/seamframework/docbook/impo= rtant.png); } +div.note { background-image: url(../images/seamframework/docbook/note.png)= ; } +div.tip { background-image: url(../images/seamframework/docbook/tip.png); } +div.warning { background-image: url(../images/seamframework/docbook/warnin= g.png); } + +.docnav li.next a strong { background-image: url(../images/seamframework/d= ocbook/stock-go-forward.png); } +.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/docbook/stock-go-back.png); } +.docnav li.home a strong { background-image: url(../images/seamframework/d= ocbook/stock-home.png); } +.docnav li.up a strong { background-image: url(../images/seamframework/doc= book/stock-go-up.png); } + +.navheader td.next a { background-image: url(../images/seamframework/docbo= ok/stock-go-forward.png); } +.navheader td.previous a { background-image: url(../images/seamframework/d= ocbook/stock-go-back.png); } +.navfooter td.next a { background-image: url(../images/seamframework/docbo= ok/stock-go-forward.png); } +.navfooter td.previous a { background-image: url(../images/seamframework/d= ocbook/stock-go-back.png); } +.navfooter td.home a { background-image: url(../images/seamframework/docbo= ok/stock-home.png); } +.navfooter td.up a { background-image: url(../images/seamframework/docbook= /stock-go-up.png); } Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/caution.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/caution.png (from rev 7791, maven-plugins/trunk/seam-jdoc= book-style/src/main/images/images/seamframework/caution.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/important.png (from rev 7791, maven-plugins/trunk/seam-jd= ocbook-style/src/main/images/images/seamframework/important.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/note.png (from rev 7791, maven-plugins/trunk/seam-jdocboo= k-style/src/main/images/images/seamframework/note.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/stock-go-back.png (from rev 7791, maven-plugins/trunk/sea= m-jdocbook-style/src/main/images/images/seamframework/stock-go-back.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/stock-go-forward.png (from rev 7791, maven-plugins/trunk/= seam-jdocbook-style/src/main/images/images/seamframework/stock-go-forward.p= ng) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/stock-go-up.png (from rev 7791, maven-plugins/trunk/seam-= jdocbook-style/src/main/images/images/seamframework/stock-go-up.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/stock-home.png (from rev 7791, maven-plugins/trunk/seam-j= docbook-style/src/main/images/images/seamframework/stock-home.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/tip.png (from rev 7791, maven-plugins/trunk/seam-jdocbook= -style/src/main/images/images/seamframework/tip.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/warning.png (from rev 7791, maven-plugins/trunk/seam-jdoc= book-style/src/main/images/images/seamframework/warning.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/important.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/note.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/stock-go-back.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/stock-go-forward.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/stock-go-up.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/stock-home.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/tip.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/warning.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============0229147456398029375==-- From seam-commits at lists.jboss.org Thu Apr 10 04:42:37 2008 Content-Type: multipart/mixed; boundary="===============2953853735663340676==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7897 - in maven-plugins/trunk/seam-jdocbook-style/src/main: images/images/seamframework/docbook and 1 other directory. Date: Thu, 10 Apr 2008 04:42:37 -0400 Message-ID: --===============2953853735663340676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 04:42:37 -0400 (Thu, 10 Apr 2008) New Revision: 7897 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/home.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/next.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/prev.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/up.png Removed: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-back.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-forward.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-go-up.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/stock-home.png Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Renamed navigation icons to match default DocBook names. Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 08:16:58 UTC (rev 7896) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-10 08:42:37 UTC (rev 7897) @@ -87,14 +87,14 @@ div.tip { background-image: url(../images/seamframework/docbook/tip.png); } div.warning { background-image: url(../images/seamframework/docbook/warnin= g.png); } = -.docnav li.next a strong { background-image: url(../images/seamframework/d= ocbook/stock-go-forward.png); } -.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/docbook/stock-go-back.png); } -.docnav li.home a strong { background-image: url(../images/seamframework/d= ocbook/stock-home.png); } -.docnav li.up a strong { background-image: url(../images/seamframework/doc= book/stock-go-up.png); } +.docnav li.next a strong { background-image: url(../images/seamframework/d= ocbook/next.png); } +.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/docbook/prev.png); } +.docnav li.home a strong { background-image: url(../images/seamframework/d= ocbook/home.png); } +.docnav li.up a strong { background-image: url(../images/seamframework/doc= book/up.png); } = -.navheader td.next a { background-image: url(../images/seamframework/docbo= ok/stock-go-forward.png); } -.navheader td.previous a { background-image: url(../images/seamframework/d= ocbook/stock-go-back.png); } -.navfooter td.next a { background-image: url(../images/seamframework/docbo= ok/stock-go-forward.png); } -.navfooter td.previous a { background-image: url(../images/seamframework/d= ocbook/stock-go-back.png); } -.navfooter td.home a { background-image: url(../images/seamframework/docbo= ok/stock-home.png); } -.navfooter td.up a { background-image: url(../images/seamframework/docbook= /stock-go-up.png); } +.navheader td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } +.navheader td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } +.navfooter td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } +.navfooter td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } +.navfooter td.home a { background-image: url(../images/seamframework/docbo= ok/home.png); } +.navfooter td.up a { background-image: url(../images/seamframework/docbook= /up.png); } Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/home.png (from rev 7896, maven-plugins/trunk/seam-jdocboo= k-style/src/main/images/images/seamframework/docbook/stock-home.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/next.png (from rev 7896, maven-plugins/trunk/seam-jdocboo= k-style/src/main/images/images/seamframework/docbook/stock-go-forward.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/prev.png (from rev 7896, maven-plugins/trunk/seam-jdocboo= k-style/src/main/images/images/seamframework/docbook/stock-go-back.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/stock-go-back.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/stock-go-forward.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/stock-go-up.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/stock-home.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seam= framework/docbook/up.png (from rev 7896, maven-plugins/trunk/seam-jdocbook-= style/src/main/images/images/seamframework/docbook/stock-go-up.png) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============2953853735663340676==-- From seam-commits at lists.jboss.org Thu Apr 10 06:10:02 2008 Content-Type: multipart/mixed; boundary="===============1909807417504447042==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7898 - in maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframework/docbook: callouts and 1 other directory. Date: Thu, 10 Apr 2008 06:10:01 -0400 Message-ID: --===============1909807417504447042== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 06:10:01 -0400 (Thu, 10 Apr 2008) New Revision: 7898 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/1.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/1.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/10.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/10.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/11.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/11.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/12.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/12.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/13.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/13.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/14.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/14.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/15.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/15.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/2.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/2.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/3.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/3.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/4.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/4.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/5.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/5.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/6.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/6.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/7.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/7.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/8.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/8.png maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/9.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/9.png Log: Added seam styled callouts. Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/1.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/1.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/1.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/10.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/10.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/10.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/10.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/11.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/11.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/11.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/11.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/12.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/12.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/12.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/12.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/13.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/13.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/13.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/13.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/14.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/14.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/14.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/14.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/15.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/15.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/15.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/15.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/2.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/2.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/2.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/3.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/3.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/3.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/3.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/4.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/4.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/4.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/4.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/5.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/5.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/5.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/5.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/6.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/6.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/6.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/6.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/7.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/7.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/7.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/7.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/8.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/8.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/8.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/8.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/9.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/9.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/9.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: maven-plugins/trunk/seam-jdocbook-style/src/main/image= s/images/seamframework/docbook/callouts/9.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream --===============1909807417504447042==-- From seam-commits at lists.jboss.org Thu Apr 10 06:11:00 2008 Content-Type: multipart/mixed; boundary="===============5669290163429961464==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7899 - maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam. Date: Thu, 10 Apr 2008 06:11:00 -0400 Message-ID: --===============5669290163429961464== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-10 06:11:00 -0400 (Thu, 10 Apr 2008) New Revision: 7899 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-html.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-pdf.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/nochunk-html.xsl Log: Added seam styled callouts. Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-10 10:10:01 UTC (rev 7898) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-10 10:11:00 UTC (rev 7899) @@ -18,5 +18,7 @@ - = + images/seamframework/docbook/= callouts/ + 17px + Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-pdf.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-10 10:10:01 UTC (rev 7898) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-10 10:11:00 UTC (rev 7899) @@ -14,6 +14,13 @@ = = + + + + + images/seamframework/docbook/callouts/ + + = #576C74 #885324 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/nochunk-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-10 10:10:01 UTC (rev 7898) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-10 10:11:00 UTC (rev 7899) @@ -18,5 +18,7 @@ - = + images/seamframework/docbook/= callouts/ + 17px + --===============5669290163429961464==-- From seam-commits at lists.jboss.org Fri Apr 11 00:42:27 2008 Content-Type: multipart/mixed; boundary="===============7606464881379337142==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7901 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Fri, 11 Apr 2008 00:42:27 -0400 Message-ID: --===============7606464881379337142== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 00:42:27 -0400 (Fri, 11 Apr 2008) New Revision: 7901 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Dependencies.xml Log: JBSEAM-2868 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Dependencies.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Dependencies.xml 2008-= 04-11 04:41:37 UTC (rev 7900) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Dependencies.xml 2008-= 04-11 04:42:27 UTC (rev 7901) @@ -54,24 +54,9 @@ = = - = + = - commons-codec.jar - - - runtime - - - ear - - - Required by Seam Security when using Digest authenti= cation. - - = - = - - jboss-seam.jar @@ -219,24 +204,9 @@ URL Rewrite library = - = + = - jcaptcha-all.jar - - - runtime - - - ear - - - Required for Captcha support - - = - = - - quartz.jar --===============7606464881379337142==-- From seam-commits at lists.jboss.org Fri Apr 11 00:43:18 2008 Content-Type: multipart/mixed; boundary="===============5844398920160182780==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7900 - trunk/doc/reference/en/modules. Date: Fri, 11 Apr 2008 00:41:37 -0400 Message-ID: --===============5844398920160182780== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 00:41:37 -0400 (Fri, 11 Apr 2008) New Revision: 7900 Modified: trunk/doc/reference/en/modules/dependencies.xml Log: JBSEAM-2868 Modified: trunk/doc/reference/en/modules/dependencies.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/dependencies.xml 2008-04-10 10:11:00 UTC= (rev 7899) +++ trunk/doc/reference/en/modules/dependencies.xml 2008-04-11 04:41:37 UTC= (rev 7900) @@ -50,24 +50,9 @@ = = - = + = - commons-codec.jar - - - runtime - - - ear - - - Required by Seam Security when using Digest authenti= cation. - - = - = - - jboss-seam.jar @@ -215,24 +200,9 @@ URL Rewrite library = - = + = - jcaptcha-all.jar - - - runtime - - - ear - - - Required for Captcha support - - = - = - - quartz.jar --===============5844398920160182780==-- From seam-commits at lists.jboss.org Fri Apr 11 01:17:25 2008 Content-Type: multipart/mixed; boundary="===============8741560702940392098==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7902 - branches/Seam_2_0/src/main/org/jboss/seam/init. Date: Fri, 11 Apr 2008 01:17:24 -0400 Message-ID: --===============8741560702940392098== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 01:17:24 -0400 (Fri, 11 Apr 2008) New Revision: 7902 Modified: branches/Seam_2_0/src/main/org/jboss/seam/init/Initialization.java Log: JBSEAM-2865 Modified: branches/Seam_2_0/src/main/org/jboss/seam/init/Initialization.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/init/Initialization.java 2008= -04-11 04:42:27 UTC (rev 7901) +++ branches/Seam_2_0/src/main/org/jboss/seam/init/Initialization.java 2008= -04-11 05:17:24 UTC (rev 7902) @@ -476,7 +476,20 @@ } if ( !set.add(descriptor) ) { - throw new IllegalStateException("Two components with the same nam= e and precedence: " + name); + ComponentDescriptor other =3D null; + for (ComponentDescriptor d : set) + { + if (descriptor.compareTo(d) =3D=3D 0) + { + other =3D d; + break; + } + } + = + throw new IllegalStateException("Two components with the same nam= e and precedence - " + + "component name: " + name + ", component classes: " + = + descriptor.getComponentClass().getName() + ", " + + (other !=3D null ? other.getComponentClass().getName() : "<= unknown>")); } } = --===============8741560702940392098==-- From seam-commits at lists.jboss.org Fri Apr 11 01:17:52 2008 Content-Type: multipart/mixed; boundary="===============3371763592412119764==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7903 - trunk/src/main/org/jboss/seam/init. Date: Fri, 11 Apr 2008 01:17:52 -0400 Message-ID: --===============3371763592412119764== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 01:17:52 -0400 (Fri, 11 Apr 2008) New Revision: 7903 Modified: trunk/src/main/org/jboss/seam/init/Initialization.java Log: JBSEAM-2865 Modified: trunk/src/main/org/jboss/seam/init/Initialization.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/init/Initialization.java 2008-04-11 05:17= :24 UTC (rev 7902) +++ trunk/src/main/org/jboss/seam/init/Initialization.java 2008-04-11 05:17= :52 UTC (rev 7903) @@ -481,7 +481,20 @@ } if ( !set.add(descriptor) ) { - throw new IllegalStateException("Two components with the same nam= e and precedence: " + name); + ComponentDescriptor other =3D null; + for (ComponentDescriptor d : set) + { + if (descriptor.compareTo(d) =3D=3D 0) + { + other =3D d; + break; + } + } + = + throw new IllegalStateException("Two components with the same nam= e and precedence - " + + "component name: " + name + ", component classes: " + = + descriptor.getComponentClass().getName() + ", " + + (other !=3D null ? other.getComponentClass().getName() : "<= unknown>")); } } = --===============3371763592412119764==-- From seam-commits at lists.jboss.org Fri Apr 11 03:46:12 2008 Content-Type: multipart/mixed; boundary="===============3727299774000182830==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7904 - trunk/src/main/org/jboss/seam/security. Date: Fri, 11 Apr 2008 03:46:12 -0400 Message-ID: --===============3727299774000182830== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 03:46:12 -0400 (Fri, 11 Apr 2008) New Revision: 7904 Modified: trunk/src/main/org/jboss/seam/security/Identity.java Log: raise notAuthorized event for failed role/permission checks when user is au= thenticated Modified: trunk/src/main/org/jboss/seam/security/Identity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/Identity.java 2008-04-11 05:17:5= 2 UTC (rev 7903) +++ trunk/src/main/org/jboss/seam/security/Identity.java 2008-04-11 07:46:1= 2 UTC (rev 7904) @@ -481,6 +481,7 @@ } else { + if (Events.exists()) Events.instance().raiseEvent(EVENT_NOT_AU= THORIZED); throw new AuthorizationException(String.format( "Authorization check failed for role [%s]", role)); } @@ -509,6 +510,7 @@ } else { + if (Events.exists()) Events.instance().raiseEvent(EVENT_NOT_AU= THORIZED); throw new AuthorizationException(String.format( "Authorization check failed for permission [%s,%s]", nam= e, action)); } @@ -528,6 +530,7 @@ } else { + if (Events.exists()) Events.instance().raiseEvent(EVENT_NOT_AU= THORIZED); throw new AuthorizationException(String.format( "Authorization check failed for permission[%s,%s]", targ= et, action)); } --===============3727299774000182830==-- From seam-commits at lists.jboss.org Fri Apr 11 04:28:57 2008 Content-Type: multipart/mixed; boundary="===============0967491114529857221==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7905 - in maven-plugins/trunk: seam-jdocbook-style/src/main/css/css and 1 other directory. Date: Fri, 11 Apr 2008 04:28:57 -0400 Message-ID: --===============0967491114529857221== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-11 04:28:57 -0400 (Fri, 11 Apr 2008) New Revision: 7905 Added: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-eclipse.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-e= clipse.css Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-pdf.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Added XSL and CSS for Eclipse Help format. Also added admonition path for s= eam main-pdf.xsl using pngs as svgs not available yet. Added: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jb= oss/seam/main-eclipse.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl 2008-04-11 08:28:57 UTC (rev 7905) @@ -0,0 +1,24 @@ + + + + + + + + + + + images/seamframework/docbook/c= allouts/ + 17px + = + + + + Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-pdf.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-11 07:46:12 UTC (rev 7904) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-11 08:28:57 UTC (rev 7905) @@ -14,12 +14,24 @@ = = + images/seamframework/docbook/callouts/ + = + = + + + + + images/seamframework/docbook/ + + = + #576C74 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframewo= rk-eclipse.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= eclipse.css (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= eclipse.css 2008-04-11 08:28:57 UTC (rev 7905) @@ -0,0 +1,5 @@ +(a)import url("seamframework.css"); + +body { + background-image: none; +} Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-11 07:46:12 UTC (rev 7904) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-11 08:28:57 UTC (rev 7905) @@ -92,8 +92,10 @@ .docnav li.home a strong { background-image: url(../images/seamframework/d= ocbook/home.png); } .docnav li.up a strong { background-image: url(../images/seamframework/doc= book/up.png); } = +/* Eclipse Help Navigation */ .navheader td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } .navheader td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } + .navfooter td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } .navfooter td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } .navfooter td.home a { background-image: url(../images/seamframework/docbo= ok/home.png); } --===============0967491114529857221==-- From seam-commits at lists.jboss.org Fri Apr 11 05:22:28 2008 Content-Type: multipart/mixed; boundary="===============3899012663038152112==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7906 - maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam. Date: Fri, 11 Apr 2008 05:22:28 -0400 Message-ID: --===============3899012663038152112== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-11 05:22:28 -0400 (Fri, 11 Apr 2008) New Revision: 7906 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-eclipse.xsl Log: Moved chunk.section.depth=3D0 setting to jbossorg-docbook-xslt main-eclipse= .xsl file. Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/main-eclipse.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl 2008-04-11 08:28:57 UTC (rev 7905) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl 2008-04-11 09:22:28 UTC (rev 7906) @@ -17,8 +17,5 @@ images/seamframework/docbook/c= allouts/ 17px - = - - = --===============3899012663038152112==-- From seam-commits at lists.jboss.org Fri Apr 11 23:31:14 2008 Content-Type: multipart/mixed; boundary="===============0991192961145603203==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7907 - trunk/src/remoting/org/jboss/seam/remoting/gwt. Date: Fri, 11 Apr 2008 23:31:14 -0400 Message-ID: --===============0991192961145603203== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 23:31:14 -0400 (Fri, 11 Apr 2008) New Revision: 7907 Modified: trunk/src/remoting/org/jboss/seam/remoting/gwt/GWTService.java Log: JBSEAM-2880 Modified: trunk/src/remoting/org/jboss/seam/remoting/gwt/GWTService.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/remoting/org/jboss/seam/remoting/gwt/GWTService.java 2008-04-= 11 09:22:28 UTC (rev 7906) +++ trunk/src/remoting/org/jboss/seam/remoting/gwt/GWTService.java 2008-04-= 12 03:31:14 UTC (rev 7907) @@ -427,8 +427,8 @@ // Content-Type must be specified. if (contentType !=3D null) { - // The type must be plain text. - if (contentType.startsWith("text/plain")) + // The type must be plain text or text/x-gwt-rpc + if (contentType.startsWith("text/plain") || contentType.startsWit= h("text/x-gwt-rpc")) { // And it must be UTF-8 encoded (or unspecified, in which case= we // assume that it's either UTF-8 or ASCII). @@ -444,7 +444,7 @@ if (!contentTypeIsOkay) { throw new ServletException( - "Content-Type must be 'text/plain' with 'charset=3Dutf-8' (= or unspecified charset)"); + "Content-Type must be 'text/plain' or 'text/x-gwt-rpc' with= 'charset=3Dutf-8' (or unspecified charset)"); } InputStream in =3D request.getInputStream(); try --===============0991192961145603203==-- From seam-commits at lists.jboss.org Fri Apr 11 23:31:32 2008 Content-Type: multipart/mixed; boundary="===============9202497390834664441==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7908 - branches/Seam_2_0/src/remoting/org/jboss/seam/remoting/gwt. Date: Fri, 11 Apr 2008 23:31:32 -0400 Message-ID: --===============9202497390834664441== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-11 23:31:32 -0400 (Fri, 11 Apr 2008) New Revision: 7908 Modified: branches/Seam_2_0/src/remoting/org/jboss/seam/remoting/gwt/GWTService.ja= va Log: JBSEAM-2880 Modified: branches/Seam_2_0/src/remoting/org/jboss/seam/remoting/gwt/GWTSer= vice.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/remoting/org/jboss/seam/remoting/gwt/GWTService.j= ava 2008-04-12 03:31:14 UTC (rev 7907) +++ branches/Seam_2_0/src/remoting/org/jboss/seam/remoting/gwt/GWTService.j= ava 2008-04-12 03:31:32 UTC (rev 7908) @@ -428,7 +428,7 @@ if (contentType !=3D null) { // The type must be plain text. - if (contentType.startsWith("text/plain")) + if (contentType.startsWith("text/plain") || contentType.startsWit= h("text/x-gwt-rpc")) { // And it must be UTF-8 encoded (or unspecified, in which case= we // assume that it's either UTF-8 or ASCII). @@ -444,7 +444,7 @@ if (!contentTypeIsOkay) { throw new ServletException( - "Content-Type must be 'text/plain' with 'charset=3Dutf-8' (= or unspecified charset)"); + "Content-Type must be 'text/plain' or 'text/x-gwt-rpc' with= 'charset=3Dutf-8' (or unspecified charset)"); } InputStream in =3D request.getInputStream(); try --===============9202497390834664441==-- From seam-commits at lists.jboss.org Sat Apr 12 21:06:27 2008 Content-Type: multipart/mixed; boundary="===============3834285442101254008==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7909 - trunk/src/main/org/jboss/seam/navigation. Date: Sat, 12 Apr 2008 21:06:27 -0400 Message-ID: --===============3834285442101254008== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-12 21:06:27 -0400 (Sat, 12 Apr 2008) New Revision: 7909 Modified: trunk/src/main/org/jboss/seam/navigation/Pages.java Log: JBSEAM-2875 Modified: trunk/src/main/org/jboss/seam/navigation/Pages.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-04-12 03:31:32= UTC (rev 7908) +++ trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-04-13 01:06:27= UTC (rev 7909) @@ -752,12 +752,19 @@ } catch (ValidatorException ve) { - facesContext.addMessage( null, ve.getFacesMessage() ); + if (ve.getFacesMessage() !=3D null) + { + facesContext.addMessage(null, ve.getFacesMessage()); + } + = validationFailed =3D true; } catch (ConverterException ce) { - facesContext.addMessage( null, ce.getFacesMessage() ); + if (ce.getFacesMessage() !=3D null) + { + facesContext.addMessage( null, ce.getFacesMessage() ); + } validationFailed =3D true; } } --===============3834285442101254008==-- From seam-commits at lists.jboss.org Sat Apr 12 21:06:47 2008 Content-Type: multipart/mixed; boundary="===============7952992190081511307==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7910 - branches/Seam_2_0/src/main/org/jboss/seam/navigation. Date: Sat, 12 Apr 2008 21:06:47 -0400 Message-ID: --===============7952992190081511307== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-12 21:06:47 -0400 (Sat, 12 Apr 2008) New Revision: 7910 Modified: branches/Seam_2_0/src/main/org/jboss/seam/navigation/Pages.java Log: JBSEAM-2875 Modified: branches/Seam_2_0/src/main/org/jboss/seam/navigation/Pages.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/navigation/Pages.java 2008-04= -13 01:06:27 UTC (rev 7909) +++ branches/Seam_2_0/src/main/org/jboss/seam/navigation/Pages.java 2008-04= -13 01:06:47 UTC (rev 7910) @@ -756,12 +756,20 @@ } catch (ValidatorException ve) { - facesContext.addMessage( null, ve.getFacesMessage() ); + if (ve.getFacesMessage() !=3D null) + { + facesContext.addMessage( null, ve.getFacesMessage() ); + } + = validationFailed =3D true; } catch (ConverterException ce) { - facesContext.addMessage( null, ce.getFacesMessage() ); + if (ce.getFacesMessage() !=3D null) + { + facesContext.addMessage( null, ce.getFacesMessage() ); + } + = validationFailed =3D true; } } --===============7952992190081511307==-- From seam-commits at lists.jboss.org Sat Apr 12 22:16:22 2008 Content-Type: multipart/mixed; boundary="===============3044553323202951315==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7911 - trunk/doc/reference/en/modules. Date: Sat, 12 Apr 2008 22:16:21 -0400 Message-ID: --===============3044553323202951315== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-12 22:16:21 -0400 (Sat, 12 Apr 2008) New Revision: 7911 Modified: trunk/doc/reference/en/modules/controls.xml Log: JBSEAM-2789, fixed corrupt sections Modified: trunk/doc/reference/en/modules/controls.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/controls.xml 2008-04-13 01:06:47 UTC (re= v 7910) +++ trunk/doc/reference/en/modules/controls.xml 2008-04-13 02:16:21 UTC (re= v 7911) @@ -248,7 +248,9 @@ = The converter works with any managed entity which has an @Id annotation - - either simple or composite. + either simple or composite. The converter should be able to= find the items declared in the + JSF controls (the currently selected, and the items availabl= e for selection), otherwise + you will receive a validation error. = Attributes @@ -295,6 +297,12 @@ ]]> = + + If a page uses more than one entity manager for rendering, t= he + above standard reference to the converter is obligatory. Oth= erwise + the converter's entity loader might show unexpected behavior. + + Usage Description + + + Assigns an enum converter to the current component. This is= primarily + useful for radio button and dropdown controls. + + Attributes + + None. + + Usage + + + +]]> + + = + = + + = <s:convertAtomicBoolean> @@ -367,26 +396,6 @@ ]]> - = - - - - Assigns an enum converter to the current component. This is= primarily - useful for radio button and dropdown controls. - - Attributes - - None. - - Usage - - - -]]> - - = --===============3044553323202951315==-- From seam-commits at lists.jboss.org Sat Apr 12 23:49:13 2008 Content-Type: multipart/mixed; boundary="===============0302373250559202703==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7912 - trunk/doc/reference/en/modules. Date: Sat, 12 Apr 2008 23:49:13 -0400 Message-ID: --===============0302373250559202703== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-12 23:49:13 -0400 (Sat, 12 Apr 2008) New Revision: 7912 Modified: trunk/doc/reference/en/modules/testing.xml Log: JBSEAM-2602 Modified: trunk/doc/reference/en/modules/testing.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/testing.xml 2008-04-13 02:16:21 UTC (rev= 7911) +++ trunk/doc/reference/en/modules/testing.xml 2008-04-13 03:49:13 UTC (rev= 7912) @@ -526,11 +526,13 @@ If you need to insert or clean data in your database before ea= ch = test you can use Seam's integration with DBUnit. To do this, = extend = - DBUnitSeamTest rather than SeamTest. + DBUnitSeamTest rather than SeamTest. = = - You need to provide a dataset for DBUnit: + You need to provide a dataset for DBUnit. IMPORTANT NOTE: DBU= nit supports two + formats for dataset files, flat and XML. Seam's DBUnitSeamTes= t assumes the flat = + format is used, so please ensure that your dataset is in this = format also. = --===============0302373250559202703==-- From seam-commits at lists.jboss.org Sat Apr 12 23:49:23 2008 Content-Type: multipart/mixed; boundary="===============2059579948513111690==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7913 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Sat, 12 Apr 2008 23:49:23 -0400 Message-ID: --===============2059579948513111690== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-12 23:49:23 -0400 (Sat, 12 Apr 2008) New Revision: 7913 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Testing.xml Log: JBSEAM-2602 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Testing.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Testing.xml 2008-04-13= 03:49:13 UTC (rev 7912) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Testing.xml 2008-04-13= 03:49:23 UTC (rev 7913) @@ -530,7 +530,9 @@ = - You need to provide a dataset for DBUnit: + You need to provide a dataset for DBUnit. IMPORTANT NOTE: DBU= nit supports two + formats for dataset files, flat and XML. Seam's DBUnitSeamTes= t assumes the flat = + format is used, so please ensure that your dataset is in this = format also. = --===============2059579948513111690==-- From seam-commits at lists.jboss.org Sun Apr 13 08:25:44 2008 Content-Type: multipart/mixed; boundary="===============4691103280367823004==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7914 - trunk/src/main/org/jboss/seam/init. Date: Sun, 13 Apr 2008 08:25:40 -0400 Message-ID: --===============4691103280367823004== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-13 08:25:39 -0400 (Sun, 13 Apr 2008) New Revision: 7914 Modified: trunk/src/main/org/jboss/seam/init/DeploymentDescriptor.java Log: fixed logging class Modified: trunk/src/main/org/jboss/seam/init/DeploymentDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/init/DeploymentDescriptor.java 2008-04-13= 03:49:23 UTC (rev 7913) +++ trunk/src/main/org/jboss/seam/init/DeploymentDescriptor.java 2008-04-13= 12:25:39 UTC (rev 7914) @@ -20,7 +20,7 @@ */ public class DeploymentDescriptor = { = - private static final LogProvider log =3D Logging.getLogProvider(Initia= lization.class); + private static final LogProvider log =3D Logging.getLogProvider(Deploy= mentDescriptor.class); = private Map ejbDescriptors =3D new HashMap(); private Class componentClass; --===============4691103280367823004==-- From seam-commits at lists.jboss.org Sun Apr 13 08:47:21 2008 Content-Type: multipart/mixed; boundary="===============7719413494487758971==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7915 - in branches/Seam_2_0/doc/Seam_Reference_Guide/en-US: images and 1 other directory. Date: Sun, 13 Apr 2008 08:47:15 -0400 Message-ID: --===============7719413494487758971== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-13 08:47:14 -0400 (Sun, 13 Apr 2008) New Revision: 7915 Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_action_0.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_1.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_2.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_3.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_4.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_5.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connection_p= rofile_6.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_seam_runtime= .png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_web_project_= 2.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/server_propertie= s.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/server_propertie= s_0.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/start_server.png Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JB= oss_Tools.xml Log: JBSEAM-2691 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Getting_Started_= With_JBoss_Tools.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Getting_Started_With_J= Boss_Tools.xml 2008-04-13 12:25:39 UTC (rev 7914) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Getting_Started_With_J= Boss_Tools.xml 2008-04-13 12:47:14 UTC (rev 7915) @@ -38,16 +38,21 @@
  • =
    - Setting up a new Eclipse project + Setting up a new Seam project = - Start up Eclipse and select the Seam Perspective. + + Start up Eclipse and select the Seam perspec= tive. + = - Go to File -> New Seam Web Project. + + Go to File -> New -> + Seam Web Project. + = + align=3D"center" /> + align=3D"center" /> + align=3D"center" /> + /> = - On the next screen give the server a name, and hit finish: + + On the next screen give the server a name, and hit = + Finish: + = + align=3D"center" /> Make sure the runtime and server you just created are selected, s= elect Dynamic Web Project with Seam 2.0 (technology preview)<= /emphasis> - and hit next: + and hit Next: = @@ -143,8 +151,8 @@ = The next 3 screens allow you to further customize your new projec= t, but - for us the defaults are fine. So just hit next until you reach the - final screen. + for us the defaults are fine. So just hit Next = + until you reach the final screen. = @@ -166,18 +174,157 @@ = - Next, select your database type. You'll need to tell JBoss Tools = about - the database. + The most important choice you need to make is between EAR deploym= ent + and WAR deployment of your project. EAR projects support EJB 3.0 = and + require Java EE 5. WAR projects do not support EJB 3.0, but may be + deployed to a J2EE environment. The packaging of a WAR is also si= mpler + to understand. If you installed an EJB3-ready application server = like + JBoss, choose EAR. Otherwise, choose + WAR. We'll assume that you've chosen a WAR = + deployment for the rest of the tutorial, but you can follow exact= ly the + same steps for a EAR deployment. + = + + Next, select your database type. We'll assume you have MySQL inst= alled, + with an existing schema. You'll need to tell JBoss Tools about + the database, select MySQL as the database, = and + create a new connection profile. Select Generic JDBC = + Connection: + + = + + + + + + + + + = + + Give it a name: + + = + + + + + + + + + = + + JBoss Tools doesn't come with drivers for any databases, so you n= eed to + tell JBoss Tools where the MySQL JDBC driver is. Tell it about the + driver by clicking .... + + = + + Locate MySQL 5, and hit Add...: + + = + + + + + + + + + = + + Choose the MySQL JDBC Driver template: + + = + + + + + + + + + = + + Locate the jar on your computer by choosing Edit = + Jar/Zip: + + = + + + + + + + + + = + + Review the username and password used to connect, and if correct,= hit + Ok. + + = + + Finally, choose the newly created driver: + + = + + + + + + + + + = + + If you are working with an existing data model, make sure you tell + JBoss Tools that the tables already exist in the database. + + = + + Review the username and password used to connect, test the connec= tion + using the Test Connection button, and if it = works, + hit Finish: + + = + + Finally, review the package names for your generated beans, and i= f you + are happy, click Finish: + + = + + + + + + + + = JBoss has sophisticated support for hot re-deployment of WARs and= EARs. Unfortunately, due to bugs in the JVM, repeated redeployment of an EAR=E2=80=94which is common during development=E2=80=94eventually= causes the JVM to run out of perm gen space. For this reason, we recommend running JBos= s in a - JVM with a large perm gen space at development time. If you're ru= nning - JBoss from JBoss IDE, you can configure this in the server launch - configuration, under "VM arguments". We suggest the following val= ues: + JVM with a large perm gen space at development time. We suggest t= he = + following values: = @@ -194,108 +341,67 @@ = - If you're running JBoss from the command line, you can configure = the - JVM options in - bin/run.conf - . + Locate the server in the JBoss Server View, = right + click on the server and select Edit Launch = + Configuration: = + = + + + + + + + + + = + + Then, alter the VM arguements: + + = + + + + + + + + = If you don't want to bother with this stuff now, you don't have t= o=E2=80=94come back to it later, when you get your first - OutOfMemoryException - . + OutOfMemoryException. = - The most important choice you need to make is between EAR deploym= ent - and WAR deployment of your project. EAR projects support EJB 3.0 = and - require Java EE 5. WAR projects do not support EJB 3.0, but may be - deployed to a J2EE environment. The packaging of a WAR is also si= mpler - to understand. If you installed an EJB3-ready application server = like - JBoss, choose - ear - . Otherwise, choose - war - . We'll assume that you've chosen an EAR deployment for the rest = of the - tutorial, but you can follow exactly the same steps for a WAR - deployment. + To start JBoss, and deploy the project, just right click on the s= erver + you created, and click Start, (or = + Debug to start in debug mode): = - - If you are working with an existing data model, make sure you tell - seam-gen that the tables already exist in the database. - + + + + + + + + = - This copies the Seam jars, dependent jars and the JDBC driver jar= to a - new Eclipse project, and generates all needed resources and - configuration files, a facelets template file and stylesheet, alo= ng - with Eclipse metadata and an Ant build script. The Eclipse projec= t will - be automatically deployed to an exploded directory structure in J= Boss - AS as soon as you add the project using - - New -> Project... -> General -> Project -> Next - - , typing the - Project name - ( - helloworld - in this case), and then clicking - Finish - . Do not select - Java Project - from the New Project wizard. - - - - Go to - http://localhost:8080/helloworld - to see a welcome page. This is a facelets page, - view/home.xhtml - , using the template - view/layout/template.xhtml - . You can edit this page, or the template, in eclipse, and see the - results - immediately - , by clicking refresh in your browser. - - - Don't get scared by the XML configuration documents that were gen= erated into the project directory. They are mostly standard Java EE stuf= f, the stuff you need to create once and then never look at again, and t= hey - are 90% the same between all Seam projects. (They are so easy to = write - that even seam-gen can do it.) + are 90% the same between all Seam projects. = - - The generated project includes three database and persistence - configurations. The - persistence-test.xml - and - import-test.sql - files are used when running the TestNG unit tests against HSQLDB.= The - database schema and the test data in - import-test.sql - is always exported to the database before running tests. The - myproject-dev-ds.xml - , - persistence-dev.xml - and - import-dev.sql - files are for use when deploying the application to your developm= ent - database. The schema might be exported automatically at deploymen= t, - depending upon whether you told seam-gen that you are working wit= h an - existing database. The - myproject-prod-ds.xml - , - persistence-prod.xml - and - import-prod.sql - files are for use when deploying the application to your producti= on - database. The schema is not exported automatically at deployment. -
    =
    @@ -304,44 +410,113 @@ If you're used to traditional action-style web frameworks, you're probably wondering how you can create a simple web page with a - stateless action method in Java. If you type: + stateless action method in Java. + = + + First, select New -> Seam Action: + + = + + + + + + + + + = + + Now, enter the name of the Seam component. JBoss Tools selects se= nsible + defaults for other fields: + + = + + + + + + + + + = + + Finally, hit Finish. + = - Now go to - http://localhost:8080/helloworld/ping.seam + Now go to http://localhost:8080/helloworld/ping.seam and click the button. You can see the code behind this action by - looking in the project - src - directory. Put a breakpoint in the - ping() - method, and click the button again. + looking in the project src directory. Put a = + breakpoint in the ping() method, and click the = + button again. = - Finally, locate the - PingTest.xml - file in the test package and run the integration tests using the = TestNG - plugin for Eclipse. Alternatively, run the tests using - seam test - or the - test - target of the generated build. + Finally, open the helloworld-test project, loc= ate + PingTest class, right click on it, and choose + Run As -> TestNG Test: + = + + + + + + + + + =
    =
    Creating a form with an action = - The next step is to create a form. Type: + + The first step is to create a form. Select New -> = + Seam Form: + = + + + + + + + + + = + + Now, enter the name of the Seam component. JBoss Tools selects se= nsible + defaults for other fields: + + = + + + + + + + + = - Restart the application again, and go to - http://localhost:8080/helloworld/hello.seam - . Then take a look at the generated code. Run the test. Try addin= g some - new fields to the form and Seam component (remember to restart the - deployment each time you change the Java code). + Go to http://localhost:8080/helloworld/hello.seam. = + Then take a look at the generated code. Run the test. Try adding = some + new fields to the form and Seam component (note, you don't need t= o = + restart the app server each time you change the code in = + src/action as Seam hot reloads the component f= or = + you ).
    = @@ -350,58 +525,61 @@ = Manually create some tables in your database. (If you need to swi= tch to - a different database, just run - seam setup - again.) Now type: + a different database, create a new project, and select the correct + database). Then, select New -> = + Seam Generate Entities: = - = + + + + + + + + + = - Restart the deployment, and go to - http://localhost:8080/helloworld - . You can browse the database, edit existing objects, and create = new - objects. If you look at the generated code, you'll probably be am= azed - how simple it is! Seam was designed so that data access code is e= asy to - write by hand, even for people who don't want to cheat by using - seam-gen. + JBoss Tools gives you the option to either reverse engineer + entities, components and views from a database schema or to rever= se + engineer components and views from existing JPA entities. We're g= oing + to do Reverse engieneer from database. -
    - -
    - Generating an application from existing JPA/EJB3 entities</ti= tle> - + = <para> - Place your existing, valid entity classes inside the - <literal>src/model</literal> - . Now type + Restart the deployment: </para> - + = + <mediaobject> + <imageobject role=3D"fo"> + <imagedata fileref=3D"images/restart_deployment.png" + align=3D"center" /> + </imageobject> + <imageobject role=3D"html"> + <imagedata fileref=3D"images/restart_deployment.png" + align=3D"center" /> + </imageobject> + </mediaobject> + = <para> - Restart the deployment, and go to - <literal>http://localhost:8080/helloworld</literal> - . + Then go to <literal>http://localhost:8080/helloworld</literal>. Y= ou can + browse the database, edit existing objects, and create new object= s. If = + you look at the generated code, you'll probably be amazed how sim= ple it + is! Seam was designed so that data access code is easy to write b= y = + hand, even for people who don't want to cheat by using reverse + engineering. </para> </section> = - <section> - <title>Seam and incremental hot deployment +
    + Seam and incremental hot deployment with JBoss Tools = - When you deploy your Seam application as an exploded directory, y= ou'll - get some support for incremental hot deployment at development ti= me. - You need to enable debug mode in both Seam and Facelets, by addin= g this - line to - components.xml - : + JBoss Tools supports incremental hot deployment of: = - ]]><= /programlisting> - - - Now, the following files may be redeployed without requiring a fu= ll - restart of the web application: - - any facelets page @@ -409,30 +587,28 @@ = - any - pages.xml - file + any pages.xml file + = + + out of the box. + = But if we want to change any Java code, we still need to do a full - restart of the application. (In JBoss this may be accomplished by - touching the top level deployment descriptor: - application.xml - for an EAR deployment, or - web.xml - for a WAR deployment.) + restart of the application by doing a = + Full Publish. = But if you really want a fast edit/compile/test cycle, Seam suppo= rts incremental redeployment of JavaBean components. To make use of t= his functionality, you must deploy the JavaBean components into the - WEB-INF/dev - directory, so that they will be loaded by a special Seam classloa= der, - instead of by the WAR or EAR classloader. + WEB-INF/dev directory, so that they will be lo= aded = + by a special Seam classloader, instead of by the WAR or EAR = + classloader. = You need to be aware of the following limitations: @@ -446,36 +622,37 @@ = - entities can never be hot-deloyed + + entities can never be hot-deloyed + = - components deployed via - components.xml - may not be hot-deployed + components deployed via components.xml m= ay not + be hot-deployed = the hot-deployable components will not be visible to any cl= asses - deployed outside of - WEB-INF/dev + deployed outside of WEB-INF/dev = - Seam debug mode must be enabled and - jboss-seam-debug.jar - must be in + Seam debug mode must be enabled and = + jboss-seam-debug.jar must be in WEB-INF/lib = - You must have the Seam filter installed in web.xml + + You must have the Seam filter installed in web.xml + = @@ -488,11 +665,10 @@ = - If you create a WAR project using seam-gen, incremental hot deplo= yment - is available out of the box for classes in the - src/action - source directory. However, seam-gen does not support incremental = hot - deployment for EAR projects. + If you create a WAR project using JBoss Tools, incremental hot de= ployment + is available out of the box for classes in the = + src/action source directory. However, JBoss To= ols = + does not support incremental hot deployment for EAR projects.
    = = Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_action_0= .png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_action_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_1.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_2.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_3.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_3.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_4.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_4.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_5.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_5.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_connecti= on_profile_6.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_connection_profile_6.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_seam_run= time.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_seam_runtime.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_web_proj= ect_2.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_web_project_2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/server_prope= rties.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/server_properties.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/server_prope= rties_0.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/server_properties_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/start_server= .png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/start_server.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream --===============7719413494487758971==-- From seam-commits at lists.jboss.org Sun Apr 13 08:47:58 2008 Content-Type: multipart/mixed; boundary="===============3184193462932959522==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7916 - in trunk/seam-gen/view: layout and 1 other directories. Date: Sun, 13 Apr 2008 08:47:56 -0400 Message-ID: --===============3184193462932959522== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-13 08:47:56 -0400 (Sun, 13 Apr 2008) New Revision: 7916 Modified: trunk/seam-gen/view/action.xhtml trunk/seam-gen/view/conversation.xhtml trunk/seam-gen/view/edit.page.xml.ftl trunk/seam-gen/view/edit.xhtml trunk/seam-gen/view/edit.xhtml.ftl trunk/seam-gen/view/editproperty.xhtml.ftl trunk/seam-gen/view/error.xhtml trunk/seam-gen/view/form.xhtml trunk/seam-gen/view/home.xhtml trunk/seam-gen/view/layout/template.xhtml trunk/seam-gen/view/list.page.xml.ftl trunk/seam-gen/view/list.xhtml trunk/seam-gen/view/list.xhtml.ftl trunk/seam-gen/view/login.xhtml trunk/seam-gen/view/page.xhtml trunk/seam-gen/view/query.xhtml trunk/seam-gen/view/stylesheet/theme.css trunk/seam-gen/view/view.page.xml.ftl trunk/seam-gen/view/view.xhtml.ftl Log: JBSEAM-2160 Modified: trunk/seam-gen/view/action.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/action.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/action.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - - = + = = @pageName@ - = + - = - = - = + + + - = + = Modified: trunk/seam-gen/view/conversation.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/conversation.xhtml 2008-04-13 12:47:14 UTC (rev 791= 5) +++ trunk/seam-gen/view/conversation.xhtml 2008-04-13 12:47:56 UTC (rev 791= 6) @@ -1,4 +1,4 @@ - - = + = - = + @pageName@ - = +
    Value #{@componentName(a).value}
    - = +
    - = + - = +
    - = - = - = + + +
    - = + = Modified: trunk/seam-gen/view/edit.page.xml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/edit.page.xml.ftl 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/edit.page.xml.ftl 2008-04-13 12:47:56 UTC (rev 7916) @@ -9,11 +9,11 @@ xsi:schemaLocation=3D"http://jboss.com/products/seam/pages http://jb= oss.com/products/seam/pages-2.1.xsd" no-conversation-view-id=3D"/${masterPageName}.xhtml" login-required=3D"true"> - = + - = + - = + <#assign idName =3D componentName + util.upper(pojo.identifierProperty.nam= e)> <#if c2j.isComponent(pojo.identifierProperty)> @@ -33,15 +33,15 @@ - = + - = + - = + Modified: trunk/seam-gen/view/edit.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/edit.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/edit.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - - = + - = + - = + = @pageName@ - = + Name - = +
    - = + =
    - = = - + = = - + -
    - = + - = + = Modified: trunk/seam-gen/view/edit.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/edit.xhtml.ftl 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/edit.xhtml.ftl 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - <#assign entityName =3D pojo.shortName> <#assign componentName =3D util.lower(entityName)> @@ -14,52 +14,52 @@ xmlns:a=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich" template=3D"layout/template.xhtml"> - = + - = + = - = + ${'#'}{${homeName}.managed ? 'Edit' := 'Add'} ${entityName} <#foreach property in pojo.allPropertiesIterator> <#include "editproperty.xhtml.ftl"> - = +
    - * = + * required fields
    - = +
    - = +
    = - = - = - + + - = - - = - - = - <#assign parentPageName =3D parentPojo.shortName> <#assign parentName =3D util.lower(parentPojo.shortName)> - = + <#if property.optional> <#else>
    - = - - = - @@ -119,31 +119,31 @@ <#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)> <#foreach componentProperty in parentParentPojo.identifierProperty.value.p= ropertyIterator> - ${parentProperty.name} ${componentPrope= rty.name} - ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.iden= tifierProperty.name}.${componentProperty.name}} + ${parentProperty.name} ${componentPro= perty.name} + ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.i= dentifierProperty.name}.${componentProperty.name}} <#else> - ${parentProperty.name} ${parentParentPo= jo.identifierProperty.name} - ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.iden= tifierProperty.name}} + ${parentProperty.name} ${parentParent= Pojo.identifierProperty.name} + ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.i= dentifierProperty.name}} action - <#if parentPojo.isComponent(parentPojo.identifierProperty)> <#foreach componentProperty in parentPojo.identifierProperty.value.propert= yIterator> - <#else> - @@ -157,7 +157,7 @@
    - = +
    @@ -166,17 +166,17 @@ =
    - = + <#assign childPojo =3D c2j.getPOJOClass(property.value.element.associatedC= lass)> <#assign childPageName =3D childPojo.shortName> <#assign childEditPageName =3D childPojo.shortName + "Edit"> <#assign childName =3D util.lower(childPojo.shortName)> - - = - <#foreach childProperty in childPojo.allPropertiesIterator> @@ -198,33 +198,33 @@ action - <#if childPojo.isComponent(childPojo.identifierProperty)> <#foreach componentProperty in childPojo.identifierProperty.value.property= Iterator> - <#else> - - = +
    - = +
    - - Modified: trunk/seam-gen/view/editproperty.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/editproperty.xhtml.ftl 2008-04-13 12:47:14 UTC (rev= 7915) +++ trunk/seam-gen/view/editproperty.xhtml.ftl 2008-04-13 12:47:56 UTC (rev= 7916) @@ -10,7 +10,7 @@ ${componentProperty.name} <#if isDate(componentProperty)> - disabled=3D"${'#'}{${homeName}.managed}" @@ -19,7 +19,7 @@ value=3D"${'#'}{${homeName}.instance.${property.= name}.${componentProperty.name}}" datePattern=3D"MM/dd/yyyy" /> <#elseif isTime(componentProperty)> - required=3D"true" @@ -29,7 +29,7 @@ <#elseif isTimestamp(componentProperty)> - required=3D"true" @@ -39,7 +39,7 @@ <#elseif isBigDecimal(componentProperty)> - required=3D"true" @@ -48,7 +48,7 @@ <#elseif isBigInteger(componentProperty)> - disabled=3D"${'#'}{${homeName}.managed}" @@ -91,7 +91,7 @@ <#else> <#assign size =3D column.length> - disabled=3D"${'#'}{${homeName}.managed}" @@ -125,7 +125,7 @@ ${property.name} <#if isDate(property)> - disabled=3D"${'#'}{${homeName}.managed}" @@ -134,7 +134,7 @@ value=3D"${'#'}{${homeName}.instance.${property.= name}}" datePattern=3D"MM/dd/yyyy" /> <#elseif isTime(property)> - required=3D"true" @@ -144,7 +144,7 @@ <#elseif isTimestamp(property)> - required=3D"true" @@ -154,7 +154,7 @@ <#elseif isBigDecimal(property)> - required=3D"true" @@ -163,7 +163,7 @@ <#elseif isBigInteger(property)> - disabled=3D"${'#'}{${homeName}.managed}" @@ -206,7 +206,7 @@ <#else> <#assign size =3D column.length> - disabled=3D"${'#'}{${homeName}.managed}" Modified: trunk/seam-gen/view/error.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/error.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/error.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - Error

    Something bad happened :-(

    - = + - = -
    = + + Modified: trunk/seam-gen/view/form.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/form.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/form.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - - = + = - = + = @pageName@ - = + Value - = +
    - = + =
    - = = +
    = - = + = Modified: trunk/seam-gen/view/home.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/home.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/home.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - = - = + Welcome!

    This empty shell application includes:

    @@ -29,6 +29,6 @@
  • Internationalization support
  • - = - = + +
    Modified: trunk/seam-gen/view/layout/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/layout/template.xhtml 2008-04-13 12:47:14 UTC (rev = 7915) +++ trunk/seam-gen/view/layout/template.xhtml 2008-04-13 12:47:56 UTC (rev = 7916) @@ -19,14 +19,14 @@ = -
    - -
    +
    + +
    = -
    - Powered by Seam. - Generated by seam-gen. -
    +
    + Powered by Seam. + Generated by seam-gen. +
    = Modified: trunk/seam-gen/view/list.page.xml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/list.page.xml.ftl 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/list.page.xml.ftl 2008-04-13 12:47:56 UTC (rev 7916) @@ -2,15 +2,15 @@ - = -<#include "../util/TypeInfo.ftl"> = + +<#include "../util/TypeInfo.ftl"> <#assign entityName =3D pojo.shortName> <#assign componentName =3D util.lower(entityName)> <#assign listName =3D componentName + "List"> - = + <#foreach property in pojo.allPropertiesIterator> <#if !c2h.isCollection(property) && !c2h.isManyToOne(property) && property= !=3D pojo.versionProperty!> Modified: trunk/seam-gen/view/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/list.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/list.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - - = + - = + - = + @masterPageName@ - = +
    - = - - = + Id @@ -29,25 +29,25 @@ Name - - - = +
    - = +
    - = +
    - = + view=3D"/@pageName(a).xhtml"/>
    - = +
    =
    Modified: trunk/seam-gen/view/list.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/list.xhtml.ftl 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/list.xhtml.ftl 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,7 +1,7 @@ - = -<#include "../util/TypeInfo.ftl"> = +<#include "../util/TypeInfo.ftl"> <#assign entityName =3D pojo.shortName> <#assign componentName =3D util.lower(entityName)> <#assign listName =3D componentName + "List"> @@ -16,15 +16,15 @@ xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:rich=3D"http://richfaces.org/rich" template=3D"layout/template.xhtml"> - = + - = + - = + - = + - = + <#foreach property in pojo.allPropertiesIterator> <#if !c2h.isCollection(property) && !c2h.isManyToOne(property) && property= !=3D pojo.versionProperty!> <#if c2j.isComponent(property)> @@ -48,25 +48,25 @@ - = + - = +
    - = +
    - = + ${entityName} search results
    = - - = - <#foreach property in pojo.allPropertiesIterator> <#if !c2h.isCollection(property) && !c2h.isManyToOne(property) && property= !=3D pojo.versionProperty!> @@ -81,7 +81,7 @@ = + value=3D"${property.name} ${'#'}{${listName}.= orderColumn=3D=3D'${property.name}' ? (${listName}.orderDirection=3D=3D'des= c' ? messages.down : messages.up) : ''}"> @@ -121,16 +121,16 @@ action - <#if pojo.isComponent(pojo.identifierProperty)> <#foreach componentProperty in pojo.identifierProperty.value.propertyItera= tor> - <#else> - @@ -139,45 +139,45 @@ =
    - = +
    - = - - = - - - = - - - = - - - = +
    - = + <#assign idName =3D componentName + util.upper(pojo.identifierProperty.nam= e)> <#if c2j.isComponent(pojo.identifierProperty)> @@ -190,7 +190,7 @@ - = +
    = Modified: trunk/seam-gen/view/login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/login.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/login.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - = - = + - = + - = + Login - = +

    Please login here

    - = +
    Username - Password - Remember me -
    - = +

    Note - Please use demo/password to log in the first = time. After logging in you may then use the User Manager link to manage user accounts.

    - = +
    - = +
    - = +
    = -
    = +
    Modified: trunk/seam-gen/view/page.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/page.xhtml 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/page.xhtml 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - - = + =

    @beanName@ results

    Generated query page

    - = + - = - - = + <#assign entityName =3D pojo.shortName> <#assign componentName =3D util.lower(entityName)> <#assign homeName =3D componentName + "Home"> Modified: trunk/seam-gen/view/view.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/view.xhtml.ftl 2008-04-13 12:47:14 UTC (rev 7915) +++ trunk/seam-gen/view/view.xhtml.ftl 2008-04-13 12:47:56 UTC (rev 7916) @@ -1,4 +1,4 @@ - <#assign entityName =3D pojo.shortName> <#assign componentName =3D util.lower(entityName)> @@ -13,11 +13,11 @@ xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:rich=3D"http://richfaces.org/rich" template=3D"layout/template.xhtml"> - = + - = + - = + ${entityName} <#foreach property in pojo.allPropertiesIterator> @@ -27,13 +27,13 @@ =
    - = + - = -
    = = - + + =
    - = - - = - @@ -89,36 +89,36 @@ <#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)> <#foreach componentProperty in parentParentPojo.identifierProperty.value.p= ropertyIterator> - ${parentProperty.name} ${componentPrope= rty.name} - ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.iden= tifierProperty.name}.${componentProperty.name}} + ${parentProperty.name} ${componentPro= perty.name} + ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.i= dentifierProperty.name}.${componentProperty.name}} <#else> - ${parentProperty.name} ${parentParentPo= jo.identifierProperty.name} - ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.iden= tifierProperty.name}} + ${parentProperty.name} ${parentParent= Pojo.identifierProperty.name} + ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.i= dentifierProperty.name}} action - <#if parentPojo.isComponent(parentPojo.identifierProperty)> <#foreach componentProperty in parentPojo.identifierProperty.value.propert= yIterator> - <#else> - - = +
    @@ -126,7 +126,7 @@ =
    - = + <#assign childPojo =3D c2j.getPOJOClass(property.value.element.associatedC= lass)> <#assign childPageName =3D childPojo.shortName> <#assign childEditPageName =3D childPojo.shortName + "Edit"> @@ -134,10 +134,10 @@ <#assign childHomeName =3D childName + "Home"> - = - <#foreach childProperty in childPojo.allPropertiesIterator> @@ -159,40 +159,40 @@ action - <#if childPojo.isComponent(childPojo.identifierProperty)> <#foreach componentProperty in childPojo.identifierProperty.value.property= Iterator> - <#else> - - = +
    - = +
    - - -
    = +
    <#if hasAssociations> - = + = --===============3184193462932959522==-- From seam-commits at lists.jboss.org Sun Apr 13 08:51:19 2008 Content-Type: multipart/mixed; boundary="===============2135615047209240082==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7917 - trunk/seam-gen/src. Date: Sun, 13 Apr 2008 08:51:14 -0400 Message-ID: --===============2135615047209240082== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-13 08:51:14 -0400 (Sun, 13 Apr 2008) New Revision: 7917 Modified: trunk/seam-gen/src/Action.java trunk/seam-gen/src/ActionBean.java trunk/seam-gen/src/ActionJavaBean.java trunk/seam-gen/src/Authenticator.java trunk/seam-gen/src/Conversation.java trunk/seam-gen/src/ConversationBean.java trunk/seam-gen/src/ConversationJavaBean.java trunk/seam-gen/src/Entity.java trunk/seam-gen/src/EntityHome.java trunk/seam-gen/src/EntityHome.java.ftl trunk/seam-gen/src/EntityList.java trunk/seam-gen/src/EntityList.java.ftl trunk/seam-gen/src/FormAction.java trunk/seam-gen/src/FormActionBean.java trunk/seam-gen/src/FormActionJavaBean.java trunk/seam-gen/src/Query.java Log: JBSEAM-2160 Modified: trunk/seam-gen/src/Action.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/Action.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/Action.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -3,10 +3,10 @@ import javax.ejb.Local; = @Local -public interface @interfaceName@ { = - = - //seam-gen method - public void @methodName@(); = - = +public interface @interfaceName@ { + + //seam-gen method + public void @methodName@(); + //add additional interface methods here } \ No newline at end of file Modified: trunk/seam-gen/src/ActionBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/ActionBean.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/ActionBean.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -10,18 +10,18 @@ @Stateless @Name("@componentName@") public class @beanName@ implements @interfaceName@ { - = + @Logger private Log log; - = + @In FacesMessages facesMessages; - = + public void @methodName@() { //implement your business logic here log.info("@componentName(a).@methodName@() action called"); facesMessages.add("@methodName@"); } - = + //add additional action methods - = + } Modified: trunk/seam-gen/src/ActionJavaBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/ActionJavaBean.java 2008-04-13 12:47:56 UTC (rev 791= 6) +++ trunk/seam-gen/src/ActionJavaBean.java 2008-04-13 12:51:14 UTC (rev 791= 7) @@ -8,18 +8,18 @@ = @Name("@componentName@") public class @interfaceName@ { - = + @Logger private Log log; - = + @In FacesMessages facesMessages; - = + public void @methodName@() { //implement your business logic here log.info("@componentName(a).@methodName@() action called"); facesMessages.add("@methodName@"); } - = + //add additional action methods - = + } Modified: trunk/seam-gen/src/Authenticator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/Authenticator.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/Authenticator.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -11,9 +11,9 @@ public class Authenticator { @Logger Log log; - = + @In Identity identity; - = + public boolean authenticate() { log.info("authenticating #0", identity.getUsername()); Modified: trunk/seam-gen/src/Conversation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/Conversation.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/Conversation.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -3,14 +3,14 @@ import javax.ejb.Local; = @Local -public interface @interfaceName@ { = - = - //seam-gen methods - public String begin(); - public String increment(); - public String end(); - public int getValue(); - public void destroy(); - = - //add additional interface methods here = +public interface @interfaceName@ { + + //seam-gen methods + public String begin(); + public String increment(); + public String end(); + public int getValue(); + public void destroy(); + + //add additional interface methods here } \ No newline at end of file Modified: trunk/seam-gen/src/ConversationBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/ConversationBean.java 2008-04-13 12:47:56 UTC (rev 7= 916) +++ trunk/seam-gen/src/ConversationBean.java 2008-04-13 12:51:14 UTC (rev 7= 917) @@ -12,41 +12,41 @@ @Stateful @Name("@componentName@") public class @beanName@ implements @interfaceName@ { - = + @Logger private Log log; - = + private int value; - = - @Begin - public String begin() - { - //implement your begin conversation business logic - log.info("beginning conversation"); - return "success"; - } - = - public String increment() - { - log.info("incrementing"); - value++; - return "success"; - } - = - //add additional action methods that participate in this conversation - = - @End - public String end() - { + + @Begin + public String begin() + { + //implement your begin conversation business logic + log.info("beginning conversation"); + return "success"; + } + + public String increment() + { + log.info("incrementing"); + value++; + return "success"; + } + + //add additional action methods that participate in this conversation + + @End + public String end() + { //implement your end conversation business logic log.info("ending conversation"); - return "home"; - } - = - public int getValue() - { - return value; - } - = - @Destroy @Remove = = - public void destroy() {} = + return "home"; + } + + public int getValue() + { + return value; + } + + @Destroy @Remove + public void destroy() {} } Modified: trunk/seam-gen/src/ConversationJavaBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/ConversationJavaBean.java 2008-04-13 12:47:56 UTC (r= ev 7916) +++ trunk/seam-gen/src/ConversationJavaBean.java 2008-04-13 12:51:14 UTC (r= ev 7917) @@ -12,39 +12,39 @@ @Scope(CONVERSATION) @Name("@componentName@") public class @interfaceName@ { - = + @Logger private Log log; - = + private int value; - = - @Begin - public String begin() - { - //implement your begin conversation business logic - log.info("beginning conversation"); - return "success"; - } - = - public String increment() - { - log.info("incrementing"); - value++; - return "success"; - } - = - //add additional action methods that participate in this conversation - = - @End - public String end() - { + + @Begin + public String begin() + { + //implement your begin conversation business logic + log.info("beginning conversation"); + return "success"; + } + + public String increment() + { + log.info("incrementing"); + value++; + return "success"; + } + + //add additional action methods that participate in this conversation + + @End + public String end() + { //implement your end conversation business logic log.info("ending conversation"); - return "home"; - } - = - public int getValue() - { - return value; - } - = + return "home"; + } + + public int getValue() + { + return value; + } + } Modified: trunk/seam-gen/src/Entity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/Entity.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/Entity.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -9,40 +9,40 @@ = @Entity public class @entityName@ implements Serializable { - = - //seam-gen attributes (you should probably edit these) - private Long id; - private Integer version; - private String name; - = + + //seam-gen attributes (you should probably edit these) + private Long id; + private Integer version; + private String name; + //add additional entity attributes - = - //seam-gen attribute getters/setters with annotations (you probably shoul= d edit) - = - @Id @GeneratedValue - public Long getId() { - return id; - } = - public void setId(Long id) { - this.id =3D id; - } - = - @Version - public Integer getVersion() { - return version; - } + //seam-gen attribute getters/setters with annotations (you probably shou= ld edit) = - private void setVersion(Integer version) { - this.version =3D version; - } = - = - @Length(max=3D20) - public String getName() { - return name; - } + @Id @GeneratedValue + public Long getId() { + return id; + } = - public void setName(String name) { - this.name =3D name; - } = + public void setId(Long id) { + this.id =3D id; + } + + @Version + public Integer getVersion() { + return version; + } + + private void setVersion(Integer version) { + this.version =3D version; + } + + @Length(max=3D20) + public String getName() { + return name; + } + + public void setName(String name) { + this.name =3D name; + } } Modified: trunk/seam-gen/src/EntityHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/EntityHome.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/EntityHome.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -11,12 +11,12 @@ public class @entityName(a)Home extends EntityHome<@entityName@> { = - @RequestParameter = + @RequestParameter Long @componentName(a)Id; - = + @Override - public Object getId() = - { = + public Object getId() + { if (@componentName(a)Id=3D=3Dnull) { return super.getId(); @@ -26,10 +26,10 @@ return @componentName(a)Id; } } - = + @Override @Begin public void create() { super.create(); } - = + } Modified: trunk/seam-gen/src/EntityHome.java.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/EntityHome.java.ftl 2008-04-13 12:47:56 UTC (rev 791= 6) +++ trunk/seam-gen/src/EntityHome.java.ftl 2008-04-13 12:51:14 UTC (rev 791= 7) @@ -37,7 +37,7 @@ { set${idName}( new ${entityName}Id() ); } - = + @Override public boolean isIdDefined() { @@ -64,7 +64,7 @@ return ${componentName}; } - = + public void wire() { <#foreach property in pojo.allPropertiesIterator> @@ -82,7 +82,7 @@ } - = + public boolean isWired() { <#foreach property in pojo.allPropertiesIterator> @@ -93,18 +93,18 @@ return true; } - = + public ${entityName} getDefinedInstance() { return isIdDefined() ? getInstance() : null; } - = + <#foreach property in pojo.allPropertiesIterator> <#assign getter =3D pojo.getGetterSignature(property)> <#if c2h.isOneToManyCollection(property)> <#assign childPojo =3D c2j.getPOJOClass(property.value.element.associatedC= lass)> public ${pojo.importType("java.util.List")}<${childPojo.shortName}> ${= getter}() { - return getInstance() =3D=3D null ? = + return getInstance() =3D=3D null ? null : new ${pojo.importType("java.util.ArrayList")}<${childPo= jo.shortName}>( getInstance().${getter}() ); } Modified: trunk/seam-gen/src/EntityList.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/EntityList.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/EntityList.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -7,8 +7,8 @@ public class @entityName(a)List extends EntityQuery { @Override - public String getEjbql() = - { = + public String getEjbql() + { return "select @componentName@ from @entityName@ @componentName@"; } } Modified: trunk/seam-gen/src/EntityList.java.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/EntityList.java.ftl 2008-04-13 12:47:56 UTC (rev 791= 6) +++ trunk/seam-gen/src/EntityList.java.ftl 2008-04-13 12:51:14 UTC (rev 791= 7) @@ -47,22 +47,22 @@ = @Override - public String getEjbql() = - { = + public String getEjbql() + { return "select ${componentName} from ${entityName} ${componentName= }"; } - = + @Override public Integer getMaxResults() { - return 25; + return 25; } - = + public ${entityName} get${entityName}() { return ${componentName}; } - = + @Override public List getRestrictions() { Modified: trunk/seam-gen/src/FormAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/FormAction.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/FormAction.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -3,12 +3,12 @@ import javax.ejb.Local; = @Local -public interface @interfaceName@ { = - = - public void @methodName@(); = - public String getValue(); - public void setValue(String value); - public void destroy(); - = +public interface @interfaceName@ { + + public void @methodName@(); + public String getValue(); + public void setValue(String value); + public void destroy(); + //add additional interface methods here } \ No newline at end of file Modified: trunk/seam-gen/src/FormActionBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/FormActionBean.java 2008-04-13 12:47:56 UTC (rev 791= 6) +++ trunk/seam-gen/src/FormActionBean.java 2008-04-13 12:51:14 UTC (rev 791= 7) @@ -10,25 +10,25 @@ import org.jboss.seam.faces.FacesMessages; import org.hibernate.validator.Length; = -(a)Stateful = +(a)Stateful @Name("@componentName@") public class @beanName@ implements @interfaceName@ { = @Logger private Log log; - = + @In FacesMessages facesMessages; - = + private String value; - = + public void @methodName@() - { + { //implement your business logic here log.info("@componentName(a).@methodName@() action called with: #{@= componentName(a).value}"); facesMessages.add("@methodName@ #{@componentName(a).value}"); - } - = - //add additional action methods - = + } + + //add additional action methods + @Length(max=3D10) public String getValue() { @@ -40,7 +40,7 @@ this.value =3D value; } = - @Destroy @Remove = = + @Destroy @Remove public void destroy() {} - = + } Modified: trunk/seam-gen/src/FormActionJavaBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/FormActionJavaBean.java 2008-04-13 12:47:56 UTC (rev= 7916) +++ trunk/seam-gen/src/FormActionJavaBean.java 2008-04-13 12:51:14 UTC (rev= 7917) @@ -11,29 +11,29 @@ public class @interfaceName@ { = @Logger private Log log; - = + @In FacesMessages facesMessages; - = + private String value; - = - public void @methodName@() - { - //implement your business logic here - log.info("@componentName(a).@methodName@() action called with: #{@compon= entName(a).value}"); - facesMessages.add("@methodName@ #{@componentName(a).value}"); - } - = - //add additional action methods - = - @Length(max=3D10) - public String getValue() - { - return value; - } - = - public void setValue(String value) - { - this.value =3D value; - } - = + + public void @methodName@() + { + //implement your business logic here + log.info("@componentName(a).@methodName@() action called with: #{@comp= onentName(a).value}"); + facesMessages.add("@methodName@ #{@componentName(a).value}"); + } + + //add additional action methods + + @Length(max=3D10) + public String getValue() + { + return value; + } + + public void setValue(String value) + { + this.value =3D value; + } + } Modified: trunk/seam-gen/src/Query.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/src/Query.java 2008-04-13 12:47:56 UTC (rev 7916) +++ trunk/seam-gen/src/Query.java 2008-04-13 12:51:14 UTC (rev 7917) @@ -8,8 +8,8 @@ public class @beanName@ extends EntityQuery { @Override - public String getEjbql() = - { = + public String getEjbql() + { return "@query@"; } = @@ -18,7 +18,7 @@ public void setFirstResult(Integer firstResult) { super.setFirstResult(firstResult); } - = + @Override public Integer getMaxResults() { return 25; --===============2135615047209240082==-- From seam-commits at lists.jboss.org Sun Apr 13 15:30:56 2008 Content-Type: multipart/mixed; boundary="===============4906975928056005344==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7918 - trunk/seam-gen. Date: Sun, 13 Apr 2008 15:30:56 -0400 Message-ID: --===============4906975928056005344== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 15:30:56 -0400 (Sun, 13 Apr 2008) New Revision: 7918 Modified: trunk/seam-gen/README Log: formatting and one spelling error Modified: trunk/seam-gen/README =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/README 2008-04-13 12:51:14 UTC (rev 7917) +++ trunk/seam-gen/README 2008-04-13 19:30:56 UTC (rev 7918) @@ -1,12 +1,14 @@ NAME - seam (aka seam-gen) - Execute seam code generation. The seam.bat - (Windows) and seam (Linux/Unix) scripts support commands that use - Ant build targets to setup a Seam project and generate source code. - Ant is not required to be on your path to use this script. + seam (aka seam-gen) - Execute seam code generation. + + The seam.bat (Windows) and seam (Linux/Unix) scripts support + commands that use Ant build targets to set up a Seam project and + generate source code. Ant is not required to be on your path to + use this script. = JBoss AS must be installed to deploy the project. If you use EJB3 - components, the JBoss server must have the EJB3 module installed. - (JBoss AS >=3D 4.2.0.GA recommended) + components, the JBoss server must have EJB 3 capabilities. + (JBoss AS 4.2 is strongly recommended) = SYNOPSIS seam COMMAND --===============4906975928056005344==-- From seam-commits at lists.jboss.org Sun Apr 13 15:31:09 2008 Content-Type: multipart/mixed; boundary="===============4381339772952260810==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7919 - branches/Seam_2_0/seam-gen. Date: Sun, 13 Apr 2008 15:31:09 -0400 Message-ID: --===============4381339772952260810== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 15:31:09 -0400 (Sun, 13 Apr 2008) New Revision: 7919 Modified: branches/Seam_2_0/seam-gen/README Log: formatting and one spelling error Modified: branches/Seam_2_0/seam-gen/README =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/README 2008-04-13 19:30:56 UTC (rev 7918) +++ branches/Seam_2_0/seam-gen/README 2008-04-13 19:31:09 UTC (rev 7919) @@ -1,12 +1,14 @@ NAME - seam (aka seam-gen) - Execute seam code generation. The seam.bat - (Windows) and seam (Linux/Unix) scripts support commands that use - Ant build targets to setup a Seam project and generate source code. - Ant is not required to be on your path to use this script. + seam (aka seam-gen) - Execute seam code generation. + + The seam.bat (Windows) and seam (Linux/Unix) scripts support + commands that use Ant build targets to set up a Seam project and + generate source code. Ant is not required to be on your path to + use this script. = JBoss AS must be installed to deploy the project. If you use EJB3 - components, the JBoss server must have the EJB3 module installed. - (JBoss AS >=3D 4.2.0.GA recommended) + components, the JBoss server must have EJB 3 capabilities. + (JBoss AS 4.2 is strongly recommended) = SYNOPSIS seam COMMAND --===============4381339772952260810==-- From seam-commits at lists.jboss.org Sun Apr 13 16:05:30 2008 Content-Type: multipart/mixed; boundary="===============8942429510866118340==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7920 - trunk/seam-gen. Date: Sun, 13 Apr 2008 16:05:30 -0400 Message-ID: --===============8942429510866118340== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:05:30 -0400 (Sun, 13 Apr 2008) New Revision: 7920 Modified: trunk/seam-gen/build.xml Log: remove extra comma Modified: trunk/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build.xml 2008-04-13 19:31:09 UTC (rev 7919) +++ trunk/seam-gen/build.xml 2008-04-13 20:05:30 UTC (rev 7920) @@ -211,7 +211,7 @@ = --===============8942429510866118340==-- From seam-commits at lists.jboss.org Sun Apr 13 16:06:20 2008 Content-Type: multipart/mixed; boundary="===============8781159177847187945==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7921 - branches/Seam_2_0/seam-gen. Date: Sun, 13 Apr 2008 16:06:19 -0400 Message-ID: --===============8781159177847187945== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:06:19 -0400 (Sun, 13 Apr 2008) New Revision: 7921 Modified: branches/Seam_2_0/seam-gen/build.xml Log: remove extra comma Modified: branches/Seam_2_0/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:05:30 UTC (rev 7920) +++ branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:06:19 UTC (rev 7921) @@ -210,7 +210,7 @@ = @@ -695,7 +695,7 @@ = - = + --===============8781159177847187945==-- From seam-commits at lists.jboss.org Sun Apr 13 16:19:01 2008 Content-Type: multipart/mixed; boundary="===============4518113331770143464==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7922 - branches/Seam_2_0. Date: Sun, 13 Apr 2008 16:19:00 -0400 Message-ID: --===============4518113331770143464== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:19:00 -0400 (Sun, 13 Apr 2008) New Revision: 7922 Modified: branches/Seam_2_0/seam Log: set svn:executable bit Property changes on: branches/Seam_2_0/seam ___________________________________________________________________ Name: svn:executable + * --===============4518113331770143464==-- From seam-commits at lists.jboss.org Sun Apr 13 16:19:32 2008 Content-Type: multipart/mixed; boundary="===============6502334565520080025==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7923 - trunk. Date: Sun, 13 Apr 2008 16:19:32 -0400 Message-ID: --===============6502334565520080025== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:19:32 -0400 (Sun, 13 Apr 2008) New Revision: 7923 Modified: trunk/seam Log: set svn:executable bit Property changes on: trunk/seam ___________________________________________________________________ Name: svn:executable + * --===============6502334565520080025==-- From seam-commits at lists.jboss.org Sun Apr 13 16:24:04 2008 Content-Type: multipart/mixed; boundary="===============2328713785215648433==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7924 - trunk/seam-gen. Date: Sun, 13 Apr 2008 16:24:03 -0400 Message-ID: --===============2328713785215648433== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:24:03 -0400 (Sun, 13 Apr 2008) New Revision: 7924 Modified: trunk/seam-gen/build.xml Log: remove more extra commas Modified: trunk/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build.xml 2008-04-13 20:19:32 UTC (rev 7923) +++ trunk/seam-gen/build.xml 2008-04-13 20:24:03 UTC (rev 7924) @@ -186,7 +186,7 @@ = @@ -405,13 +405,13 @@ = = --===============2328713785215648433==-- From seam-commits at lists.jboss.org Sun Apr 13 16:25:05 2008 Content-Type: multipart/mixed; boundary="===============4481931910948194554==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7925 - branches/Seam_2_0/seam-gen. Date: Sun, 13 Apr 2008 16:25:05 -0400 Message-ID: --===============4481931910948194554== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:25:05 -0400 (Sun, 13 Apr 2008) New Revision: 7925 Modified: branches/Seam_2_0/seam-gen/build.xml Log: remove more extra commas Modified: branches/Seam_2_0/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:24:03 UTC (rev 7924) +++ branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:25:05 UTC (rev 7925) @@ -185,7 +185,7 @@ = @@ -404,13 +404,13 @@ = = --===============4481931910948194554==-- From seam-commits at lists.jboss.org Sun Apr 13 16:27:21 2008 Content-Type: multipart/mixed; boundary="===============6133788673603000024==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7926 - branches/Seam_2_0/seam-gen. Date: Sun, 13 Apr 2008 16:27:21 -0400 Message-ID: --===============6133788673603000024== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:27:21 -0400 (Sun, 13 Apr 2008) New Revision: 7926 Modified: branches/Seam_2_0/seam-gen/build.xml Log: remove extra spaces Modified: branches/Seam_2_0/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:25:05 UTC (rev 7925) +++ branches/Seam_2_0/seam-gen/build.xml 2008-04-13 20:27:21 UTC (rev 7926) @@ -209,7 +209,7 @@ = = @@ -233,7 +233,7 @@ = @@ -403,13 +403,13 @@ = = = @@ -554,7 +554,7 @@ = --===============6133788673603000024==-- From seam-commits at lists.jboss.org Sun Apr 13 16:28:06 2008 Content-Type: multipart/mixed; boundary="===============8756749231641556965==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7927 - trunk/seam-gen. Date: Sun, 13 Apr 2008 16:28:05 -0400 Message-ID: --===============8756749231641556965== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-13 16:28:05 -0400 (Sun, 13 Apr 2008) New Revision: 7927 Modified: trunk/seam-gen/build.xml Log: remove extra spaces Modified: trunk/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build.xml 2008-04-13 20:27:21 UTC (rev 7926) +++ trunk/seam-gen/build.xml 2008-04-13 20:28:05 UTC (rev 7927) @@ -210,7 +210,7 @@ = = @@ -234,7 +234,7 @@ = @@ -404,13 +404,13 @@ = = = @@ -555,7 +555,7 @@ = @@ -696,7 +696,7 @@ = - = + --===============8756749231641556965==-- From seam-commits at lists.jboss.org Sun Apr 13 18:55:00 2008 Content-Type: multipart/mixed; boundary="===============4402279443856832392==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7928 - trunk/doc/reference/en/modules and 1 other directory. Date: Sun, 13 Apr 2008 18:55:00 -0400 Message-ID: --===============4402279443856832392== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-13 18:55:00 -0400 (Sun, 13 Apr 2008) New Revision: 7928 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml trunk/doc/reference/en/modules/security.xml Log: Remove authenticate-method (confusing!) Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-1= 3 20:28:05 UTC (rev 7927) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-1= 3 22:55:00 UTC (rev 7928) @@ -501,8 +501,7 @@ provided by JBoss AS), then the entry in components.xml= would look like this: = - ]]> + ]]> = Please keep in mind that doing this does not mean that your user= will be authenticated in whichever Modified: trunk/doc/reference/en/modules/security.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/security.xml 2008-04-13 20:28:05 UTC (re= v 7927) +++ trunk/doc/reference/en/modules/security.xml 2008-04-13 22:55:00 UTC (re= v 7928) @@ -499,8 +499,7 @@ provided by JBoss AS), then the entry in components.xml= would look like this: = - ]]> + ]]> = Please keep in mind that doing this does not mean that your user= will be authenticated in whichever --===============4402279443856832392==-- From seam-commits at lists.jboss.org Mon Apr 14 00:03:34 2008 Content-Type: multipart/mixed; boundary="===============7299241434962534911==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7929 - in trunk/src/main/org/jboss/seam: annotations/security/permission and 1 other directories. Date: Mon, 14 Apr 2008 00:03:34 -0400 Message-ID: --===============7299241434962534911== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 00:03:34 -0400 (Mon, 14 Apr 2008) New Revision: 7929 Added: trunk/src/main/org/jboss/seam/annotations/security/PermissionCheck.java trunk/src/main/org/jboss/seam/annotations/security/permission/ trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= Action.java trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= Discriminator.java trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= Role.java trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= Target.java trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= User.java Removed: trunk/src/main/org/jboss/seam/annotations/security/PermissionAction.java Modified: trunk/src/main/org/jboss/seam/annotations/security/Delete.java trunk/src/main/org/jboss/seam/annotations/security/Insert.java trunk/src/main/org/jboss/seam/annotations/security/Read.java trunk/src/main/org/jboss/seam/annotations/security/Update.java trunk/src/main/org/jboss/seam/security/SecurityInterceptor.java Log: renamed PermissionAction -> PermissionCheck, new permission annotations Modified: trunk/src/main/org/jboss/seam/annotations/security/Delete.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/Delete.java 2008-04-= 13 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/annotations/security/Delete.java 2008-04-= 14 04:03:34 UTC (rev 7929) @@ -17,7 +17,7 @@ @Documented @Retention(RUNTIME) @Inherited -(a)PermissionAction("delete") +(a)PermissionCheck("delete") public @interface Delete { Class value(); } Modified: trunk/src/main/org/jboss/seam/annotations/security/Insert.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/Insert.java 2008-04-= 13 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/annotations/security/Insert.java 2008-04-= 14 04:03:34 UTC (rev 7929) @@ -17,7 +17,7 @@ @Documented @Retention(RUNTIME) @Inherited -(a)PermissionAction("insert") +(a)PermissionCheck("insert") public @interface Insert { Class value(); } Deleted: trunk/src/main/org/jboss/seam/annotations/security/PermissionActio= n.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/PermissionAction.jav= a 2008-04-13 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/annotations/security/PermissionAction.jav= a 2008-04-14 04:03:34 UTC (rev 7929) @@ -1,24 +0,0 @@ -package org.jboss.seam.annotations.security; - -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -/** - * Meta-annotation that designates an annotation as being a permission act= ion, = - * requiring a security check prior to invoking the annotated method or cl= ass - * - * @author Shane Bryzak - */ -(a)Target({TYPE}) -(a)Documented -(a)Retention(RUNTIME) -(a)Inherited -public @interface PermissionAction = -{ - String value() default ""; -} Added: trunk/src/main/org/jboss/seam/annotations/security/PermissionCheck.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/PermissionCheck.java= (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/PermissionCheck.java= 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,24 @@ +package org.jboss.seam.annotations.security; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Meta-annotation that designates an annotation as being a permission act= ion, = + * requiring a security check prior to invoking the annotated method or cl= ass + * + * @author Shane Bryzak + */ +(a)Target({TYPE}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionCheck = +{ + String value() default ""; +} Modified: trunk/src/main/org/jboss/seam/annotations/security/Read.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/Read.java 2008-04-13= 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/annotations/security/Read.java 2008-04-14= 04:03:34 UTC (rev 7929) @@ -17,7 +17,7 @@ @Documented @Retention(RUNTIME) @Inherited -(a)PermissionAction("read") +(a)PermissionCheck("read") public @interface Read { Class value(); } Modified: trunk/src/main/org/jboss/seam/annotations/security/Update.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/Update.java 2008-04-= 13 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/annotations/security/Update.java 2008-04-= 14 04:03:34 UTC (rev 7929) @@ -17,7 +17,7 @@ @Documented @Retention(RUNTIME) @Inherited -(a)PermissionAction("update") +(a)PermissionCheck("update") public @interface Update { Class value(); } Added: trunk/src/main/org/jboss/seam/annotations/security/permission/Permis= sionAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nAction.java (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nAction.java 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,25 @@ +package org.jboss.seam.annotations.security.permission; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Flags an entity field or method as representing the action component of= a permission, e.g. "update", + * "delete". + * = + * @author Shane Bryzak + */ +(a)Target({METHOD,FIELD}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionAction +{ + +} Added: trunk/src/main/org/jboss/seam/annotations/security/permission/Permis= sionDiscriminator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nDiscriminator.java (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nDiscriminator.java 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,25 @@ +package org.jboss.seam.annotations.security.permission; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Flags an entity field or method as representing the discriminator colum= n in a permission table + * that contains permissions for both roles and users. + * = + * @author Shane Bryzak + */ +(a)Target({METHOD,FIELD}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionDiscriminator +{ + +} Added: trunk/src/main/org/jboss/seam/annotations/security/permission/Permis= sionRole.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nRole.java (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nRole.java 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,24 @@ +package org.jboss.seam.annotations.security.permission; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Flags an entity field or method as representing the role that a permiss= ion is assigned to. + * = + * @author Shane Bryzak + */ +(a)Target({METHOD,FIELD}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionRole +{ + +} Added: trunk/src/main/org/jboss/seam/annotations/security/permission/Permis= sionTarget.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nTarget.java (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nTarget.java 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,24 @@ +package org.jboss.seam.annotations.security.permission; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Flags an entity field or method as representing the target of a permiss= ion. + * = + * @author Shane Bryzak + */ +(a)Target({METHOD,FIELD}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionTarget +{ + +} Added: trunk/src/main/org/jboss/seam/annotations/security/permission/Permis= sionUser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nUser.java (rev 0) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nUser.java 2008-04-14 04:03:34 UTC (rev 7929) @@ -0,0 +1,25 @@ +package org.jboss.seam.annotations.security.permission; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/** + * Flags an entity field or method as representing the principal (username= ) that a permission is + * assigned to. + * = + * @author Shane Bryzak + */ +(a)Target({METHOD,FIELD}) +(a)Documented +(a)Retention(RUNTIME) +(a)Inherited +public @interface PermissionUser +{ + +} Modified: trunk/src/main/org/jboss/seam/security/SecurityInterceptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/SecurityInterceptor.java 2008-04= -13 22:55:00 UTC (rev 7928) +++ trunk/src/main/org/jboss/seam/security/SecurityInterceptor.java 2008-04= -14 04:03:34 UTC (rev 7929) @@ -8,7 +8,7 @@ import org.jboss.seam.annotations.intercept.AroundInvoke; import org.jboss.seam.annotations.intercept.Interceptor; import org.jboss.seam.annotations.intercept.InterceptorType; -import org.jboss.seam.annotations.security.PermissionAction; +import org.jboss.seam.annotations.security.PermissionCheck; import org.jboss.seam.annotations.security.Restrict; import org.jboss.seam.async.AsynchronousInterceptor; import org.jboss.seam.intercept.AbstractInterceptor; @@ -114,9 +114,9 @@ = for (Annotation annotation : method.getAnnotations()) { - if (annotation.annotationType().isAnnotationPresent(Perm= issionAction.class)) + if (annotation.annotationType().isAnnotationPresent(Perm= issionCheck.class)) { - PermissionAction permissionAction =3D annotation.anno= tationType().getAnnotation(PermissionAction.class); + PermissionCheck permissionAction =3D annotation.annot= ationType().getAnnotation(PermissionCheck.class); = Method valueMethod =3D null; for (Method m : annotation.annotationType().getDeclar= edMethods()) --===============7299241434962534911==-- From seam-commits at lists.jboss.org Mon Apr 14 00:11:00 2008 Content-Type: multipart/mixed; boundary="===============6180269703900765079==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7930 - trunk/src/main/org/jboss/seam. Date: Mon, 14 Apr 2008 00:11:00 -0400 Message-ID: --===============6180269703900765079== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 00:11:00 -0400 (Mon, 14 Apr 2008) New Revision: 7930 Modified: trunk/src/main/org/jboss/seam/Component.java Log: annotation name changed Modified: trunk/src/main/org/jboss/seam/Component.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/Component.java 2008-04-14 04:03:34 UTC (r= ev 7929) +++ trunk/src/main/org/jboss/seam/Component.java 2008-04-14 04:11:00 UTC (r= ev 7930) @@ -82,7 +82,7 @@ import org.jboss.seam.annotations.faces.Validator; import org.jboss.seam.annotations.intercept.InterceptorType; import org.jboss.seam.annotations.intercept.Interceptors; -import org.jboss.seam.annotations.security.PermissionAction; +import org.jboss.seam.annotations.security.PermissionCheck; import org.jboss.seam.annotations.security.Restrict; import org.jboss.seam.annotations.web.RequestParameter; import org.jboss.seam.async.AsynchronousInterceptor; @@ -1085,7 +1085,7 @@ { for (Annotation annotation : method.getAnnotations()) { - if (annotation.annotationType().isAnnotationPresent(Permiss= ionAction.class)) + if (annotation.annotationType().isAnnotationPresent(Permiss= ionCheck.class)) { secure =3D true; break; --===============6180269703900765079==-- From seam-commits at lists.jboss.org Mon Apr 14 00:13:41 2008 Content-Type: multipart/mixed; boundary="===============1196174699304267186==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7931 - in trunk/src/main/org/jboss/seam/security: permission/dynamic and 1 other directory. Date: Mon, 14 Apr 2008 00:13:40 -0400 Message-ID: --===============1196174699304267186== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 00:13:40 -0400 (Mon, 14 Apr 2008) New Revision: 7931 Added: trunk/src/main/org/jboss/seam/security/management/BeanProperty.java Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermiss= ionResolver.java trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPerm= issionStore.java Log: minor refactoring, initial configuration work for JpaDynamicPermissionStore Added: trunk/src/main/org/jboss/seam/security/management/BeanProperty.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/BeanProperty.java = (rev 0) +++ trunk/src/main/org/jboss/seam/security/management/BeanProperty.java 200= 8-04-14 04:13:40 UTC (rev 7931) @@ -0,0 +1,173 @@ +package org.jboss.seam.security.management; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +/** + * A convenience class for working with an annotated property (either a fi= eld or method) of + * a JavaBean class. + * = + * @author Shane Bryzak + */ +public class BeanProperty +{ + private Field propertyField; + private Method propertyGetter; + private Method propertySetter; + private Annotation annotation; + private String name; + private Class propertyClass; + = + private boolean isFieldProperty; + = + private BeanProperty(Field propertyField, Annotation annotation) + { + this.propertyField =3D propertyField; + isFieldProperty =3D true; + this.annotation =3D annotation; + this.name =3D propertyField.getName(); + this.propertyClass =3D propertyField.getDeclaringClass(); + } + = + private BeanProperty(Method propertyMethod, Annotation annotation) + { + if (!(propertyMethod.getName().startsWith("get") || (propertyMethod.= getName().startsWith("is")))) + { + throw new IllegalArgumentException("Bean property method name " += propertyMethod.getClass().getName() + + "." + propertyMethod.getName() + "() must start with \"get\= " or \"is\"."); + } + = + if (propertyMethod.getReturnType().equals(void.class) || propertyMet= hod.getParameterTypes().length > 0) + { + throw new IllegalArgumentException("Bean property method " + prop= ertyMethod.getClass().getName() + + "." + propertyMethod.getName() + "() must return a value an= d take no parameters"); + } + = + this.propertyGetter =3D propertyMethod; + this.propertyClass =3D propertyMethod.getReturnType(); + = + String methodName =3D propertyMethod.getName(); + = + this.name =3D methodName.startsWith("get") ? + (methodName.substring(3,4).toLowerCase() + methodName.substrin= g(4)) : + (methodName.substring(2,3).toLowerCase() + methodName.substrin= g(3)); + = + String setterName =3D propertyMethod.getName().startsWith("get") ? + ("set" + methodName.substring(3)) : ("set" + methodName.substr= ing(2)); + = + try + { + propertySetter =3D propertyMethod.getDeclaringClass().getMethod(s= etterName, new Class[] {propertyMethod.getReturnType()}); + } + catch (NoSuchMethodException ex) + { + throw new IllegalArgumentException("Bean property method " + prop= ertyMethod.getClass().getName() + + "." + propertyMethod.getName() + "() must have a correspond= ing setter method."); = + } + = + isFieldProperty =3D false; + this.annotation =3D annotation; + } + = + public void setValue(Object bean, Object value) + { + if (isFieldProperty) + { + boolean accessible =3D propertyField.isAccessible(); + try + { + propertyField.setAccessible(true); + propertyField.set(bean, value); = + } + catch (IllegalAccessException ex) + { + throw new RuntimeException("Exception setting bean property", = ex); + } + finally + { + propertyField.setAccessible(accessible); + } = + } + else + { + try + { + propertySetter.invoke(bean, value); + } + catch (Exception ex) + { + throw new RuntimeException("Exception setting bean property", = ex); + } + } + } + = + public Object getValue(Object bean) + { + if (isFieldProperty) + { + boolean accessible =3D propertyField.isAccessible(); + try + { + propertyField.setAccessible(true); + return propertyField.get(bean); + } + catch (IllegalAccessException ex) + { + throw new RuntimeException("Exception getting bean property", = ex); + } + finally + { + propertyField.setAccessible(accessible); + } + } + else + { + try + { + return propertyGetter.invoke(bean); + } + catch (Exception ex) + { + throw new RuntimeException("Exception getting bean property", = ex); + } + } + } + = + public Annotation getAnnotation() + { + return annotation; + } + = + public String getName() + { + return name; + } + = + public Class getPropertyClass() + { + return propertyClass; + } + = + = + public static BeanProperty scanForProperty(Class cls, Class annotation) + { + for (Field f : cls.getFields()) + { + if (f.isAnnotationPresent(annotation)) = + { + return new BeanProperty(f, f.getAnnotation(annotation)); + } + } + = + for (Method m : cls.getMethods()) + { + if (m.isAnnotationPresent(annotation)) + { + return new BeanProperty(m, m.getAnnotation(annotation)); + } + } + = + return null; + } = +} \ No newline at end of file Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStor= e.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-14 04:11:00 UTC (rev 7930) +++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-14 04:13:40 UTC (rev 7931) @@ -4,9 +4,6 @@ import static org.jboss.seam.annotations.Install.BUILT_IN; = import java.io.Serializable; -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -62,148 +59,8 @@ private ValueExpression entityManager; = = private Class userClass; - private Class roleClass; + private Class roleClass; = = - protected final class BeanProperty - { - private Field propertyField; - private Method propertyGetter; - private Method propertySetter; - private Annotation annotation; - private String name; - private Class propertyClass; - = - private boolean isFieldProperty; - = - public BeanProperty(Field propertyField, Annotation annotation) - { - this.propertyField =3D propertyField; - isFieldProperty =3D true; - this.annotation =3D annotation; - this.name =3D propertyField.getName(); - this.propertyClass =3D propertyField.getDeclaringClass(); - } - = - public BeanProperty(Method propertyMethod, Annotation annotation) - { - if (!(propertyMethod.getName().startsWith("get") || (propertyMeth= od.getName().startsWith("is")))) - { - throw new IllegalArgumentException("Bean property method name = " + propertyMethod.getClass().getName() + - "." + propertyMethod.getName() + "() must start with \"g= et\" or \"is\"."); - } - = - if (propertyMethod.getReturnType().equals(void.class) || property= Method.getParameterTypes().length > 0) - { - throw new IllegalArgumentException("Bean property method " + p= ropertyMethod.getClass().getName() + - "." + propertyMethod.getName() + "() must return a value= and take no parameters"); - } - = - this.propertyGetter =3D propertyMethod; - this.propertyClass =3D propertyMethod.getReturnType(); - = - String methodName =3D propertyMethod.getName(); - = - this.name =3D methodName.startsWith("get") ? - (methodName.substring(3,4).toLowerCase() + methodName.subst= ring(4)) : - (methodName.substring(2,3).toLowerCase() + methodName.subst= ring(3)); - = - String setterName =3D propertyMethod.getName().startsWith("get") ? - ("set" + methodName.substring(3)) : ("set" + methodName.sub= string(2)); - = - try - { - propertySetter =3D propertyMethod.getDeclaringClass().getMetho= d(setterName, new Class[] {propertyMethod.getReturnType()}); - } - catch (NoSuchMethodException ex) - { - throw new IllegalArgumentException("Bean property method " + p= ropertyMethod.getClass().getName() + - "." + propertyMethod.getName() + "() must have a corresp= onding setter method."); = - } - = - isFieldProperty =3D false; - this.annotation =3D annotation; - } - = - public void setValue(Object bean, Object value) - { - if (isFieldProperty) - { - boolean accessible =3D propertyField.isAccessible(); - try - { - propertyField.setAccessible(true); - propertyField.set(bean, value); = - } - catch (IllegalAccessException ex) - { - throw new RuntimeException("Exception setting bean property= ", ex); - } - finally - { - propertyField.setAccessible(accessible); - } = - } - else - { - try - { - propertySetter.invoke(bean, value); - } - catch (Exception ex) - { - throw new RuntimeException("Exception setting bean property= ", ex); - } - } - } - = - public Object getValue(Object bean) - { - if (isFieldProperty) - { - boolean accessible =3D propertyField.isAccessible(); - try - { - propertyField.setAccessible(true); - return propertyField.get(bean); - } - catch (IllegalAccessException ex) - { - throw new RuntimeException("Exception getting bean property= ", ex); - } - finally - { - propertyField.setAccessible(accessible); - } - } - else - { - try - { - return propertyGetter.invoke(bean); - } - catch (Exception ex) - { - throw new RuntimeException("Exception getting bean property= ", ex); - } - } - } - = - public Annotation getAnnotation() - { - return annotation; - } - = - public String getName() - { - return name; - } - = - public Class getPropertyClass() - { - return propertyClass; - } - } - = private BeanProperty userPrincipalProperty; private BeanProperty userPasswordProperty; private BeanProperty userRolesProperty; @@ -259,15 +116,15 @@ = private void initProperties() { - userPrincipalProperty =3D scanForProperty(userClass, UserPrincipal.c= lass); - userPasswordProperty =3D scanForProperty(userClass, UserPassword.cla= ss); - userRolesProperty =3D scanForProperty(userClass, UserRoles.class); - userEnabledProperty =3D scanForProperty(userClass, UserEnabled.class= ); - userFirstNameProperty =3D scanForProperty(userClass, UserFirstName.c= lass); - userLastNameProperty =3D scanForProperty(userClass, UserLastName.cla= ss); + userPrincipalProperty =3D BeanProperty.scanForProperty(userClass, Us= erPrincipal.class); + userPasswordProperty =3D BeanProperty.scanForProperty(userClass, Use= rPassword.class); + userRolesProperty =3D BeanProperty.scanForProperty(userClass, UserRo= les.class); + userEnabledProperty =3D BeanProperty.scanForProperty(userClass, User= Enabled.class); + userFirstNameProperty =3D BeanProperty.scanForProperty(userClass, Us= erFirstName.class); + userLastNameProperty =3D BeanProperty.scanForProperty(userClass, Use= rLastName.class); = - roleNameProperty =3D scanForProperty(roleClass, RoleName.class); - roleGroupsProperty =3D scanForProperty(roleClass, RoleGroups.class); + roleNameProperty =3D BeanProperty.scanForProperty(roleClass, RoleNam= e.class); + roleGroupsProperty =3D BeanProperty.scanForProperty(roleClass, RoleG= roups.class); = if (userPrincipalProperty =3D=3D null) = { @@ -294,27 +151,6 @@ } } = - private BeanProperty scanForProperty(Class cls, Class annotation) - { - for (Field f : cls.getFields()) - { - if (f.isAnnotationPresent(annotation)) = - { - return new BeanProperty(f, f.getAnnotation(annotation)); - } - } - = - for (Method m : cls.getMethods()) - { - if (m.isAnnotationPresent(annotation)) - { - return new BeanProperty(m, m.getAnnotation(annotation)); - } - } - = - return null; - } - = public boolean createUser(String username, String password, String firs= tname, String lastname) { try Modified: trunk/src/main/org/jboss/seam/security/permission/dynamic/Dynamic= PermissionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java 2008-04-14 04:11:00 UTC (rev 7930) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/DynamicPermis= sionResolver.java 2008-04-14 04:13:40 UTC (rev 7931) @@ -34,7 +34,7 @@ @Startup public class DynamicPermissionResolver implements PermissionResolver, Seri= alizable { = - private static final String DEFAULT_PERMISSION_STORE_NAME =3D "accountP= ermissionStore"; + private static final String DEFAULT_PERMISSION_STORE_NAME =3D "jpaDynam= icPermissionStore"; = private PermissionStore permissionStore; = @@ -90,7 +90,7 @@ = for (Permission permission : permissions) { - if (username.equals(permission.getRecipient())) + if (username.equals(permission.getRecipient().getName())) { return true; } Modified: trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDyna= micPermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java 2008-04-14 04:11:00 UTC (rev 7930) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java 2008-04-14 04:13:40 UTC (rev 7931) @@ -1,6 +1,7 @@ package org.jboss.seam.security.permission.dynamic; = import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.BUILT_IN; = import java.io.Serializable; import java.util.List; @@ -8,9 +9,22 @@ import javax.persistence.EntityManager; import javax.persistence.NoResultException; = -import org.jboss.seam.Component; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.annotations.security.permission.PermissionAction; +import org.jboss.seam.annotations.security.permission.PermissionDiscrimina= tor; +import org.jboss.seam.annotations.security.permission.PermissionRole; +import org.jboss.seam.annotations.security.permission.PermissionTarget; +import org.jboss.seam.annotations.security.permission.PermissionUser; +import org.jboss.seam.core.Expressions; +import org.jboss.seam.core.Expressions.ValueExpression; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.management.BeanProperty; +import org.jboss.seam.security.management.IdentityManagementException; import org.jboss.seam.security.permission.Permission; import org.jboss.seam.security.permission.PermissionStore; = @@ -19,29 +33,94 @@ * = * @author Shane Bryzak */ +(a)Name("org.jboss.seam.security.permission.jpaDynamicPermissionStore") +(a)Install(precedence =3D BUILT_IN, value=3Dfalse) = @Scope(APPLICATION) @BypassInterceptors public class JpaDynamicPermissionStore implements PermissionStore, Seriali= zable { - private String entityManagerName =3D "entityManager"; + private static final LogProvider log =3D Logging.getLogProvider(JpaDyna= micPermissionStore.class); = = - private Class permissionClass; = + private ValueExpression entityManager; = + private Class userPermissionClass; + private Class rolePermissionClass; + = + private BeanProperty userProperty; + private BeanProperty roleProperty; + = + private BeanProperty targetProperty; + private BeanProperty actionProperty; = + private BeanProperty discriminatorProperty; + = + private BeanProperty roleTargetProperty; + private BeanProperty roleActionProperty; + = + @Create + public void init() + { = + if (userPermissionClass =3D=3D null) + { + log.debug("No permissionClass set, JpaDynamicPermissionStore will= be unavailable."); + return; + } = + = + if (entityManager =3D=3D null) + { + entityManager =3D Expressions.instance().createValueExpression("#= {entityManager}", EntityManager.class); + } = + = + initProperties(); + } = + = + private void initProperties() + { + userProperty =3D BeanProperty.scanForProperty(userPermissionClass, P= ermissionUser.class); + targetProperty =3D BeanProperty.scanForProperty(userPermissionClass,= PermissionTarget.class); + actionProperty =3D BeanProperty.scanForProperty(userPermissionClass,= PermissionAction.class); + = + if (rolePermissionClass !=3D null) + { + roleProperty =3D BeanProperty.scanForProperty(rolePermissionClass= , PermissionRole.class); + if (roleProperty !=3D null) + { + roleTargetProperty =3D BeanProperty.scanForProperty(rolePermis= sionClass, PermissionTarget.class); + roleActionProperty =3D BeanProperty.scanForProperty(rolePermis= sionClass, PermissionAction.class); + } + } + else + { + roleProperty =3D BeanProperty.scanForProperty(userPermissionClass= , PermissionRole.class); + if (roleProperty !=3D null) + { + discriminatorProperty =3D BeanProperty.scanForProperty(userPer= missionClass, PermissionDiscriminator.class); + } + } + = + if (userProperty =3D=3D null) = + { + throw new IdentityManagementException("Invalid userPermissionClas= s " + userPermissionClass.getName() + = + " - required annotation @PermissionUser not found on any Fi= eld or Method."); + } + + // TODO additional validation checks for both permission classes + } = + = public boolean grantPermission(Permission permission) { try { - if (permissionClass =3D=3D null) + if (userPermissionClass =3D=3D null) { throw new RuntimeException("Could not grant permission, permis= sionClass not set"); } = - Object instance =3D permissionClass.newInstance(); + Object instance =3D userPermissionClass.newInstance(); // instance.setTarget(permission.getTarget()); // instance.setAction(permission.getAction()); // instance.setAccount(permission.getRecipient()); = - getEntityManager().persist(instance); + lookupEntityManager().persist(instance); = return true; } @@ -55,10 +134,10 @@ { try { - EntityManager em =3D getEntityManager(); + EntityManager em =3D lookupEntityManager(); = Object instance =3D em.createQuery( - "from " + permissionClass.getName() + + "from " + userPermissionClass.getName() + " where target =3D :target and action =3D :action and account = =3D :account " + " and accountType =3D :accountType") .setParameter("target", permission.getTarget()) @@ -77,8 +156,8 @@ = public List listPermissions(Object target, String action) = { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + = + return lookupEntityManager().createQuery( + "from " + userPermissionClass.getName() + = " where target =3D :target and action =3D :action") .setParameter("target", target) .setParameter("action", action) @@ -87,34 +166,44 @@ = public List listPermissions(Object target) = { - return getEntityManager().createQuery( - "from " + permissionClass.getName() + " where target =3D :targ= et") + return lookupEntityManager().createQuery( + "from " + userPermissionClass.getName() + " where target =3D := target") .setParameter("target", target) .getResultList(); } = - private EntityManager getEntityManager() + private EntityManager lookupEntityManager() { - return (EntityManager) Component.getInstance(entityManagerName); + return entityManager.getValue(); } = - public String getEntityManagerName() + public ValueExpression getEntityManager() { - return entityManagerName; + return entityManager; } = - public void setEntityManagerName(String name) + public void setEntityManager(ValueExpression expression) { - this.entityManagerName =3D name; - } = + this.entityManager =3D expression; + } = = - public Class getPermissionClass() + public Class getUserPermissionClass() { - return permissionClass; + return userPermissionClass; } = - public void setPermissionClass(Class permissionClass) + public void setUserPermissionClass(Class userPermissionClass) { - this.permissionClass =3D permissionClass; + this.userPermissionClass =3D userPermissionClass; } + = + public Class getRolePermissionClass() + { + return rolePermissionClass; + } + = + public void setRolePermissionClass(Class rolePermissionClass) + { + this.rolePermissionClass =3D rolePermissionClass; + } } --===============1196174699304267186==-- From seam-commits at lists.jboss.org Mon Apr 14 00:16:30 2008 Content-Type: multipart/mixed; boundary="===============0592520462753991693==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7932 - trunk/src/main/org/jboss/seam/security/permission. Date: Mon, 14 Apr 2008 00:16:30 -0400 Message-ID: --===============0592520462753991693== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 00:16:30 -0400 (Mon, 14 Apr 2008) New Revision: 7932 Modified: trunk/src/main/org/jboss/seam/security/permission/Permission.java Log: should be immutable Modified: trunk/src/main/org/jboss/seam/security/permission/Permission.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/Permission.java 2008-= 04-14 04:13:40 UTC (rev 7931) +++ trunk/src/main/org/jboss/seam/security/permission/Permission.java 2008-= 04-14 04:16:30 UTC (rev 7932) @@ -4,7 +4,7 @@ import java.security.Principal; = /** - * Base class for permissions + * Represents a single permission for a particular target, action and reci= pient combination. * = * @author Shane Bryzak */ @@ -14,14 +14,16 @@ private String action; private Principal recipient; = - public Object getTarget() + public Permission(Object target, String action, Principal recipient) { - return target; + this.target =3D target; + this.action =3D action; + this.recipient =3D recipient; } = - public void setTarget(Object target) + public Object getTarget() { - this.target =3D target; + return target; } = public String getAction() @@ -29,18 +31,8 @@ return action; } = - public void setAction(String action) - { - this.action =3D action; - } - = public Principal getRecipient() { return recipient; } - = - public void setRecipient(Principal recipient) - { - this.recipient =3D recipient; - } } --===============0592520462753991693==-- From seam-commits at lists.jboss.org Mon Apr 14 06:27:38 2008 Content-Type: multipart/mixed; boundary="===============0008088895456507154==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7933 - in branches/Seam_2_0/doc/Seam_Reference_Guide: en-US/images and 1 other directory. Date: Mon, 14 Apr 2008 06:27:37 -0400 Message-ID: --===============0008088895456507154== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-14 06:27:37 -0400 (Mon, 14 Apr 2008) New Revision: 7933 Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/generate_entitie= s_0.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/generate_entitie= s_0.xcf branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_action_1.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_form_0.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_form_1.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/restart_deployme= nt.png branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/run_test.png Removed: branches/Seam_2_0/doc/Seam_Reference_Guide/.cvsignore Log: Add resources, remove .cvsignore Deleted: branches/Seam_2_0/doc/Seam_Reference_Guide/.cvsignore =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/.cvsignore 2008-04-14 04:16:= 30 UTC (rev 7932) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/.cvsignore 2008-04-14 10:27:= 37 UTC (rev 7933) @@ -1 +0,0 @@ -build Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/generate_ent= ities_0.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/generate_entities_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/generate_ent= ities_0.xcf =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/generate_entities_0.xcf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_action_1= .png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_action_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_form_0.p= ng =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_form_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/new_form_1.p= ng =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/new_form_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/restart_depl= oyment.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/restart_deployment.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/images/run_test.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/image= s/run_test.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream --===============0008088895456507154==-- From seam-commits at lists.jboss.org Mon Apr 14 07:52:32 2008 Content-Type: multipart/mixed; boundary="===============6837405635964348509==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7934 - branches/Seam_2_0/build/lib. Date: Mon, 14 Apr 2008 07:52:31 -0400 Message-ID: --===============6837405635964348509== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-14 07:52:31 -0400 (Mon, 14 Apr 2008) New Revision: 7934 Modified: branches/Seam_2_0/build/lib/maven-ant-tasks.jar Log: upgrade to maven-ant-tasks 2.0.8 from snapshot Modified: branches/Seam_2_0/build/lib/maven-ant-tasks.jar =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============6837405635964348509==-- From seam-commits at lists.jboss.org Mon Apr 14 07:53:52 2008 Content-Type: multipart/mixed; boundary="===============7745238287040504278==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7935 - branches/Seam_2_0/build. Date: Mon, 14 Apr 2008 07:53:52 -0400 Message-ID: --===============7745238287040504278== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-14 07:53:52 -0400 (Mon, 14 Apr 2008) New Revision: 7935 Modified: branches/Seam_2_0/build/root.pom.xml Log: JBSEAM-2866 Modified: branches/Seam_2_0/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/root.pom.xml 2008-04-14 11:52:31 UTC (rev 7934) +++ branches/Seam_2_0/build/root.pom.xml 2008-04-14 11:53:52 UTC (rev 7935) @@ -165,6 +165,10 @@ junit junit + + javax.faces + jsf-impl + = @@ -177,6 +181,11 @@ commons-logging commons-logging + + javax.faces + jsf-impl + + = @@ -199,6 +208,10 @@ commons-logging commons-logging + + commons-digester + commons-digester + = --===============7745238287040504278==-- From seam-commits at lists.jboss.org Mon Apr 14 08:01:50 2008 Content-Type: multipart/mixed; boundary="===============8499924442900053607==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7936 - trunk/build. Date: Mon, 14 Apr 2008 08:01:50 -0400 Message-ID: --===============8499924442900053607== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-14 08:01:50 -0400 (Mon, 14 Apr 2008) New Revision: 7936 Modified: trunk/build/root.pom.xml Log: JBSEAM-2866 (port of r7935) Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-14 11:53:52 UTC (rev 7935) +++ trunk/build/root.pom.xml 2008-04-14 12:01:50 UTC (rev 7936) @@ -33,19 +33,14 @@ snapshots.jboss.org JBoss Snapshot Repository http://snapshots.jboss.org/maven2 - - - wicketstuff.org - Wicket - http://wicketstuff.org/maven/repository = 3.1.4.GA - 1.3.0-SNAPSHOT - 4.0.6 + 1.3.3 + 4.0.4 = @@ -161,6 +156,10 @@ junit junit + + javax.faces + jsf-impl + = @@ -189,6 +188,11 @@ commons-logging commons-logging + + javax.faces + jsf-impl + + = @@ -211,6 +215,10 @@ commons-logging commons-logging + + commons-digester + commons-digester + = @@ -277,10 +285,6 @@ commons-logging commons-logging - - org.hibernate - ejb3-persistence - = --===============8499924442900053607==-- From seam-commits at lists.jboss.org Mon Apr 14 08:26:17 2008 Content-Type: multipart/mixed; boundary="===============7478028992576927333==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7938 - trunk/src/main/org/jboss/seam/contexts and 1 other directory. Date: Mon, 14 Apr 2008 08:26:17 -0400 Message-ID: --===============7478028992576927333== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-14 08:26:17 -0400 (Mon, 14 Apr 2008) New Revision: 7938 Modified: branches/Seam_2_0/src/main/org/jboss/seam/contexts/EntityBeanList.java trunk/src/main/org/jboss/seam/contexts/EntityBeanList.java Log: JBSEAM-2892 Modified: branches/Seam_2_0/src/main/org/jboss/seam/contexts/EntityBeanList= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/contexts/EntityBeanList.java = 2008-04-14 12:16:03 UTC (rev 7937) +++ branches/Seam_2_0/src/main/org/jboss/seam/contexts/EntityBeanList.java = 2008-04-14 12:26:17 UTC (rev 7938) @@ -1,6 +1,7 @@ package org.jboss.seam.contexts; = import java.util.ArrayList; +import java.util.Iterator; import java.util.List; = /** @@ -68,9 +69,10 @@ List newPassivatedList =3D new ArrayList(list.size()); = = boolean found =3D false; - for (int i=3D0; i it =3D list.iterator(); + for (int i=3D0; it.hasNext(); i++) { PassivatedEntity passivatedEntity =3D null; - Object value =3D list.get(i); + Object value =3D it.next(); if (value !=3D null) { passivatedEntity =3D PassivatedEntity.passivateEntity(value= ); = Modified: trunk/src/main/org/jboss/seam/contexts/EntityBeanList.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/contexts/EntityBeanList.java 2008-04-14 1= 2:16:03 UTC (rev 7937) +++ trunk/src/main/org/jboss/seam/contexts/EntityBeanList.java 2008-04-14 1= 2:26:17 UTC (rev 7938) @@ -1,6 +1,7 @@ package org.jboss.seam.contexts; = import java.util.ArrayList; +import java.util.Iterator; import java.util.List; = /** @@ -68,9 +69,10 @@ List newPassivatedList =3D new ArrayList(list.size()); = = boolean found =3D false; - for (int i=3D0; i it =3D list.iterator(); + for (int i=3D0; it.hasNext(); i++) { PassivatedEntity passivatedEntity =3D null; - Object value =3D list.get(i); + Object value =3D it.next(); if (value !=3D null) { passivatedEntity =3D PassivatedEntity.passivateEntity(value= ); = --===============7478028992576927333==-- From seam-commits at lists.jboss.org Mon Apr 14 12:26:15 2008 Content-Type: multipart/mixed; boundary="===============5446789163374098941==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7939 - branches/Seam_2_0/build. Date: Mon, 14 Apr 2008 12:26:15 -0400 Message-ID: --===============5446789163374098941== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 12:26:15 -0400 (Mon, 14 Apr 2008) New Revision: 7939 Modified: branches/Seam_2_0/build/core.pom.xml Log: JBSEAM-2827 Modified: branches/Seam_2_0/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/core.pom.xml 2008-04-14 12:26:17 UTC (rev 7938) +++ branches/Seam_2_0/build/core.pom.xml 2008-04-14 16:26:15 UTC (rev 7939) @@ -254,6 +254,12 @@ = + org.beanshell + bsh + true + + + org.jboss.el jboss-el @@ -285,4 +291,4 @@ = = - \ No newline at end of file + --===============5446789163374098941==-- From seam-commits at lists.jboss.org Mon Apr 14 12:27:20 2008 Content-Type: multipart/mixed; boundary="===============8888240247602009339==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7940 - trunk/build. Date: Mon, 14 Apr 2008 12:27:20 -0400 Message-ID: --===============8888240247602009339== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 12:27:20 -0400 (Mon, 14 Apr 2008) New Revision: 7940 Modified: trunk/build/core.pom.xml Log: JBSEAM-2827 Modified: trunk/build/core.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/core.pom.xml 2008-04-14 16:26:15 UTC (rev 7939) +++ trunk/build/core.pom.xml 2008-04-14 16:27:20 UTC (rev 7940) @@ -254,6 +254,12 @@ = + org.beanshell + bsh + true + + = + org.jboss.el jboss-el @@ -285,4 +291,4 @@ = = - \ No newline at end of file + --===============8888240247602009339==-- From seam-commits at lists.jboss.org Mon Apr 14 12:35:39 2008 Content-Type: multipart/mixed; boundary="===============8932617406966988532==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7941 - branches/Seam_2_0/examples/dvdstore/resources/WEB-INF. Date: Mon, 14 Apr 2008 12:35:39 -0400 Message-ID: --===============8932617406966988532== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 12:35:39 -0400 (Mon, 14 Apr 2008) New Revision: 7941 Modified: branches/Seam_2_0/examples/dvdstore/resources/WEB-INF/urlrewrite.xml Log: fix rewrite rule Modified: branches/Seam_2_0/examples/dvdstore/resources/WEB-INF/urlrewrite.= xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/dvdstore/resources/WEB-INF/urlrewrite.xml 20= 08-04-14 16:27:20 UTC (rev 7940) +++ branches/Seam_2_0/examples/dvdstore/resources/WEB-INF/urlrewrite.xml 20= 08-04-14 16:35:39 UTC (rev 7941) @@ -9,7 +9,8 @@ ^/([/a-zA-Z]*)$ /$1.seam - = + + /dvd.seam\?id=3D(\d+)&(.*) /dvd/$1?$2 @@ -26,7 +27,8 @@ = - /([a-z]+).seam + /([a-z]+)\.seam /$1 + --===============8932617406966988532==-- From seam-commits at lists.jboss.org Mon Apr 14 12:38:30 2008 Content-Type: multipart/mixed; boundary="===============8013289564201347031==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7942 - trunk/examples/dvdstore/resources/WEB-INF. Date: Mon, 14 Apr 2008 12:38:30 -0400 Message-ID: --===============8013289564201347031== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 12:38:30 -0400 (Mon, 14 Apr 2008) New Revision: 7942 Modified: trunk/examples/dvdstore/resources/WEB-INF/urlrewrite.xml Log: fix regexp on outgoing rule Modified: trunk/examples/dvdstore/resources/WEB-INF/urlrewrite.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/dvdstore/resources/WEB-INF/urlrewrite.xml 2008-04-14 16:= 35:39 UTC (rev 7941) +++ trunk/examples/dvdstore/resources/WEB-INF/urlrewrite.xml 2008-04-14 16:= 38:30 UTC (rev 7942) @@ -26,7 +26,7 @@ = - /([a-z]+).seam + /([a-z]+)\.seam /$1 --===============8013289564201347031==-- From seam-commits at lists.jboss.org Mon Apr 14 13:17:50 2008 Content-Type: multipart/mixed; boundary="===============8040121809554660570==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7943 - branches/Seam_2_0/examples/booking/src/org/jboss/seam/example/booking. Date: Mon, 14 Apr 2008 13:17:50 -0400 Message-ID: --===============8040121809554660570== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 13:17:50 -0400 (Mon, 14 Apr 2008) New Revision: 7943 Modified: branches/Seam_2_0/examples/booking/src/org/jboss/seam/example/booking/Ho= telSearchingAction.java Log: JBSEAM-2821 Modified: branches/Seam_2_0/examples/booking/src/org/jboss/seam/example/boo= king/HotelSearchingAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/booking/src/org/jboss/seam/example/booking/H= otelSearchingAction.java 2008-04-14 16:38:30 UTC (rev 7942) +++ branches/Seam_2_0/examples/booking/src/org/jboss/seam/example/booking/H= otelSearchingAction.java 2008-04-14 17:17:50 UTC (rev 7943) @@ -28,6 +28,7 @@ private String searchString; private int pageSize =3D 10; private int page; + private boolean nextPageAvailable =3D false; = @DataModel private List hotels; @@ -45,15 +46,23 @@ = private void queryHotels() { - hotels =3D em.createQuery("select h from Hotel h where lower(h.name)= like #{pattern} or lower(h.city) like #{pattern} or lower(h.zip) like #{pa= ttern} or lower(h.address) like #{pattern}") - .setMaxResults(pageSize) - .setFirstResult( page * pageSize ) - .getResultList(); + List results =3D em.createQuery("select h from Hotel h where= lower(h.name) like #{pattern} or lower(h.city) like #{pattern} or lower(h.= zip) like #{pattern} or lower(h.address) like #{pattern}") + .setMaxResults(pageSize+1) + .setFirstResult( page * pageSize ) + .getResultList(); + + + nextPageAvailable =3D results.size() > pageSize; + if (nextPageAvailable) { + hotels =3D results.subList(0,pageSize); + } else { + hotels =3D results; + } } = public boolean isNextPageAvailable() { - return hotels!=3Dnull && hotels.size()=3D=3DpageSize; + return nextPageAvailable; } = public int getPageSize() { @@ -83,4 +92,4 @@ = @Remove public void destroy() {} -} \ No newline at end of file +} --===============8040121809554660570==-- From seam-commits at lists.jboss.org Mon Apr 14 13:33:28 2008 Content-Type: multipart/mixed; boundary="===============2546960449472460776==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7944 - trunk/examples/booking/src/org/jboss/seam/example/booking. Date: Mon, 14 Apr 2008 13:33:28 -0400 Message-ID: --===============2546960449472460776== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-14 13:33:28 -0400 (Mon, 14 Apr 2008) New Revision: 7944 Modified: trunk/examples/booking/src/org/jboss/seam/example/booking/HotelSearching= Action.java Log: JBSEAM-2821 Modified: trunk/examples/booking/src/org/jboss/seam/example/booking/HotelSe= archingAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/booking/src/org/jboss/seam/example/booking/HotelSearchin= gAction.java 2008-04-14 17:17:50 UTC (rev 7943) +++ trunk/examples/booking/src/org/jboss/seam/example/booking/HotelSearchin= gAction.java 2008-04-14 17:33:28 UTC (rev 7944) @@ -21,41 +21,48 @@ @Restrict("#{identity.loggedIn}") public class HotelSearchingAction implements HotelSearching { + @PersistenceContext + private EntityManager em; + = + private String searchString; + private int pageSize =3D 10; + private int page; + private boolean nextPageAvailable; = - @PersistenceContext - private EntityManager em; + @DataModel + private List hotels; = - private String searchString; - private int pageSize =3D 10; - private int page; + public void find() = + { + page =3D 0; + queryHotels(); + } + + public void nextPage() = + { + page++; + queryHotels(); + } + = + private void queryHotels() { + List results =3D em.createQuery("select h from Hotel h wher= e lower(h.name) like #{pattern} or lower(h.city) like #{pattern} or lower(h= .zip) like #{pattern} or lower(h.address) like #{pattern}") + .setMaxResults(pageSize+1) + .setFirstResult(page * pageSize) + .getResultList(); + = + nextPageAvailable =3D results.size() > pageSize; + if (nextPageAvailable) { + hotels =3D results.subList(0,pageSize); + } else { + hotels =3D results; + } + } + + public boolean isNextPageAvailable() + { + return nextPageAvailable; + } = - @DataModel - private List hotels; - = - public void find() - { - page =3D 0; - queryHotels(); - } - public void nextPage() - { - page++; - queryHotels(); - } - = - private void queryHotels() - { - hotels =3D em.createQuery("select h from Hotel h where lower(h.name)= like #{pattern} or lower(h.city) like #{pattern} or lower(h.zip) like #{pa= ttern} or lower(h.address) like #{pattern}") - .setMaxResults(pageSize) - .setFirstResult( page * pageSize ) - .getResultList(); - } - = - public boolean isNextPageAvailable() - { - return hotels!=3Dnull && hotels.size()=3D=3DpageSize; - } - = public int getPageSize() { return pageSize; } @@ -83,4 +90,4 @@ = @Remove public void destroy() {} -} \ No newline at end of file +} --===============2546960449472460776==-- From seam-commits at lists.jboss.org Mon Apr 14 15:11:22 2008 Content-Type: multipart/mixed; boundary="===============0174239674128505333==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7945 - trunk/seam-gen/view. Date: Mon, 14 Apr 2008 15:11:20 -0400 Message-ID: --===============0174239674128505333== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-14 15:11:20 -0400 (Mon, 14 Apr 2008) New Revision: 7945 Modified: trunk/seam-gen/view/login.xhtml Log: remove bogus message about User Manager in seam-gen projects Modified: trunk/seam-gen/view/login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/view/login.xhtml 2008-04-14 17:33:28 UTC (rev 7944) +++ trunk/seam-gen/view/login.xhtml 2008-04-14 19:11:20 UTC (rev 7945) @@ -34,8 +34,7 @@
    =

    - Note - Please use demo/password to log in the first = time. After logging in you may then - use the User Manager link to manage user accounts. + Note - You may login using any username/password com= bination.

    =
    --===============0174239674128505333==-- From seam-commits at lists.jboss.org Mon Apr 14 15:12:12 2008 Content-Type: multipart/mixed; boundary="===============0218602404217093548==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7946 - branches/Seam_2_0/seam-gen/view. Date: Mon, 14 Apr 2008 15:12:12 -0400 Message-ID: --===============0218602404217093548== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-14 15:12:12 -0400 (Mon, 14 Apr 2008) New Revision: 7946 Modified: branches/Seam_2_0/seam-gen/view/login.xhtml Log: remove bogus reference to User Manager link Modified: branches/Seam_2_0/seam-gen/view/login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/view/login.xhtml 2008-04-14 19:11:20 UTC (re= v 7945) +++ branches/Seam_2_0/seam-gen/view/login.xhtml 2008-04-14 19:12:12 UTC (re= v 7946) @@ -34,8 +34,7 @@
    =

    - Note - Please use demo/password to log in the first = time. After logging in you may then - use the User Manager link to manage user accounts. + Note - You may login using any username/password com= bination.

    = --===============0218602404217093548==-- From seam-commits at lists.jboss.org Mon Apr 14 20:13:16 2008 Content-Type: multipart/mixed; boundary="===============7837652935465251228==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7947 - trunk/examples/booking/view. Date: Mon, 14 Apr 2008 20:13:15 -0400 Message-ID: --===============7837652935465251228== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 20:13:15 -0400 (Mon, 14 Apr 2008) New Revision: 7947 Modified: trunk/examples/booking/view/hotelview.xhtml Log: typo Modified: trunk/examples/booking/view/hotelview.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/booking/view/hotelview.xhtml 2008-04-14 19:12:12 UTC (re= v 7946) +++ trunk/examples/booking/view/hotelview.xhtml 2008-04-15 00:13:15 UTC (re= v 7947) @@ -37,7 +37,7 @@ = = Nightly rate: - + --===============7837652935465251228==-- From seam-commits at lists.jboss.org Mon Apr 14 20:47:12 2008 Content-Type: multipart/mixed; boundary="===============8352093696491750740==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7948 - trunk/seam-gen. Date: Mon, 14 Apr 2008 20:47:12 -0400 Message-ID: --===============8352093696491750740== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-14 20:47:12 -0400 (Mon, 14 Apr 2008) New Revision: 7948 Modified: trunk/seam-gen/ Log: ignore icefaces-staging Property changes on: trunk/seam-gen ___________________________________________________________________ Name: svn:ignore - build.properties + build.properties icefaces-staging --===============8352093696491750740==-- From seam-commits at lists.jboss.org Mon Apr 14 21:09:20 2008 Content-Type: multipart/mixed; boundary="===============0116328064282352561==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7949 - in trunk/seam-gen: build-scripts and 1 other directories. Date: Mon, 14 Apr 2008 21:09:20 -0400 Message-ID: --===============0116328064282352561== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-14 21:09:20 -0400 (Mon, 14 Apr 2008) New Revision: 7949 Added: trunk/seam-gen/build-scripts/deployed-jars-war.list trunk/seam-gen/icefaces/build-scripts/deployed-jars-war.list Modified: trunk/seam-gen/build-scripts/build-war.xml trunk/seam-gen/build.xml trunk/seam-gen/icefaces/build-scripts/build-war.xml Log: JBSEAM-2897 - first cut at externalizing JAR includes that are packaged wit= h deployable archive (WAR only) Modified: trunk/seam-gen/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build-scripts/build-war.xml 2008-04-15 00:47:12 UTC (rev= 7948) +++ trunk/seam-gen/build-scripts/build-war.xml 2008-04-15 01:09:20 UTC (rev= 7949) @@ -179,16 +179,8 @@ = - - - - - - - - - - + + @@ -207,16 +199,6 @@ = - - - - - - - - - - = = + @@ -697,6 +699,9 @@ = = + + = @@ -802,6 +807,7 @@ + Modified: trunk/seam-gen/icefaces/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/icefaces/build-scripts/build-war.xml 2008-04-15 00:47:12= UTC (rev 7948) +++ trunk/seam-gen/icefaces/build-scripts/build-war.xml 2008-04-15 01:09:20= UTC (rev 7949) @@ -179,14 +179,9 @@ = - - + - - - - - + @@ -205,20 +200,6 @@ = - - - - - - - - - - - - - - = = --===============4435971469693266056== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-14 21:09:35 -0400 (Mon, 14 Apr 2008) New Revision: 7950 Added: branches/Seam_2_0/seam-gen/build-scripts/deployed-jars-war.list branches/Seam_2_0/seam-gen/icefaces/build-scripts/deployed-jars-war.list Modified: branches/Seam_2_0/seam-gen/build-scripts/build-war.xml branches/Seam_2_0/seam-gen/build.xml branches/Seam_2_0/seam-gen/icefaces/build-scripts/build-war.xml Log: JBSEAM-2897 - first cut at externalizing JAR includes that are packaged wit= h deployable archive Modified: branches/Seam_2_0/seam-gen/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/build-scripts/build-war.xml 2008-04-15 01:09= :20 UTC (rev 7949) +++ branches/Seam_2_0/seam-gen/build-scripts/build-war.xml 2008-04-15 01:09= :35 UTC (rev 7950) @@ -179,16 +179,8 @@ = - - - - - - - - - - + + @@ -207,16 +199,6 @@ = - - - - - - - - - - = = + @@ -696,6 +698,9 @@ = = + + = @@ -801,6 +806,7 @@ + Modified: branches/Seam_2_0/seam-gen/icefaces/build-scripts/build-war.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/build-scripts/build-war.xml 2008-04= -15 01:09:20 UTC (rev 7949) +++ branches/Seam_2_0/seam-gen/icefaces/build-scripts/build-war.xml 2008-04= -15 01:09:35 UTC (rev 7950) @@ -179,14 +179,9 @@ = - - + - - - - - + @@ -205,20 +200,6 @@ = - - - - - - - - - - - - - - = = --===============6195559483242983185== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-14 22:35:05 -0400 (Mon, 14 Apr 2008) New Revision: 7951 Modified: trunk/src/main/org/jboss/seam/security/management/action/UserSearch.java Log: removed @Synchronized Modified: trunk/src/main/org/jboss/seam/security/management/action/UserSear= ch.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-15 01:09:35 UTC (rev 7950) +++ trunk/src/main/org/jboss/seam/security/management/action/UserSearch.jav= a 2008-04-15 02:35:05 UTC (rev 7951) @@ -8,7 +8,6 @@ import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.Synchronized; import org.jboss.seam.annotations.datamodel.DataModel; import org.jboss.seam.annotations.datamodel.DataModelSelection; = @@ -16,7 +15,6 @@ = @Name("org.jboss.seam.security.management.userSearch") @Scope(SESSION) -(a)Synchronized public class UserSearch implements Serializable { private static final long serialVersionUID =3D 8592034786339372510L; --===============6195559483242983185==-- From seam-commits at lists.jboss.org Tue Apr 15 01:56:52 2008 Content-Type: multipart/mixed; boundary="===============1033610798839431554==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7952 - in trunk/src/main/org/jboss/seam: security/management and 3 other directories. Date: Tue, 15 Apr 2008 01:56:52 -0400 Message-ID: --===============1033610798839431554== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-15 01:56:52 -0400 (Tue, 15 Apr 2008) New Revision: 7952 Modified: trunk/src/main/org/jboss/seam/annotations/security/permission/Permission= Discriminator.java trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionSt= ore.java trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPerm= issionStore.java Log: grant/revoke permissions Modified: trunk/src/main/org/jboss/seam/annotations/security/permission/Per= missionDiscriminator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nDiscriminator.java 2008-04-15 02:35:05 UTC (rev 7951) +++ trunk/src/main/org/jboss/seam/annotations/security/permission/Permissio= nDiscriminator.java 2008-04-15 05:56:52 UTC (rev 7952) @@ -21,5 +21,6 @@ @Inherited public @interface PermissionDiscriminator { - + String userValue() default "user"; + String roleValue() default "role"; } Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStor= e.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-15 02:35:05 UTC (rev 7951) +++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java= 2008-04-15 05:56:52 UTC (rev 7952) @@ -630,7 +630,7 @@ } } = - protected Object lookupUser(String username) = + public Object lookupUser(String username) = { try { @@ -648,7 +648,7 @@ } = } = - protected Object lookupRole(String role) = + public Object lookupRole(String role) = { try { Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionStore= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = 2008-04-15 02:35:05 UTC (rev 7951) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = 2008-04-15 05:56:52 UTC (rev 7952) @@ -1,6 +1,7 @@ package org.jboss.seam.security.permission; = import java.util.List; +import java.util.Set; = /** * Permission store interface. @@ -11,6 +12,7 @@ { List listPermissions(Object target); List listPermissions(Object target, String action); + List listPermissions(Set targets); boolean grantPermission(Permission permission); boolean revokePermission(Permission permission); } Modified: trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermi= ssionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java 2008-04-15 02:35:05 UTC (rev 7951) +++ trunk/src/main/org/jboss/seam/security/permission/acl/JpaAclPermissionS= tore.java 2008-04-15 05:56:52 UTC (rev 7952) @@ -2,6 +2,7 @@ = import java.io.Serializable; import java.util.List; +import java.util.Set; = import org.jboss.seam.security.permission.Permission; import org.jboss.seam.security.permission.PermissionStore; @@ -34,6 +35,12 @@ return null; } = + public List listPermissions(Set targets) + { + // TODO implement this + return null; + } + = public List listPermissions(Object target, String action) { return null; Modified: trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDyna= micPermissionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java 2008-04-15 02:35:05 UTC (rev 7951) +++ trunk/src/main/org/jboss/seam/security/permission/dynamic/JpaDynamicPer= missionStore.java 2008-04-15 05:56:52 UTC (rev 7952) @@ -4,11 +4,15 @@ import static org.jboss.seam.annotations.Install.BUILT_IN; = import java.io.Serializable; +import java.security.Principal; import java.util.List; +import java.util.Set; = import javax.persistence.EntityManager; import javax.persistence.NoResultException; +import javax.persistence.Query; = +import org.jboss.seam.Component; import org.jboss.seam.annotations.Create; import org.jboss.seam.annotations.Install; import org.jboss.seam.annotations.Name; @@ -23,8 +27,9 @@ import org.jboss.seam.core.Expressions.ValueExpression; import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Role; import org.jboss.seam.security.management.BeanProperty; -import org.jboss.seam.security.management.IdentityManagementException; +import org.jboss.seam.security.management.JpaIdentityStore; import org.jboss.seam.security.permission.Permission; import org.jboss.seam.security.permission.PermissionStore; = @@ -45,7 +50,7 @@ = private Class userPermissionClass; private Class rolePermissionClass; - = + = private BeanProperty userProperty; private BeanProperty roleProperty; = @@ -56,6 +61,9 @@ private BeanProperty roleTargetProperty; private BeanProperty roleActionProperty; = + private String selectUserPermissionQuery; + private String selectRolePermissionQuery; + @Create public void init() { = @@ -71,9 +79,10 @@ } = = initProperties(); + buildQueries(); } = = - private void initProperties() + protected void initProperties() { userProperty =3D BeanProperty.scanForProperty(userPermissionClass, P= ermissionUser.class); targetProperty =3D BeanProperty.scanForProperty(userPermissionClass,= PermissionTarget.class); @@ -99,27 +108,120 @@ = if (userProperty =3D=3D null) = { - throw new IdentityManagementException("Invalid userPermissionClas= s " + userPermissionClass.getName() + = + throw new RuntimeException("Invalid userPermissionClass " + userP= ermissionClass.getName() + = " - required annotation @PermissionUser not found on any Fi= eld or Method."); } = - // TODO additional validation checks for both permission classes + if (rolePermissionClass !=3D null) + { + if (roleProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionRole not found on any= Field or Method."); + } + = + if (roleTargetProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionTarget not found on a= ny Field or Method."); + } + = + if (roleActionProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionAction not found on a= ny Field or Method."); + } + } + else if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Invalid userPermissionClass " + roleP= ermissionClass.getName() + + " - no rolePermissionClass set and @PermissionDiscriminator= annotation not found on " + + "any Field or Method"); + } } = = + protected void buildQueries() + { + StringBuffer query =3D new StringBuffer(); + query.append("select p from "); + query.append(userPermissionClass.getName()); + query.append(" p where "); + query.append(targetProperty.getName()); + query.append(" =3D :target and "); + query.append(actionProperty.getName()); + query.append(" =3D :action and "); + query.append(userProperty.getName()); + query.append(" =3D :recipient"); + = + if (rolePermissionClass =3D=3D null) + { + query.append(" and "); + query.append(discriminatorProperty.getName()); + query.append(" =3D :discriminator"); = + } + = + selectUserPermissionQuery =3D query.toString(); + = + if (rolePermissionClass !=3D null) + { + query.setLength(0); + query.append("select p from "); + query.append(rolePermissionClass.getName()); + query.append(" p where "); + query.append(roleTargetProperty.getName()); + query.append(" =3D :target and "); + query.append(roleActionProperty.getName()); + query.append(" =3D :action and "); + query.append(roleProperty.getName()); + query.append(" =3D :recipient"); + = + selectRolePermissionQuery =3D query.toString(); + } + else + { + selectRolePermissionQuery =3D selectUserPermissionQuery; + } + } + = public boolean grantPermission(Permission permission) { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + = try { + if (recipientIsRole) + { + if (rolePermissionClass !=3D null) + { + Object instance =3D rolePermissionClass.newInstance(); + roleTargetProperty.setValue(instance, permission.getTarget(= ).toString()); + roleActionProperty.setValue(instance, permission.getAction(= )); + roleProperty.setValue(instance, permission.getRecipient().g= etName()); + lookupEntityManager().persist(instance); + return true; + } + = + if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Could not grant permission, rol= ePermissionClass not set"); = + } + } + = if (userPermissionClass =3D=3D null) { - throw new RuntimeException("Could not grant permission, permis= sionClass not set"); + throw new RuntimeException("Could not grant permission, userPe= rmissionClass not set"); } = Object instance =3D userPermissionClass.newInstance(); -// instance.setTarget(permission.getTarget()); -// instance.setAction(permission.getAction()); -// instance.setAccount(permission.getRecipient()); - + targetProperty.setValue(instance, permission.getTarget().toString= ()); + actionProperty.setValue(instance, permission.getAction()); + userProperty.setValue(instance, permission.getRecipient().getName= ()); + = + if (discriminatorProperty !=3D null) + { + discriminatorProperty.setValue(instance, getDiscriminatorValue= (recipientIsRole)); + } + = lookupEntityManager().persist(instance); = return true; @@ -130,21 +232,32 @@ } = } = + private String getDiscriminatorValue(boolean isRole) + { + PermissionDiscriminator discriminator =3D (PermissionDiscriminator) = discriminatorProperty.getAnnotation(); + return isRole ? discriminator.roleValue() : discriminator.userValue(= ); = + } + = public boolean revokePermission(Permission permission) { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + + EntityManager em =3D lookupEntityManager(); + = + Query qry =3D em.createQuery(recipientIsRole ? selectRolePermissionQ= uery : + selectUserPermissionQuery) + .setParameter("target", permission.getTarget()) + .setParameter("action", permission.getAction()) + .setParameter("recipient", resolvePrincipal(permission.getRecipie= nt())); + = + if (discriminatorProperty !=3D null) + { + qry.setParameter("discriminator", getDiscriminatorValue(recipient= IsRole)); + } + = try { - EntityManager em =3D lookupEntityManager(); - = - Object instance =3D em.createQuery( - "from " + userPermissionClass.getName() + - " where target =3D :target and action =3D :action and account = =3D :account " + - " and accountType =3D :accountType") - .setParameter("target", permission.getTarget()) - .setParameter("action", "action") - .setParameter("account", permission.getRecipient()) - .getSingleResult(); - = + Object instance =3D qry.getSingleResult(); = em.remove(instance); return true; } @@ -153,6 +266,34 @@ return false; } } = + = + /** + * If the user or role properties in the entity class refer to other en= tities, then this method + * uses JpaIdentityStore to lookup that user or role entity. = + * = + * @param recipient + * @return + */ + protected Object resolvePrincipal(Principal recipient) + { + boolean recipientIsRole =3D recipient instanceof Role; + = + JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); + = + if (identityStore !=3D null) + { + if (recipientIsRole && roleProperty !=3D null && roleProperty.get= PropertyClass().equals(identityStore.getRoleClass())) + { + return identityStore.lookupRole(recipient.getName()); + } + else if (userProperty.getPropertyClass().equals(identityStore.get= UserClass())) + { + return identityStore.lookupUser(recipient.getName()); + } + } = + = + return recipient.getName(); + } = public List listPermissions(Object target, String action) = { @@ -171,6 +312,12 @@ .setParameter("target", target) .getResultList(); } + = + public List listPermissions(Set targets) + { + // TODO implement this method + return null; + } = private EntityManager lookupEntityManager() { --===============1033610798839431554==-- From seam-commits at lists.jboss.org Tue Apr 15 05:35:44 2008 Content-Type: multipart/mixed; boundary="===============2501635934671099050==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7954 - branches/Seam_1_2_1_AP. Date: Tue, 15 Apr 2008 05:35:44 -0400 Message-ID: --===============2501635934671099050== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-15 05:35:43 -0400 (Tue, 15 Apr 2008) New Revision: 7954 Removed: branches/Seam_1_2_1_AP/build/ Log: Remove build directory from SVN --===============2501635934671099050==-- From seam-commits at lists.jboss.org Tue Apr 15 06:25:22 2008 Content-Type: multipart/mixed; boundary="===============7528189232191120721==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7955 - branches/Seam_1_2_1_AP/examples/jpa. Date: Tue, 15 Apr 2008 06:25:21 -0400 Message-ID: --===============7528189232191120721== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-15 06:25:20 -0400 (Tue, 15 Apr 2008) New Revision: 7955 Modified: branches/Seam_1_2_1_AP/examples/jpa/build.xml Log: JBPAPP-775 Modified: branches/Seam_1_2_1_AP/examples/jpa/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/examples/jpa/build.xml 2008-04-15 09:35:43 UTC (= rev 7954) +++ branches/Seam_1_2_1_AP/examples/jpa/build.xml 2008-04-15 10:25:20 UTC (= rev 7955) @@ -100,6 +100,7 @@ + = + + +]> + + + + + + + + = + + + + + + + + + + + + + Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/important.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/important.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/important.svg 2008-04-17 12:29:47 UTC (rev 7965) @@ -0,0 +1,31 @@ + + + + +]> + + + = + + + + + + = + + + + + + + + + + + + + + +]> + + + + = + + + + + + = + + + + + + + = + + + + + + + + = + + + + + + + + + + + + + Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/tip.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/tip.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/tip.svg 2008-04-17 12:29:47 UTC (rev 7965) @@ -0,0 +1,121 @@ + + + + +]> + + + = + + + + + + + + + = + + + + = + + + + + + + + + + + + + + + + + + + + = + + + + + + = + + + + + + = + + + + + + + = + + + + + + = + + + + + + + + + + + + + + + + + + + + +]> + + + + + = + + + + + + + + + + + --===============3273013375800182815==-- From seam-commits at lists.jboss.org Fri Apr 18 05:25:28 2008 Content-Type: multipart/mixed; boundary="===============5380808300613965291==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7966 - in maven-plugins/trunk: seam-jdocbook-style/src/main/css/css and 1 other directory. Date: Fri, 18 Apr 2008 05:25:27 -0400 Message-ID: --===============5380808300613965291== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-18 05:25:27 -0400 (Fri, 18 Apr 2008) New Revision: 7966 Added: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/eclipse.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/pdf.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/xhtml-single.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/xhtml.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-s= ingle.css Removed: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-eclipse.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-html.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/main-pdf.xsl maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/nochunk-html.xsl maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-n= ochunk.css Log: Renamed stylesheets/CSS and refactored contents for clarity and ease of mai= ntenance. Copied: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/j= boss/seam/eclipse.xsl (from rev 7965, maven-plugins/trunk/seam-docbook-xslt= /src/main/resources/xslt/org/jboss/seam/main-eclipse.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/eclipse.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/eclipse.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -0,0 +1,16 @@ + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/main-eclipse.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl 2008-04-17 12:29:47 UTC (rev 7965) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-eclipse.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -1,21 +0,0 @@ - - - - - - - - - - - images/seamframework/docbook/c= allouts/ - 17px - - Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/main-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-17 12:29:47 UTC (rev 7965) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-html.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -1,23 +0,0 @@ - - - - - - - - - = - - - - images/seamframework/docbook/= callouts/ - - Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/main-pdf.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-17 12:29:47 UTC (rev 7965) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/main-pdf.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - images/seamframework/docbook/callouts/ - - = - = - - - - - images/seamframework/docbook/ - - = - - #576C74 - #885324 - #BA5624 - #BA5624 - - - #D3D2D1 - #D3D2D1 - 0.6pt - - 0.6pt - white - #D3D2D1 - white - white - - - - - bold - #EDE8DB - black - - - - - - - - - - - - - - - - - - - #EDE8DB - - - - Deleted: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/= jboss/seam/nochunk-html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-17 12:29:47 UTC (rev 7965) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/nochunk-html.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -1,24 +0,0 @@ - - = - - - - - - = - - - - - images/seamframework/docbook/= callouts/ - 17px - - Copied: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/j= boss/seam/pdf.xsl (from rev 7965, maven-plugins/trunk/seam-docbook-xslt/src= /main/resources/xslt/org/jboss/seam/main-pdf.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/pdf.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/pdf.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -0,0 +1,68 @@ + + + + + + + + + = + + #576C74 + #885324 + #BA5624 + #BA5624 + + + #D3D2D1 + #D3D2D1 + 0.6pt + + 0.6pt + white + #D3D2D1 + white + white + + + + + bold + #EDE8DB + black + + + + + + + + + + + + + + + + + + + #EDE8DB + + + + Copied: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/j= boss/seam/xhtml-single.xsl (from rev 7965, maven-plugins/trunk/seam-docbook= -xslt/src/main/resources/xslt/org/jboss/seam/nochunk-html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/xhtml-single.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/xhtml-single.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -0,0 +1,17 @@ + + = + + + + + + + = + + + Copied: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/j= boss/seam/xhtml.xsl (from rev 7965, maven-plugins/trunk/seam-docbook-xslt/s= rc/main/resources/xslt/org/jboss/seam/main-html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/xhtml.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/xhtml.xsl 2008-04-18 09:25:27 UTC (rev 7966) @@ -0,0 +1,15 @@ + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframe= work-nochunk.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= nochunk.css 2008-04-17 12:29:47 UTC (rev 7965) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= nochunk.css 2008-04-18 09:25:27 UTC (rev 7966) @@ -1,5 +0,0 @@ -(a)import url("seamframework.css"); - -.title { - margin-top: 30px; -} \ No newline at end of file Copied: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframew= ork-single.css (from rev 7965, maven-plugins/trunk/seam-jdocbook-style/src/= main/css/css/seamframework-nochunk.css) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= single.css (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= single.css 2008-04-18 09:25:27 UTC (rev 7966) @@ -0,0 +1,5 @@ +(a)import url("seamframework.css"); + +.title { + margin-top: 30px; +} \ No newline at end of file --===============5380808300613965291==-- From seam-commits at lists.jboss.org Fri Apr 18 05:26:34 2008 Content-Type: multipart/mixed; boundary="===============3506634105552313350==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7967 - maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam. Date: Fri, 18 Apr 2008 05:26:34 -0400 Message-ID: --===============3506634105552313350== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-18 05:26:33 -0400 (Fri, 18 Apr 2008) New Revision: 7967 Added: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/common.xsl Log: Forgot to add new common.xsl file during the refactoring commit. Added: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jb= oss/seam/common.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common.xsl (rev 0) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/common.xsl 2008-04-18 09:26:33 UTC (rev 7967) @@ -0,0 +1,35 @@ + + + + + + + + + + + = + + + + = + = + + + + + images/seamframework/docbook/callouts/ + + = + + + + + images/seamframework/docbook/ + + = + --===============3506634105552313350==-- From seam-commits at lists.jboss.org Fri Apr 18 06:52:33 2008 Content-Type: multipart/mixed; boundary="===============1854973836185516819==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7968 - maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframework/docbook/callouts. Date: Fri, 18 Apr 2008 06:52:33 -0400 Message-ID: --===============1854973836185516819== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-18 06:52:33 -0400 (Fri, 18 Apr 2008) New Revision: 7968 Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/1.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/10.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/11.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/12.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/13.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/14.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/15.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/2.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/3.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/4.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/5.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/6.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/7.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/8.svg maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/9.svg Removed: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/1.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/10.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/11.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/12.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/13.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/14.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/15.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/2.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/3.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/4.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/5.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/6.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/7.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/8.gif maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamframe= work/docbook/callouts/9.gif Log: Added callout SVGs and removed redundant callout GIFs. Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/1.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/1.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/1.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/1.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,82 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/10.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/10.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/10.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/10.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,87 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/11.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/11.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/11.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/11.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,83 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/12.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/12.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/12.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/12.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,87 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/13.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/13.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/13.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/13.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,89 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/14.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/14.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/14.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/14.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,86 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/15.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/15.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/15.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/15.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,86 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/2.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/2.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/2.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/2.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,86 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/3.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/3.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/3.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/3.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,89 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/4.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/4.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/4.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/4.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,83 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/5.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/5.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/5.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/5.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,85 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/6.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/6.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/6.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/6.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,89 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/7.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/7.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/7.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/7.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,83 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/8.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/8.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/8.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/8.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,88 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deleted: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/sea= mframework/docbook/callouts/9.gif =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Added: maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamf= ramework/docbook/callouts/9.svg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/9.svg (rev 0) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/images/images/seamfram= ework/docbook/callouts/9.svg 2008-04-18 10:52:33 UTC (rev 7968) @@ -0,0 +1,87 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --===============1854973836185516819==-- From seam-commits at lists.jboss.org Fri Apr 18 07:42:09 2008 Content-Type: multipart/mixed; boundary="===============5526894598633220602==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7969 - maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/seam. Date: Fri, 18 Apr 2008 07:42:09 -0400 Message-ID: --===============5526894598633220602== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-18 07:42:08 -0400 (Fri, 18 Apr 2008) New Revision: 7969 Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss/= seam/eclipse.xsl Log: Added Eclipse XSL params to customize plugin.xml Modified: maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org= /jboss/seam/eclipse.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/eclipse.xsl 2008-04-18 10:52:33 UTC (rev 7968) +++ maven-plugins/trunk/seam-docbook-xslt/src/main/resources/xslt/org/jboss= /seam/eclipse.xsl 2008-04-18 11:42:08 UTC (rev 7969) @@ -13,4 +13,8 @@ = = + Seam Framework Help + org.jboss.seam.help + SeamFramework.org + = --===============5526894598633220602==-- From seam-commits at lists.jboss.org Fri Apr 18 07:57:02 2008 Content-Type: multipart/mixed; boundary="===============6920135473925566314==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7970 - branches/Seam_1_2_1_AP. Date: Fri, 18 Apr 2008 07:57:02 -0400 Message-ID: --===============6920135473925566314== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-18 07:57:02 -0400 (Fri, 18 Apr 2008) New Revision: 7970 Modified: branches/Seam_1_2_1_AP/build.xml Log: Minor Modified: branches/Seam_1_2_1_AP/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/build.xml 2008-04-18 11:42:08 UTC (rev 7969) +++ branches/Seam_1_2_1_AP/build.xml 2008-04-18 11:57:02 UTC (rev 7970) @@ -164,7 +164,7 @@ - + --===============6920135473925566314==-- From seam-commits at lists.jboss.org Fri Apr 18 08:28:08 2008 Content-Type: multipart/mixed; boundary="===============1966485784750773294==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7971 - maven-plugins/trunk/seam-jdocbook-style/src/main/css/css. Date: Fri, 18 Apr 2008 08:28:08 -0400 Message-ID: --===============1966485784750773294== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: newtonm Date: 2008-04-18 08:28:08 -0400 (Fri, 18 Apr 2008) New Revision: 7971 Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-e= clipse.css maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-s= ingle.css maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.c= ss Log: Tidied up CSS spacing for readability. Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework-eclipse.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= eclipse.css 2008-04-18 11:57:02 UTC (rev 7970) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= eclipse.css 2008-04-18 12:28:08 UTC (rev 7971) @@ -1,5 +1,3 @@ @import url("seamframework.css"); = -body { - background-image: none; -} +body {background-image:none;} Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework-single.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= single.css 2008-04-18 11:57:02 UTC (rev 7970) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework-= single.css 2008-04-18 12:28:08 UTC (rev 7971) @@ -1,5 +1,3 @@ @import url("seamframework.css"); = -.title { - margin-top: 30px; -} \ No newline at end of file +.title {margin-top:30px;} Modified: maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamfram= ework.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-18 11:57:02 UTC (rev 7970) +++ maven-plugins/trunk/seam-jdocbook-style/src/main/css/css/seamframework.= css 2008-04-18 12:28:08 UTC (rev 7971) @@ -1,102 +1,93 @@ -(a)import url(jbossorg.css); +(a)import url("jbossorg.css"); = -/* Override background image, font */ +/* Override background image and font */ body { - background-image: url(../images/seamframework/bkg_gradient.png); - font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; + background-image:url(../images/seamframework/bkg_gradient.png); + font-family:'Lucida Grande', Geneva, Verdana, Arial, sans-serif; } = /* More sfwk styling */ -a { - text-decoration: none; -} +a {text-decoration:none;} = h1 { - color: #885324; - background-image: url(../images/seamframework/title_hdr.png); + color:#885324; + background-image:url(../images/seamframework/title_hdr.png); } = /* Use sfwk colour for titles */ -h2,h3,h4,h5,h6 { - color: #BA5624; -} +h2, h3, h4, h5, h6 {color:#BA5624;} = div.note { - background-color: #849092; - color: white; + background-color:#849092; + color:white; } = -div.note h2 { - color: white; -} +div.note h2 {color:white;} = -div.note a:visited,div.tip a:visited,div.important a:visited,div.caution a= :visited,div.warning a:visited,div.note a:link,div.tip a:link,div.important= a:link,div.caution a:link,div.warning a:link -{ - color: #f7f2d0; +div.note a:visited, div.tip a:visited, div.important a:visited, div.cautio= n a:visited, div.warning a:visited, div.note a:link, div.tip a:link, div.im= portant a:link, div.caution a:link, div.warning a:link { + color: #f7f2d0; } = /* Override header images */ #title a.site_href { - display: block; - height: 100px; - width: 362px; - float: left; - background: url(../images/seamframework/seamlogo.png) top left no-repeat; + display:block; + height:100px; + width:362px; + float:left; + background:url(../images/seamframework/seamlogo.png) top left no-repea= t; } = #title a.doc_href { - display: block; - height: 100px; - background: transparent url(../images/seamframework/community_doc.png) to= p right no-repeat; + display:block; + height:100px; + background:transparent url(../images/seamframework/community_doc.png) = top right no-repeat; } = /* Use sfwk colour as background for examples */ .example { - background: url(../images/seamframework/leftside_bkgimage.gif) top left r= epeat; - padding: 5px; - margin-bottom: 10px; + background:url(../images/seamframework/leftside_bkgimage.gif) top left= repeat; + padding:5px; + margin-bottom:10px; } = /* Make the seam version info into a title */ .releaseinfo { - color: #BA5624; - font-size: 150%; + color:#BA5624; + font-size:150%; } = /* Use sfwk.org tables */ .table-contents th { - background: #EDE8DB url(../images/seamframework/th.bg.gif) repeat-x scrol= l 0pt; - color: black; - font-weight: bold; - padding: 2px 5px; - white-space: nowrap; + background:#EDE8DB url(../images/seamframework/th.bg.gif) repeat-x scr= oll 0pt; + color:black; + font-weight:bold; + padding:2px 5px; + white-space:nowrap; } = -.table-contents th td { - border-right: 1px solid #D3D2D1; -} +.table-contents th td {border-right:1px solid #D3D2D1;} = /* Override bullet points */ -ul { list-style-image: url(../images/seamframework/dot.png); } -ul ul { list-style-image: url(../images/seamframework/dot2.png); } +ul {list-style-image:url(../images/seamframework/dot.png);} +ul ul {list-style-image:url(../images/seamframework/dot2.png);} = /* Override admonition and navigation images */ -div.caution { background-image: url(../images/seamframework/docbook/cautio= n.png); } -div.important { background-image: url(../images/seamframework/docbook/impo= rtant.png); } -div.note { background-image: url(../images/seamframework/docbook/note.png)= ; } -div.tip { background-image: url(../images/seamframework/docbook/tip.png); } -div.warning { background-image: url(../images/seamframework/docbook/warnin= g.png); } +div.caution {background-image:url(../images/seamframework/docbook/caution.= png);} +div.important {background-image:url(../images/seamframework/docbook/import= ant.png);} +div.note {background-image:url(../images/seamframework/docbook/note.png);} +div.tip {background-image:url(../images/seamframework/docbook/tip.png);} +div.warning {background-image:url(../images/seamframework/docbook/warning.= png);} = -.docnav li.next a strong { background-image: url(../images/seamframework/d= ocbook/next.png); } -.docnav li.previous a strong { background-image: url(../images/seamframewo= rk/docbook/prev.png); } -.docnav li.home a strong { background-image: url(../images/seamframework/d= ocbook/home.png); } -.docnav li.up a strong { background-image: url(../images/seamframework/doc= book/up.png); } +.docnav li.next a strong {background-image:url(../images/seamframework/doc= book/next.png);} +.docnav li.previous a strong {background-image:url(../images/seamframework= /docbook/prev.png);} +.docnav li.home a strong {background-image:url(../images/seamframework/doc= book/home.png);} +.docnav li.up a strong {background-image:url(../images/seamframework/docbo= ok/up.png);} = /* Eclipse Help Navigation */ -.navheader td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } -.navheader td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } +.navheader td.next a {background-image:url(../images/seamframework/docbook= /next.png);} +.navheader td.previous a {background-image:url(../images/seamframework/doc= book/prev.png);} = -.navfooter td.next a { background-image: url(../images/seamframework/docbo= ok/next.png); } -.navfooter td.previous a { background-image: url(../images/seamframework/d= ocbook/prev.png); } -.navfooter td.home a { background-image: url(../images/seamframework/docbo= ok/home.png); } -.navfooter td.up a { background-image: url(../images/seamframework/docbook= /up.png); } +.navfooter td.next a {background-image:url(../images/seamframework/docbook= /next.png);} +.navfooter td.previous a {background-image:url(../images/seamframework/doc= book/prev.png);} +.navfooter td.home a {background-image:url(../images/seamframework/docbook= /home.png);} +.navfooter td.up a {background-image:url(../images/seamframework/docbook/u= p.png);} --===============1966485784750773294==-- From seam-commits at lists.jboss.org Fri Apr 18 09:46:54 2008 Content-Type: multipart/mixed; boundary="===============8355644150346422586==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7972 - branches/Seam_2_0/build. Date: Fri, 18 Apr 2008 09:46:54 -0400 Message-ID: --===============8355644150346422586== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-18 09:46:54 -0400 (Fri, 18 Apr 2008) New Revision: 7972 Modified: branches/Seam_2_0/build/docs.pom.xml Log: Update docs.pom.xml to newer plugin layout Modified: branches/Seam_2_0/build/docs.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/docs.pom.xml 2008-04-18 12:28:08 UTC (rev 7971) +++ branches/Seam_2_0/build/docs.pom.xml 2008-04-18 13:46:54 UTC (rev 7972) @@ -64,10 +64,10 @@ - ${pom.basedir}/en-US + ${pom.basedir}/en master.xml - ${pom.basedir}/en-US + ${pom.basedir}/en images/*.png @@ -76,24 +76,31 @@ pdf - classpath:/xslt/org/jboss/seam/main-pdf.xsl + classpath:/xslt/org/jboss/seam/pdf.xsl seam_reference.pdf html - classpath:/xslt/org/jboss/seam/main-html.xsl + classpath:/xslt/org/jboss/seam/xhtml.xsl index.html html_single - classpath:/xslt/org/jboss/seam/nochunk-html.xsl + classpath:/xslt/org/jboss/seam/xhtml-single.xsl index.html + + eclipse + + classpath:/xslt/org/jboss/seam/eclipse.xsl + + index.html + true --===============8355644150346422586==-- From seam-commits at lists.jboss.org Fri Apr 18 10:20:27 2008 Content-Type: multipart/mixed; boundary="===============8349012073779786801==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7973 - branches/Seam_2_0/build. Date: Fri, 18 Apr 2008 10:20:27 -0400 Message-ID: --===============8349012073779786801== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-18 10:20:27 -0400 (Fri, 18 Apr 2008) New Revision: 7973 Modified: branches/Seam_2_0/build/docs.pom.xml Log: minor Modified: branches/Seam_2_0/build/docs.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/docs.pom.xml 2008-04-18 13:46:54 UTC (rev 7972) +++ branches/Seam_2_0/build/docs.pom.xml 2008-04-18 14:20:27 UTC (rev 7973) @@ -64,10 +64,10 @@ - ${pom.basedir}/en + ${pom.basedir}/en-US master.xml - ${pom.basedir}/en + ${pom.basedir}/en-US images/*.png --===============8349012073779786801==-- From seam-commits at lists.jboss.org Fri Apr 18 10:20:47 2008 Content-Type: multipart/mixed; boundary="===============8562211100121021381==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7974 - branches/Seam_2_0/build. Date: Fri, 18 Apr 2008 10:20:47 -0400 Message-ID: --===============8562211100121021381== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-18 10:20:46 -0400 (Fri, 18 Apr 2008) New Revision: 7974 Modified: branches/Seam_2_0/build/common.build.xml branches/Seam_2_0/build/utilities.build.xml Log: Add maven.opts that can be passed to maven Modified: branches/Seam_2_0/build/common.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/common.build.xml 2008-04-18 14:20:27 UTC (rev 7= 973) +++ branches/Seam_2_0/build/common.build.xml 2008-04-18 14:20:46 UTC (rev 7= 974) @@ -14,6 +14,8 @@ = = + + = Modified: branches/Seam_2_0/build/utilities.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/build/utilities.build.xml 2008-04-18 14:20:27 UTC (re= v 7973) +++ branches/Seam_2_0/build/utilities.build.xml 2008-04-18 14:20:46 UTC (re= v 7974) @@ -153,6 +153,7 @@ + --===============8562211100121021381==-- From seam-commits at lists.jboss.org Fri Apr 18 11:35:52 2008 Content-Type: multipart/mixed; boundary="===============1857793857292234449==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7975 - branches/Seam_1_2_1_AP. Date: Fri, 18 Apr 2008 11:35:52 -0400 Message-ID: --===============1857793857292234449== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manaRH Date: 2008-04-18 11:35:52 -0400 (Fri, 18 Apr 2008) New Revision: 7975 Modified: branches/Seam_1_2_1_AP/build.xml Log: JBPAPP-759 Modified: branches/Seam_1_2_1_AP/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/build.xml 2008-04-18 14:20:46 UTC (rev 7974) +++ branches/Seam_1_2_1_AP/build.xml 2008-04-18 15:35:52 UTC (rev 7975) @@ -398,6 +398,7 @@ + @@ -1218,8 +1219,7 @@ = - - + = = --===============1857793857292234449==-- From seam-commits at lists.jboss.org Fri Apr 18 11:37:25 2008 Content-Type: multipart/mixed; boundary="===============6394924084449320969==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7976 - branches/Seam_1_2_1_AP/src/pdf/org/jboss/seam/pdf/ui. Date: Fri, 18 Apr 2008 11:37:25 -0400 Message-ID: --===============6394924084449320969== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manaRH Date: 2008-04-18 11:37:25 -0400 (Fri, 18 Apr 2008) New Revision: 7976 Modified: branches/Seam_1_2_1_AP/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java Log: JBPAPP-738 - fix of redirecting the output result Modified: branches/Seam_1_2_1_AP/src/pdf/org/jboss/seam/pdf/ui/UIDocument.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 20= 08-04-18 15:35:52 UTC (rev 7975) +++ branches/Seam_1_2_1_AP/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 20= 08-04-18 15:37:25 UTC (rev 7976) @@ -229,12 +229,6 @@ if (sendRedirect) { DocumentStore store =3D DocumentStore.instance(); id =3D store.newId(); - = - ResponseWriter response =3D context.getResponseWriter(); - response.startElement("html", this); - response.startElement("head", this); - response.startElement("meta", this); - response.writeAttribute("http-equiv", "Refresh", null); = String viewId =3D Pages.getViewId(context); baseName =3D baseNameForViewId(viewId); = @@ -242,12 +236,7 @@ = url =3D Manager.instance().encodeConversationId(url, viewId); = - response.writeAttribute("content", "0; URL=3D" + url, null); - - response.endElement("meta"); - response.endElement("head"); - - response.startElement("body",this); + context.getExternalContext().redirect(url); } } = --===============6394924084449320969==-- From seam-commits at lists.jboss.org Fri Apr 18 11:41:45 2008 Content-Type: multipart/mixed; boundary="===============5963878913282217866==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7977 - branches/Seam_1_2_1_AP/src/main/org/jboss/seam/core. Date: Fri, 18 Apr 2008 11:41:45 -0400 Message-ID: --===============5963878913282217866== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manaRH Date: 2008-04-18 11:41:45 -0400 (Fri, 18 Apr 2008) New Revision: 7977 Modified: branches/Seam_1_2_1_AP/src/main/org/jboss/seam/core/Validators.java Log: JBPAPP-774 Modified: branches/Seam_1_2_1_AP/src/main/org/jboss/seam/core/Validators.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/src/main/org/jboss/seam/core/Validators.java 200= 8-04-18 15:37:25 UTC (rev 7976) +++ branches/Seam_1_2_1_AP/src/main/org/jboss/seam/core/Validators.java 200= 8-04-18 15:41:45 UTC (rev 7977) @@ -83,7 +83,7 @@ */ public ClassValidator getValidator(Class modelClass) { - return getValidator(modelClass); + return getValidator(modelClass, null); } = /** --===============5963878913282217866==-- From seam-commits at lists.jboss.org Fri Apr 18 12:49:25 2008 Content-Type: multipart/mixed; boundary="===============7134339188475792131==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7978 - trunk/src/main/org/jboss/seam/drools. Date: Fri, 18 Apr 2008 12:49:25 -0400 Message-ID: --===============7134339188475792131== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-18 12:49:24 -0400 (Fri, 18 Apr 2008) New Revision: 7978 Modified: trunk/src/main/org/jboss/seam/drools/RuleAgent.java Log: JBSEAM-2906 Modified: trunk/src/main/org/jboss/seam/drools/RuleAgent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/drools/RuleAgent.java 2008-04-18 15:41:45= UTC (rev 7977) +++ trunk/src/main/org/jboss/seam/drools/RuleAgent.java 2008-04-18 16:49:24= UTC (rev 7978) @@ -61,7 +61,7 @@ if (poll !=3D null) { properties.setProperty(org.drools.agent.RuleAgent.POLL_INTERVAL, = poll); } - if (files !=3D null) { + if (configName !=3D null) { properties.setProperty(org.drools.agent.RuleAgent.CONFIG_NAME, co= nfigName); } = --===============7134339188475792131==-- From seam-commits at lists.jboss.org Fri Apr 18 12:51:55 2008 Content-Type: multipart/mixed; boundary="===============5462540491243776234==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7979 - branches/Seam_2_0/src/main/org/jboss/seam/drools. Date: Fri, 18 Apr 2008 12:51:55 -0400 Message-ID: --===============5462540491243776234== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-18 12:51:55 -0400 (Fri, 18 Apr 2008) New Revision: 7979 Modified: branches/Seam_2_0/src/main/org/jboss/seam/drools/RuleAgent.java Log: JBSEAM-2906 Modified: branches/Seam_2_0/src/main/org/jboss/seam/drools/RuleAgent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/drools/RuleAgent.java 2008-04= -18 16:49:24 UTC (rev 7978) +++ branches/Seam_2_0/src/main/org/jboss/seam/drools/RuleAgent.java 2008-04= -18 16:51:55 UTC (rev 7979) @@ -61,7 +61,7 @@ if (poll !=3D null) { properties.setProperty(org.drools.agent.RuleAgent.POLL_INTERVAL, = poll); } - if (files !=3D null) { + if (configName !=3D null) { properties.setProperty(org.drools.agent.RuleAgent.CONFIG_NAME, co= nfigName); } = --===============5462540491243776234==-- From seam-commits at lists.jboss.org Fri Apr 18 14:54:01 2008 Content-Type: multipart/mixed; boundary="===============1976820217543884574==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7980 - trunk/src/main/org/jboss/seam/init. Date: Fri, 18 Apr 2008 14:54:01 -0400 Message-ID: --===============1976820217543884574== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-18 14:54:01 -0400 (Fri, 18 Apr 2008) New Revision: 7980 Modified: trunk/src/main/org/jboss/seam/init/Initialization.java Log: JBSEAM-2775 Modified: trunk/src/main/org/jboss/seam/init/Initialization.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/init/Initialization.java 2008-04-18 16:51= :55 UTC (rev 7979) +++ trunk/src/main/org/jboss/seam/init/Initialization.java 2008-04-18 18:54= :01 UTC (rev 7980) @@ -213,8 +213,10 @@ for (Element elem : (List) rootElement.elements()) { String ns =3D elem.getNamespace().getURI(); NamespaceDescriptor nsInfo =3D resolveNamespace(ns); - if (nsInfo =3D=3D null && !ns.equals(COMPONENT_NAMESPACE)) { - log.warn("namespace declared in components.xml does not resolve to a= package: " + ns); + if (nsInfo =3D=3D null) { + if (!ns.equals(COMPONENT_NAMESPACE)) { + log.warn("namespace declared in components.xml does not resolve = to a package: " + ns); + } } else { String name =3D elem.attributeValue("name"); String elemName =3D toCamelCase(elem.getName(), true); @@ -263,14 +265,14 @@ name =3D Strings.isEmpty(prefix) ? = componentName : prefix + '.' + componentName; } - + = installComponentFromXmlElement(elem, name, className, replacements); } } } = private NamespaceDescriptor resolveNamespace(String namespace) { - if (Strings.isEmpty(namespace)) { + if (Strings.isEmpty(namespace) || namespace.equals(COMPONENT_NAMESPACE))= { return null; } = @@ -358,7 +360,7 @@ @SuppressWarnings("unchecked") private void installComponentFromXmlElement(Element component, String n= ame, String className, Properties replacements) throws ClassNotFoundException - { + { = String installText =3D component.attributeValue("installed"); boolean installed =3D false; if (installText =3D=3D null || "true".equals(replace(installText, re= placements))) @@ -473,6 +475,7 @@ private void addComponentDescriptor(ComponentDescriptor descriptor) { String name =3D descriptor.getName(); + = Set set =3D componentDescriptors.get(name); if (set=3D=3Dnull) { --===============1976820217543884574==-- From seam-commits at lists.jboss.org Fri Apr 18 14:54:25 2008 Content-Type: multipart/mixed; boundary="===============6267894360232400915==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7981 - trunk/src/main/org/jboss/seam. Date: Fri, 18 Apr 2008 14:54:25 -0400 Message-ID: --===============6267894360232400915== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-18 14:54:25 -0400 (Fri, 18 Apr 2008) New Revision: 7981 Modified: trunk/src/main/org/jboss/seam/Component.java Log: JBSEAM-2908 Modified: trunk/src/main/org/jboss/seam/Component.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/Component.java 2008-04-18 18:54:01 UTC (r= ev 7980) +++ trunk/src/main/org/jboss/seam/Component.java 2008-04-18 18:54:25 UTC (r= ev 7981) @@ -2070,9 +2070,11 @@ } = } catch (Exception e) { - //getScope().getContext().remove(name); = + if (getScope()!=3DSTATELESS) { + getScope().getContext().remove(name); = + } = - throw new InstantiationException("Could not instantiate Seam comp= onent: " + name, e); + throw new InstantiationException("Could not instantiate Seam compon= ent: " + name, e); } = return instance; --===============6267894360232400915==-- From seam-commits at lists.jboss.org Fri Apr 18 16:39:24 2008 Content-Type: multipart/mixed; boundary="===============4008323595467671766==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7982 - branches/Seam_2_0/src/main/org/jboss/seam. Date: Fri, 18 Apr 2008 16:39:24 -0400 Message-ID: --===============4008323595467671766== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-18 16:39:24 -0400 (Fri, 18 Apr 2008) New Revision: 7982 Modified: branches/Seam_2_0/src/main/org/jboss/seam/Component.java Log: JBSEAM-2908 Modified: branches/Seam_2_0/src/main/org/jboss/seam/Component.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/Component.java 2008-04-18 18:= 54:25 UTC (rev 7981) +++ branches/Seam_2_0/src/main/org/jboss/seam/Component.java 2008-04-18 20:= 39:24 UTC (rev 7982) @@ -1956,30 +1956,37 @@ } } = - public Object newInstance() - { - if ( log.isDebugEnabled() ) log.debug("instantiating Seam component:= " + name); - - Object instance; - try - { - instance =3D instantiate(); - } - catch (Exception e) - { - throw new InstantiationException("Could not instantiate Seam comp= onent: " + name, e); - } - - if ( getScope()!=3DSTATELESS ) - { - getScope().getContext().set(name, instance); //put it in the cont= ext _before_ calling the create method - callCreateMethod(instance); - if ( Events.exists() ) Events.instance().raiseEvent("org.jboss.se= am.postCreate." + name, instance); - } - - return instance; - } - + public Object newInstance() + { + if (log.isDebugEnabled()) { + log.debug("instantiating Seam component: " + name); + } + = + Object instance; + try { + instance =3D instantiate(); + = + if (getScope()!=3DSTATELESS) { + //put it in the context _before_ calling the create method + getScope().getContext().set(name, instance); = + = + callCreateMethod(instance); + = + if (Events.exists()) { + Events.instance().raiseEvent("org.jboss.seam.postCreat= e." + name, instance); + } + } + } catch (Exception e) { + if (getScope()!=3DSTATELESS) { + getScope().getContext().remove(name); + } + throw new InstantiationException("Could not instantiate Seam c= omponent: " + name, e); + } + = + = + return instance; + } + = private void callDefaultRemoveMethod(Object instance) { if ( hasDefaultRemoveMethod() ) --===============4008323595467671766==-- From seam-commits at lists.jboss.org Fri Apr 18 20:31:21 2008 Content-Type: multipart/mixed; boundary="===============1152152904122356719==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7983 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Fri, 18 Apr 2008 20:31:21 -0400 Message-ID: --===============1152152904122356719== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-18 20:31:21 -0400 (Fri, 18 Apr 2008) New Revision: 7983 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml Log: removed reference to identityManager Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-1= 8 20:39:24 UTC (rev 7982) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Security.xml 2008-04-1= 9 00:31:21 UTC (rev 7983) @@ -1561,8 +1561,7 @@ } = public void execute() { - identityManager.createAccount(username, password); - identityManager.grantRole(username, "user"); = + executePrivilegedOperation(); } = }.run();]]> = --===============1152152904122356719==-- From seam-commits at lists.jboss.org Sun Apr 20 13:23:48 2008 Content-Type: multipart/mixed; boundary="===============7092841511134807122==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7984 - branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityConverter. Date: Sun, 20 Apr 2008 13:23:44 -0400 Message-ID: --===============7092841511134807122== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-20 13:23:43 -0400 (Sun, 20 Apr 2008) New Revision: 7984 Modified: branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCon= verter/EntityLoader.java branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCon= verter/HibernateEntityLoader.java Log: Implement isPersistenceContextOpen Modified: branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/en= tityConverter/EntityLoader.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/EntityLoader.java 2008-04-19 00:31:21 UTC (rev 7983) +++ branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/EntityLoader.java 2008-04-20 17:23:43 UTC (rev 7984) @@ -50,4 +50,10 @@ { return (EntityLoader) Component.getInstance(EntityLoader.class, STAT= ELESS); } + = + @Override + protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) + { + return persistenceContext.isOpen(); + } } Modified: branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/en= tityConverter/HibernateEntityLoader.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/HibernateEntityLoader.java 2008-04-19 00:31:21 UTC (rev 7983) +++ branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/HibernateEntityLoader.java 2008-04-20 17:23:43 UTC (rev 7984) @@ -49,4 +49,11 @@ { return (HibernateEntityLoader) Component.getInstance(HibernateEntity= Loader.class, STATELESS); } + = + @Override + protected boolean isPersistenceContextOpen(Session persistenceContext) + { + return persistenceContext.isOpen(); + } + = } --===============7092841511134807122==-- From seam-commits at lists.jboss.org Sun Apr 20 20:41:51 2008 Content-Type: multipart/mixed; boundary="===============6186864468202822344==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7985 - in branches/Seam_2_0/doc/Seam_Reference_Guide: sl-SL and 1 other directory. Date: Sun, 20 Apr 2008 20:41:49 -0400 Message-ID: --===============6186864468202822344== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: skittoli(a)redhat.com Date: 2008-04-20 20:41:49 -0400 (Sun, 20 Apr 2008) New Revision: 7985 Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Annotations.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Book_Info.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Cache.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Components.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Concepts.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Configuration.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Controls.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Conversations.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Dependencies.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Drools.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Elenhancements.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Events.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Feedback.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Framework.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Getting_Started_With_JB= oss_Tools.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gettingstarted.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Groovy.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gwt.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Hsearch.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/I18n.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Itext.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jbpm.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jms.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Mail.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Oc4j.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Persistence.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Preface.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Remoting.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Revision_History.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Security.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Spring.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Testing.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Text.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tools.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tutorial.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Validation.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Weblogic.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Webservices.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Websphere.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Xml.po branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/master.po Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/Makefile Log: added Slovenian sl-SL Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/Makefile 2008-04-20 17:23:43= UTC (rev 7984) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/Makefile 2008-04-21 00:41:49= UTC (rev 7985) @@ -8,7 +8,7 @@ BRAND =3D JBoss = TRANSLATIONS =3D $(XML_LANG) -OTHER_LANGS =3D as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP k= n-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW +OTHER_LANGS =3D as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP k= n-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK sl-SL ta-IN te-IN zh-C= N zh-TW #TRANSLATIONS =3D $(XML_LANG) $(OTHER_LANGS) = COMMON_CONFIG =3D /usr/share/publican Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Annotations.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Annotations.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Annotations.po 2008-04= -21 00:41:49 UTC (rev 7985) @@ -0,0 +1,2167 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Annotations.xml:5 +#, no-c-format +msgid "Seam annotations" +msgstr "" + +#. Tag: para +#: Annotations.xml:7 +#, no-c-format +msgid "" +"When you write a Seam application, you'll use a lot of annotations. Seam " +"lets you use annotations to achieve a declarative style of programming. M= ost " +"of the annotations you'll use are defined by the EJB 3.0 specification. T= he " +"annotations for data validation are defined by the Hibernate Validator " +"package. Finally, Seam defines its own set of annotations, which we'll " +"describe in this chapter." +msgstr "" + +#. Tag: para +#: Annotations.xml:16 +#, no-c-format +msgid "" +"All of these annotations are defined in the package org.jboss.se= am." +"annotations." +msgstr "" + +#. Tag: title +#: Annotations.xml:22 +#, no-c-format +msgid "Annotations for component definition" +msgstr "" + +#. Tag: para +#: Annotations.xml:23 +#, no-c-format +msgid "" +"The first group of annotations lets you define a Seam component. These " +"annotations appear on the component class." +msgstr "" + +#. Tag: literal +#: Annotations.xml:31 +#, no-c-format +msgid "@Name" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:34 +#, no-c-format +msgid "@Name(\"componentName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:35 +#, no-c-format +msgid "" +"Defines the Seam component name for a class. This annotation is required = for " +"all Seam components." +msgstr "" + +#. Tag: literal +#: Annotations.xml:43 +#, no-c-format +msgid "@Scope" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:46 +#, no-c-format +msgid "@Scope(ScopeType.CONVERSATION)" +msgstr "" + +#. Tag: para +#: Annotations.xml:47 +#, no-c-format +msgid "" +"Defines the default context of the component. The possible values are " +"defined by the ScopeType enumeration: EVENT, " +"PAGE, CONVERSATION, SESSION, BUSINESS_PROCESS, APPLICATION, STATELESS." +msgstr "" + +#. Tag: para +#: Annotations.xml:52 +#, no-c-format +msgid "" +"When no scope is explicitly specified, the default depends upon the " +"component type. For stateless session beans, the default is " +"STATELESS. For entity beans and stateful session beans= , " +"the default is CONVERSATION. For JavaBeans, the defaul= t " +"is EVENT." +msgstr "" + +#. Tag: literal +#: Annotations.xml:64 +#, no-c-format +msgid "@Role" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:67 +#, no-c-format +msgid "@Role(name=3D\"roleName\", scope=3DScopeType.SESSION)" +msgstr "" + +#. Tag: para +#: Annotations.xml:68 +#, no-c-format +msgid "" +"Allows a Seam component to be bound to multiple contexts variables. The " +"@Name/@Scope annotations define a " +"\"default role\". Each @Role annotation defines an " +"additional role." +msgstr "" + +#. Tag: para +#: Annotations.xml:76 +#, no-c-format +msgid "name — the context variable name." +msgstr "" + +#. Tag: para +#: Annotations.xml:82 +#, no-c-format +msgid "" +"scope — the context variable scope. When no scop= e " +"is explicitly specified, the default depends upon the component type, as " +"above." +msgstr "" + +#. Tag: literal +#: Annotations.xml:93 +#, no-c-format +msgid "@Roles" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:96 +#, no-c-format +msgid "" +"@Roles({\n" +" @Role(name=3D\"user\", scope=3DScopeType.CONVERSATION),\n" +" @Role(name=3D\"currentUser\", scope=3DScopeType.SESSION)\n" +" })" +msgstr "" + +#. Tag: para +#: Annotations.xml:97 +#, no-c-format +msgid "Allows specification of multiple additional roles." +msgstr "" + +#. Tag: literal +#: Annotations.xml:104 +#, no-c-format +msgid "@BypassInterceptors" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:107 +#, no-c-format +msgid "@BypassInterceptors" +msgstr "" + +#. Tag: para +#: Annotations.xml:108 +#, no-c-format +msgid "" +"Disables Seam all interceptors on a particular component or method of a " +"component." +msgstr "" + +#. Tag: literal +#: Annotations.xml:116 +#, no-c-format +msgid "@JndiName" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:119 +#, no-c-format +msgid "@JndiName(\"my/jndi/name\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:120 +#, no-c-format +msgid "" +"Specifies the JNDI name that Seam will use to look up the EJB component. = If " +"no JNDI name is explicitly specified, Seam will use the JNDI pattern " +"specified by org.jboss.seam.core.init.jndiPattern." +msgstr "" + +#. Tag: literal +#: Annotations.xml:130 +#, no-c-format +msgid "@Conversational" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:133 +#, no-c-format +msgid "@Conversational" +msgstr "" + +#. Tag: para +#: Annotations.xml:134 +#, no-c-format +msgid "" +"Specifies that a conversation scope component is conversational, meaning " +"that no method of the component may be called unless a long-running " +"conversation is active." +msgstr "" + +#. Tag: literal +#: Annotations.xml:143 +#, no-c-format +msgid "@PerNestedConversation" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:146 +#, no-c-format +msgid "@PerNestedConversation" +msgstr "" + +#. Tag: para +#: Annotations.xml:147 +#, no-c-format +msgid "" +"Limits the scope of a CONVERSATION-scoped component to just the parent " +"conversation in which it was instantiated. The component instance will no= t " +"be visible to nested child conversations, which will get their own instan= ce." +msgstr "" + +#. Tag: para +#: Annotations.xml:153 +#, no-c-format +msgid "" +"Warning: this is ill-defined, since it implies that a component will be " +"visible for some part of a request cycle, and invisible after that. It is= " +"not recommended that applications use this feature!" +msgstr "" + +#. Tag: literal +#: Annotations.xml:163 +#, no-c-format +msgid "@Startup" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:166 +#, no-c-format +msgid "" +"@Scope(APPLICATION) @Startup(depends=3D\"org.jboss.seam.bpm.jbpm= \")" +msgstr "" + +#. Tag: para +#: Annotations.xml:167 +#, no-c-format +msgid "" +"Specifies that an application scope component is started immediately at " +"initialization time. This is mainly used for certain built-in components " +"that bootstrap critical infrastructure such as JNDI, datasources, etc." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:173 +#, no-c-format +msgid "@Scope(SESSION) @Startup" +msgstr "" + +#. Tag: para +#: Annotations.xml:174 +#, no-c-format +msgid "" +"Specifies that a session scope component is started immediately at sessio= n " +"creation time." +msgstr "" + +#. Tag: para +#: Annotations.xml:180 +#, no-c-format +msgid "" +"depends — specifies that the named components mu= st " +"be started first, if they are installed." +msgstr "" + +#. Tag: literal +#: Annotations.xml:191 +#, no-c-format +msgid "@Install" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:194 +#, no-c-format +msgid "@Install(false)" +msgstr "" + +#. Tag: para +#: Annotations.xml:195 +#, no-c-format +msgid "" +"Specifies whether or not a component should be installed by default. The " +"lack of an @Install annotation indicates a component " +"should be installed." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:200 +#, no-c-format +msgid "@Install(dependencies=3D\"org.jboss.seam.bpm.jbpm\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:201 +#, no-c-format +msgid "" +"Specifies that a component should only be stalled if the components liste= d " +"as dependencies are also installed." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:205 +#, no-c-format +msgid "@Install(genericDependencies=3DManagedQueueSender.class)]]= >" +msgstr "" + +#. Tag: para +#: Annotations.xml:206 +#, no-c-format +msgid "" +"Specifies that a component should only be installed if a component that i= s " +"implemented by a certain class is installed. This is useful when the " +"dependency doesn't have a single well-known name." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:212 +#, no-c-format +msgid "<![CDATA[@Install(classDependencies=3D\"org.hibernate.Session\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:213 +#, no-c-format +msgid "" +"Specifies that a component should only be installed if the named class is= in " +"the classpath." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:217 +#, no-c-format +msgid "@Install(precedence=3DBUILT_IN)" +msgstr "" + +#. Tag: para +#: Annotations.xml:218 +#, no-c-format +msgid "" +"Specifies the precedence of the component. If multiple components with th= e " +"same name exist, the one with the higher precedence will be installed. Th= e " +"defined precendence values are (in ascending order):" +msgstr "" + +#. Tag: para +#: Annotations.xml:227 +#, no-c-format +msgid "" +"BUILT_IN — Precedence of all built-in Seam " +"components" +msgstr "" + +#. Tag: para +#: Annotations.xml:233 +#, no-c-format +msgid "" +"FRAMEWORK — Precedence to use for components of " +"frameworks which extend Seam" +msgstr "" + +#. Tag: para +#: Annotations.xml:239 +#, no-c-format +msgid "" +"APPLICATION — Predence of application components= " +"(the default precedence)" +msgstr "" + +#. Tag: para +#: Annotations.xml:245 +#, no-c-format +msgid "" +"DEPLOYMENT — Precedence to use for components wh= ich " +"override application components in a particular deployment" +msgstr "" + +#. Tag: para +#: Annotations.xml:252 +#, no-c-format +msgid "" +"MOCK — Precedence for mock objects used in testi= ng" +msgstr "" + +#. Tag: literal +#: Annotations.xml:263 +#, no-c-format +msgid "@Synchronized" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:266 +#, no-c-format +msgid "@Synchronized(timeout=3D1000)" +msgstr "" + +#. Tag: para +#: Annotations.xml:267 +#, no-c-format +msgid "" +"Specifies that a component is accessed concurrently by multiple clients, = and " +"that Seam should serialize requests. If a request is not able to obtain i= ts " +"lock on the component in the given timeout period, an exception will be " +"raised." +msgstr "" + +#. Tag: literal +#: Annotations.xml:277 +#, no-c-format +msgid "@ReadOnly" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:280 +#, no-c-format +msgid "@ReadOnly" +msgstr "" + +#. Tag: para +#: Annotations.xml:281 +#, no-c-format +msgid "" +"Specifies that a JavaBean component or component method does not require " +"state replication at the end of the invocation." +msgstr "" + +#. Tag: literal +#: Annotations.xml:289 +#, no-c-format +msgid "@AutoCreate" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:292 +#, no-c-format +msgid "@AutoCreate" +msgstr "" + +#. Tag: para +#: Annotations.xml:293 +#, no-c-format +msgid "" +"Specifies that a component will be automatically created, even if the cli= ent " +"does not specify create=3Dtrue." +msgstr "" + +#. Tag: title +#: Annotations.xml:303 +#, no-c-format +msgid "Annotations for bijection" +msgstr "" + +#. Tag: para +#: Annotations.xml:304 +#, no-c-format +msgid "" +"The next two annotations control bijection. These attributes occur on " +"component instance variables or property accessor methods." +msgstr "" + +#. Tag: literal +#: Annotations.xml:312 +#, no-c-format +msgid "@In" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:315 +#, no-c-format +msgid "@In" +msgstr "" + +#. Tag: para +#: Annotations.xml:316 +#, no-c-format +msgid "" +"Specifies that a component attribute is to be injected from a context " +"variable at the beginning of each component invocation. If the context " +"variable is null, an exception will be thrown." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:322 +#, no-c-format +msgid "@In(required=3Dfalse)" +msgstr "" + +#. Tag: para +#: Annotations.xml:323 +#, no-c-format +msgid "" +"Specifies that a component attribute is to be injected from a context " +"variable at the beginning of each component invocation. The context varia= ble " +"may be null." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:328 +#, no-c-format +msgid "@In(create=3Dtrue)" +msgstr "" + +#. Tag: para +#: Annotations.xml:329 +#, no-c-format +msgid "" +"Specifies that a component attribute is to be injected from a context " +"variable at the beginning of each component invocation. If the context " +"variable is null, an instance of the component is instantiated by Seam." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:335 +#, no-c-format +msgid "@In(value=3D\"contextVariableName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:336 Annotations.xml:403 +#, no-c-format +msgid "" +"Specifies the name of the context variable explicitly, instead of using t= he " +"annotated instance variable name." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:340 +#, no-c-format +msgid "@In(value=3D\"#{customer.addresses['shipping']}\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:341 +#, no-c-format +msgid "" +"Specifies that a component attribute is to be injected by evaluating a JS= F " +"EL expression at the beginning of each component invocation." +msgstr "" + +#. Tag: para +#: Annotations.xml:348 +#, no-c-format +msgid "" +"value — specifies the name of the context variab= le. " +"Default to the name of the component attribute. Alternatively, specifies = a " +"JSF EL expression, surrounded by #{...}." +msgstr "" + +#. Tag: para +#: Annotations.xml:356 +#, no-c-format +msgid "" +"create — specifies that Seam should instantiate = the " +"component with the same name as the context variable if the context varia= ble " +"is undefined (null) in all contexts. Default to false." +msgstr "" + +#. Tag: para +#: Annotations.xml:364 +#, no-c-format +msgid "" +"required — specifies Seam should throw an except= ion " +"if the context variable is undefined in all contexts." +msgstr "" + +#. Tag: literal +#: Annotations.xml:375 +#, no-c-format +msgid "@Out" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:378 +#, no-c-format +msgid "@Out" +msgstr "" + +#. Tag: para +#: Annotations.xml:379 +#, no-c-format +msgid "" +"Specifies that a component attribute that is a Seam component is to be " +"outjected to its context variable at the end of the invocation. If the " +"attribute is null, an exception is thrown." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:384 +#, no-c-format +msgid "@Out(required=3Dfalse)" +msgstr "" + +#. Tag: para +#: Annotations.xml:385 +#, no-c-format +msgid "" +"Specifies that a component attribute that is a Seam component is to be " +"outjected to its context variable at the end of the invocation. The " +"attribute may be null." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:390 +#, no-c-format +msgid "@Out(scope=3DScopeType.SESSION)" +msgstr "" + +#. Tag: para +#: Annotations.xml:391 +#, no-c-format +msgid "" +"Specifies that a component attribute that is not a S= eam " +"component type is to be outjected to a specific scope at the end of the " +"invocation." +msgstr "" + +#. Tag: para +#: Annotations.xml:396 +#, no-c-format +msgid "" +"Alternatively, if no scope is explicitly specified, the scope of the " +"component with the @Out attribute is used (or the " +"EVENT scope if the component is stateless)." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:402 +#, no-c-format +msgid "@Out(value=3D\"contextVariableName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:409 +#, no-c-format +msgid "" +"value — specifies the name of the context variab= le. " +"Default to the name of the component attribute." +msgstr "" + +#. Tag: para +#: Annotations.xml:416 +#, no-c-format +msgid "" +"required — specifies Seam should throw an except= ion " +"if the component attribute is null during outjection." +msgstr "" + +#. Tag: para +#: Annotations.xml:427 +#, no-c-format +msgid "" +"Note that it is quite common for these annotations to occur together, for= " +"example:" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:432 +#, no-c-format +msgid "@In(create=3Dtrue) @Out private User currentUser;" +msgstr "" + +#. Tag: para +#: Annotations.xml:434 +#, no-c-format +msgid "" +"The next annotation supports the manager component " +"pattern, where a Seam component that manages the lifecycle of an instance= of " +"some other class that is to be injected. It appears on a component getter= " +"method." +msgstr "" + +#. Tag: literal +#: Annotations.xml:444 +#, no-c-format +msgid "@Unwrap" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:447 +#, no-c-format +msgid "@Unwrap" +msgstr "" + +#. Tag: para +#: Annotations.xml:448 +#, no-c-format +msgid "" +"Specifies that the object returned by the annotated getter method is the " +"thing that is injected instead of the component instance itself." +msgstr "" + +#. Tag: para +#: Annotations.xml:457 +#, no-c-format +msgid "" +"The next annotation supports the factory component " +"pattern, where a Seam component is responsible for initializing the value= of " +"a context variable. This is especially useful for initializing any state " +"needed for rendering the response to a non-faces request. It appears on a= " +"component method." +msgstr "" + +#. Tag: literal +#: Annotations.xml:468 +#, no-c-format +msgid "@Factory" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:471 +#, no-c-format +msgid "" +"@Factory(\"processInstance\") public void createProcessInstance(= ) " +"{ ... }" +msgstr "" + +#. Tag: para +#: Annotations.xml:472 +#, no-c-format +msgid "" +"Specifies that the method of the component is used to initialize the valu= e " +"of the named context variable, when the context variable has no value. Th= is " +"style is used with methods that return void." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:478 +#, no-c-format +msgid "" +"@Factory(\"processInstance\", scope=3DCONVERSATION) public " +"ProcessInstance createProcessInstance() { ... }" +msgstr "" + +#. Tag: para +#: Annotations.xml:479 +#, no-c-format +msgid "" +"Specifies that the method returns a value that Seam should use to initial= ize " +"the value of the named context variable, when the context variable has no= " +"value. This style is used with methods that return a value. If no scope i= s " +"explicitly specified, the scope of the component with the @Facto= ry method is used (unless the component is stateless, in which case= " +"the EVENT context is used)." +msgstr "" + +#. Tag: para +#: Annotations.xml:491 +#, no-c-format +msgid "" +"value — specifies the name of the context variab= le. " +"If the method is a getter method, default to the JavaBeans property name." +msgstr "" + +#. Tag: para +#: Annotations.xml:498 +#, no-c-format +msgid "" +"scope — specifies the scope that Seam should bin= d " +"the returned value to. Only meaningful for factory methods which return a= " +"value." +msgstr "" + +#. Tag: para +#: Annotations.xml:505 +#, no-c-format +msgid "" +"autoCreate — specifies that this factory method " +"should be automatically called whenever the variable is asked for, even i= f " +"@In does not specify create=3Dtrue." +msgstr "" + +#. Tag: para +#: Annotations.xml:518 +#, no-c-format +msgid "This annotation lets you inject a Log:" +msgstr "" + +#. Tag: literal +#: Annotations.xml:525 +#, no-c-format +msgid "@Logger" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:528 +#, no-c-format +msgid "@Logger(\"categoryName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:529 +#, no-c-format +msgid "" +"Specifies that a component field is to be injected with an instance of " +"org.jboss.seam.log.Log. For entity beans, the field mu= st " +"be declared as static." +msgstr "" + +#. Tag: para +#: Annotations.xml:536 +#, no-c-format +msgid "" +"value — specifies the name of the log category. " +"Default to the name of the component class." +msgstr "" + +#. Tag: para +#: Annotations.xml:547 +#, no-c-format +msgid "The last annotation lets you inject a request parameter value:" +msgstr "" + +#. Tag: literal +#: Annotations.xml:554 +#, no-c-format +msgid "@RequestParameter" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:557 +#, no-c-format +msgid "@RequestParameter(\"parameterName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:558 +#, no-c-format +msgid "" +"Specifies that a component attribute is to be injected with the value of = a " +"request parameter. Basic type conversions are performed automatically." +msgstr "" + +#. Tag: para +#: Annotations.xml:565 +#, no-c-format +msgid "" +"value — specifies the name of the request " +"parameter. Default to the name of the component attribute." +msgstr "" + +#. Tag: title +#: Annotations.xml:579 +#, no-c-format +msgid "Annotations for component lifecycle methods" +msgstr "" + +#. Tag: para +#: Annotations.xml:580 +#, no-c-format +msgid "" +"These annotations allow a component to react to its own lifecycle events.= " +"They occur on methods of the component. There may be only one of each per= " +"component class." +msgstr "" + +#. Tag: literal +#: Annotations.xml:589 +#, no-c-format +msgid "@Create" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:592 +#, no-c-format +msgid "@Create" +msgstr "" + +#. Tag: para +#: Annotations.xml:593 +#, no-c-format +msgid "" +"Specifies that the method should be called when an instance of the compon= ent " +"is instantiated by Seam. Note that create methods are only supported for " +"JavaBeans and stateful session beans." +msgstr "" + +#. Tag: literal +#: Annotations.xml:603 +#, no-c-format +msgid "@Destroy" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:606 +#, no-c-format +msgid "@Destroy" +msgstr "" + +#. Tag: para +#: Annotations.xml:607 +#, no-c-format +msgid "" +"Specifies that the method should be called when the context ends and its " +"context variables are destroyed. Note that destroy methods are only " +"supported for JavaBeans and stateful session beans." +msgstr "" + +#. Tag: para +#: Annotations.xml:613 +#, no-c-format +msgid "" +"Destroy methods should be used only for cleanup. Seam catches, " +"logs and swallows any exception that propagates out of a destroy method.<= /" +"emphasis>" +msgstr "" + +#. Tag: literal +#: Annotations.xml:622 +#, no-c-format +msgid "@Observer" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:625 +#, no-c-format +msgid "@Observer(\"somethingChanged\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:626 +#, no-c-format +msgid "" +"Specifies that the method should be called when a component-driven event = of " +"the specified type occurs." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:630 +#, no-c-format +msgid "@Observer(value=3D\"somethingChanged\",create=3Dfalse)" +msgstr "" + +#. Tag: para +#: Annotations.xml:631 +#, no-c-format +msgid "" +"Specifies that the method should be called when an event of the specified= " +"type occurs but that an instance should not be created if one doesn't exi= st. " +"If an instance does not exist and create is false, the event will not be " +"observed. The default value for create is true." +msgstr "" + +#. Tag: title +#: Annotations.xml:645 +#, no-c-format +msgid "Annotations for context demarcation" +msgstr "" + +#. Tag: para +#: Annotations.xml:646 +#, no-c-format +msgid "" +"These annotations provide declarative conversation demarcation. They appe= ar " +"on methods of Seam components, usually action listener methods." +msgstr "" + +#. Tag: para +#: Annotations.xml:651 +#, no-c-format +msgid "" +"Every web request has a conversation context associated with it. Most of " +"these conversations end at the end of the request. If you want a " +"conversation that span multiple requests, you must \"promote\" the curren= t " +"conversation to a long-running conversation by calli= ng " +"a method marked with @Begin." +msgstr "" + +#. Tag: literal +#: Annotations.xml:662 +#, no-c-format +msgid "@Begin" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:665 +#, no-c-format +msgid "@Begin" +msgstr "" + +#. Tag: para +#: Annotations.xml:666 +#, no-c-format +msgid "" +"Specifies that a long-running conversation begins when this method return= s a " +"non-null outcome without exception." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:670 +#, no-c-format +msgid "@Begin(join=3Dtrue)" +msgstr "" + +#. Tag: para +#: Annotations.xml:671 +#, no-c-format +msgid "" +"Specifies that if a long-running conversation is already in progress, the= " +"conversation context is simply propagated." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:675 +#, no-c-format +msgid "@Begin(nested=3Dtrue)" +msgstr "" + +#. Tag: para +#: Annotations.xml:676 +#, no-c-format +msgid "" +"Specifies that if a long-running conversation is already in progress, a n= ew " +"nested conversation context begins. The nested " +"conversation will end when the next @End is encountere= d, " +"and the outer conversation will resume. It is perfectly legal for multipl= e " +"nested conversations to exist concurrently in the same outer conversation= ." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:685 +#, no-c-format +msgid "@Begin(pageflow=3D\"process definition name\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:686 +#, no-c-format +msgid "" +"Specifies a jBPM process definition name that defines the pageflow for th= is " +"conversation." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:690 +#, no-c-format +msgid "@Begin(flushMode=3DFlushModeType.MANUAL)" +msgstr "" + +#. Tag: para +#: Annotations.xml:691 +#, no-c-format +msgid "" +"Specify the flush mode of any Seam-managed persistence contexts. " +"flushMode=3DFlushModeType.MANUAL supports the use of " +"atomic conversations where all write operations are " +"queued in the conversation context until an explicit call to flu= sh()" +" (which usually occurs at the end of the conversation)." +msgstr "" + +#. Tag: para +#: Annotations.xml:702 +#, no-c-format +msgid "" +"join — determines the behavior when a long-runni= ng " +"conversation is already in progress. If true, the cont= ext " +"is propagated. If false, an exception is thrown. Defau= lt " +"to false. This setting is ignored when " +"nested=3Dtrue is specified." +msgstr "" + +#. Tag: para +#: Annotations.xml:713 +#, no-c-format +msgid "" +"nested — specifies that a nested conversation " +"should be started if a long-running conversation is already in progress." +msgstr "" + +#. Tag: para +#: Annotations.xml:720 Annotations.xml:800 Annotations.xml:847 +#, no-c-format +msgid "" +"flushMode — set the flush mode of any Seam-manag= ed " +"Hibernate sessions or JPA persistence contexts that are created during th= is " +"conversation." +msgstr "" + +#. Tag: para +#: Annotations.xml:728 +#, no-c-format +msgid "" +"pageflow — a process definition name of a jBPM " +"process definition deployed via org.jboss.seam.bpm.jbpm." +"pageflowDefinitions." +msgstr "" + +#. Tag: literal +#: Annotations.xml:739 +#, no-c-format +msgid "@End" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:742 +#, no-c-format +msgid "@End" +msgstr "" + +#. Tag: para +#: Annotations.xml:743 +#, no-c-format +msgid "" +"Specifies that a long-running conversation ends when this method returns = a " +"non-null outcome without exception." +msgstr "" + +#. Tag: para +#: Annotations.xml:749 Annotations.xml:885 +#, no-c-format +msgid "" +"beforeRedirect — by default, the conversation wi= ll " +"not actually be destroyed until after any redirect has occurred. Setting " +"beforeRedirect=3Dtrue specifies that the conversation " +"should be destroyed at the end of the current request, and that the redir= ect " +"will be processed in a new temporary conversation context." +msgstr "" + +#. Tag: literal +#: Annotations.xml:764 +#, no-c-format +msgid "@StartTask" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:767 +#, no-c-format +msgid "@StartTask" +msgstr "" + +#. Tag: para +#: Annotations.xml:768 +#, no-c-format +msgid "" +"\"Starts\" a jBPM task. Specifies that a long-running conversation begins= " +"when this method returns a non-null outcome without exception. This " +"conversation is associated with the jBPM task specified in the named requ= est " +"parameter. Within the context of this conversation, a business process " +"context is also defined, for the business process instance of the task " +"instance." +msgstr "" + +#. Tag: para +#: Annotations.xml:779 +#, no-c-format +msgid "" +"The jBPM TaskInstance will be available in a request " +"context variable named taskInstance. The jPBM " +"ProcessInstance will be available in a request context= " +"variable named processInstance. (Of course, these obje= cts " +"are available for injection via @In.)" +msgstr "" + +#. Tag: para +#: Annotations.xml:791 Annotations.xml:838 +#, no-c-format +msgid "" +"taskIdParameter — the name of a request paramete= r " +"which holds the id of the task. Default to \"taskId\",= " +"which is also the default used by the Seam taskList JS= F " +"component." +msgstr "" + +#. Tag: literal +#: Annotations.xml:813 +#, no-c-format +msgid "@BeginTask" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:816 +#, no-c-format +msgid "@BeginTask" +msgstr "" + +#. Tag: para +#: Annotations.xml:817 +#, no-c-format +msgid "" +"Resumes work on an incomplete jBPM task. Specifies that a long-running " +"conversation begins when this method returns a non-null outcome without " +"exception. This conversation is associated with the jBPM task specified i= n " +"the named request parameter. Within the context of this conversation, a " +"business process context is also defined, for the business process instan= ce " +"of the task instance." +msgstr "" + +#. Tag: para +#: Annotations.xml:828 +#, no-c-format +msgid "" +"The jBPM org.jbpm.taskmgmt.exe.TaskInstance will be " +"available in a request context variable named taskInstance. The jPBM org.jbpm.graph.exe.ProcessInstance " +"will be available in a request context variable named " +"processInstance." +msgstr "" + +#. Tag: literal +#: Annotations.xml:859 +#, no-c-format +msgid "@EndTask" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:862 +#, no-c-format +msgid "@EndTask" +msgstr "" + +#. Tag: para +#: Annotations.xml:863 +#, no-c-format +msgid "" +"\"Ends\" a jBPM task. Specifies that a long-running conversation ends whe= n " +"this method returns a non-null outcome, and that the current task is " +"complete. Triggers a jBPM transition. The actual transition triggered wil= l " +"be the default transition unless the application has called " +"Transition.setName() on the built-in component named " +"transition." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:872 +#, no-c-format +msgid "@EndTask(transition=3D\"transitionName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:873 +#, no-c-format +msgid "Triggers the given jBPM transition." +msgstr "" + +#. Tag: para +#: Annotations.xml:878 +#, no-c-format +msgid "" +"transition — the name of the jBPM transition to = be " +"triggered when ending the task. Defaults to the default transition." +msgstr "" + +#. Tag: literal +#: Annotations.xml:900 +#, no-c-format +msgid "@CreateProcess" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:903 +#, no-c-format +msgid "@CreateProcess(definition=3D\"process definition name\")]]= >" +msgstr "" + +#. Tag: para +#: Annotations.xml:904 +#, no-c-format +msgid "" +"Creates a new jBPM process instance when the method returns a non-null " +"outcome without exception. The <literal>ProcessInstance</literal> object " +"will be available in a context variable named <literal>processInstance</" +"literal>." +msgstr "" + +#. Tag: para +#: Annotations.xml:913 +#, no-c-format +msgid "" +"<literal>definition</literal> &#8212; the name of the jBPM process " +"definition deployed via <literal>org.jboss.seam.bpm.jbpm.processDefinitio= ns</" +"literal>." +msgstr "" + +#. Tag: literal +#: Annotations.xml:924 +#, no-c-format +msgid "@ResumeProcess" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:927 +#, no-c-format +msgid "<![CDATA[@ResumeProcess(processIdParameter=3D\"processId\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:928 +#, no-c-format +msgid "" +"Re-enters the scope of an existing jBPM process instance when the method " +"returns a non-null outcome without exception. The ProcessInstanc= e object will be available in a context variable named " +"processInstance." +msgstr "" + +#. Tag: para +#: Annotations.xml:937 +#, no-c-format +msgid "" +"processIdParameter — the name a request paramete= r " +"holding the process id. Default to \"processId\"." +msgstr "" + +#. Tag: literal +#: Annotations.xml:949 +#, no-c-format +msgid "@Transition" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:952 +#, no-c-format +msgid "@Transition(\"cancel\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:953 +#, no-c-format +msgid "" +"Marks a method as signalling a transition in the current jBPM process " +"instance whenever the method returns a non-null result." +msgstr "" + +#. Tag: title +#: Annotations.xml:964 +#, no-c-format +msgid "Annotations for use with Seam JavaBean components in a J2EE environ= ment" +msgstr "" + +#. Tag: para +#: Annotations.xml:965 +#, no-c-format +msgid "" +"Seam provides an annotation that lets you force a rollback of the JTA " +"transaction for certain action listener outcomes." +msgstr "" + +#. Tag: literal +#: Annotations.xml:973 +#, no-c-format +msgid "@Transactional" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:976 +#, no-c-format +msgid "@Transactional" +msgstr "" + +#. Tag: para +#: Annotations.xml:977 +#, no-c-format +msgid "" +"Specifies that a JavaBean component should have a similar transactional " +"behavior to the default behavior of a session bean component. ie. method " +"invocations should take place in a transaction, and if no transaction exi= sts " +"when the method is called, a transaction will be started just for that " +"method. This annotation may be applied at either class or method level." +msgstr "" + +#. Tag: emphasis +#: Annotations.xml:986 +#, no-c-format +msgid "" +"Do not use this annotation on EJB 3.0 components, use " +"@TransactionAttribute!" +msgstr "" + +#. Tag: literal +#: Annotations.xml:993 +#, no-c-format +msgid "@ApplicationException" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:996 +#, no-c-format +msgid "@ApplicationException" +msgstr "" + +#. Tag: para +#: Annotations.xml:997 +#, no-c-format +msgid "" +"Synonym for javax.ejb.ApplicationException, for use in a pre Java EE 5 " +"environment. Applied to an exception to denote that it is an application " +"exception and should be reported to the client directly(i.e., unwrapped)." +msgstr "" + +#. Tag: para +#: Annotations.xml:1003 +#, no-c-format +msgid "" +"Do not use this annotation on EJB 3.0 components, use " +"@javax.ejb.ApplicationException instead." +msgstr "" + +#. Tag: para +#: Annotations.xml:1010 +#, no-c-format +msgid "" +"rollback — by default false, = if " +"true this exception should set the transaction to " +"rollback only" +msgstr "" + +#. Tag: para +#: Annotations.xml:1018 +#, no-c-format +msgid "" +"end — by default false, if " +"true this exception should end the current long-runnin= g " +"conversation" +msgstr "" + +#. Tag: literal +#: Annotations.xml:1030 +#, no-c-format +msgid "@Interceptors" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1033 +#, no-c-format +msgid "@Interceptors({DVDInterceptor, CDInterceptor})" +msgstr "" + +#. Tag: para +#: Annotations.xml:1034 +#, no-c-format +msgid "" +"Synonym for javax.interceptors.Interceptors, for use in a pre Java EE 5 " +"environment. Note that this may only be used as a meta-annotation. Declar= es " +"an ordered list of interceptors for a class or method." +msgstr "" + +#. Tag: para +#: Annotations.xml:1040 +#, no-c-format +msgid "" +"Do not use this annotations on EJB 3.0 components, use " +"@javax.interceptor.Interceptors instead." +msgstr "" + +#. Tag: para +#: Annotations.xml:1049 +#, no-c-format +msgid "" +"These annotations are mostly useful for JavaBean Seam components. If you = use " +"EJB 3.0 components, you should use the standard Java EE5 annotation." +msgstr "" + +#. Tag: title +#: Annotations.xml:1057 +#, no-c-format +msgid "Annotations for exceptions" +msgstr "" + +#. Tag: para +#: Annotations.xml:1059 +#, no-c-format +msgid "" +"These annotations let you specify how Seam should handle an exception tha= t " +"propagates out of a Seam component." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1067 +#, no-c-format +msgid "@Redirect" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1070 +#, no-c-format +msgid "@Redirect(viewId=3D\"error.jsp\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:1071 +#, no-c-format +msgid "" +"Specifies that the annotated exception causes a browser redirect to a " +"specified view id." +msgstr "" + +#. Tag: para +#: Annotations.xml:1077 +#, no-c-format +msgid "" +"viewId — specifies the JSF view id to redirect t= o. " +"You can use EL here." +msgstr "" + +#. Tag: para +#: Annotations.xml:1083 +#, no-c-format +msgid "" +"message — a message to be displayed, default to = the " +"exception message." +msgstr "" + +#. Tag: para +#: Annotations.xml:1089 Annotations.xml:1122 +#, no-c-format +msgid "" +"end — specifies that the long-running conversati= on " +"should end, default to false." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1100 +#, no-c-format +msgid "@HttpError" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1103 +#, no-c-format +msgid "@HttpError(errorCode=3D404)" +msgstr "" + +#. Tag: para +#: Annotations.xml:1104 +#, no-c-format +msgid "Specifies that the annotated exception causes a HTTP error to be se= nt." +msgstr "" + +#. Tag: para +#: Annotations.xml:1110 +#, no-c-format +msgid "" +"errorCode — the HTTP error code, default to " +"500." +msgstr "" + +#. Tag: para +#: Annotations.xml:1116 +#, no-c-format +msgid "" +"message — a message to be sent with the HTTP err= or, " +"default to the exception message." +msgstr "" + +#. Tag: title +#: Annotations.xml:1135 +#, no-c-format +msgid "Annotations for Seam Remoting" +msgstr "" + +#. Tag: para +#: Annotations.xml:1136 +#, no-c-format +msgid "" +"Seam Remoting requires that the local interface of a session bean be " +"annotated with the following annotation:" +msgstr "" + +#. Tag: literal +#: Annotations.xml:1144 +#, no-c-format +msgid "@WebRemote" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1147 +#, no-c-format +msgid "@WebRemote(exclude=3D\"path.to.exclude\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:1148 +#, no-c-format +msgid "" +"Indicates that the annotated method may be called from client-side " +"JavaScript. The exclude property is optional and allow= s " +"objects to be excluded from the result's object graph (see the Remoting " +"chapter for more details)." +msgstr "" + +#. Tag: title +#: Annotations.xml:1162 +#, no-c-format +msgid "Annotations for Seam interceptors" +msgstr "" + +#. Tag: para +#: Annotations.xml:1163 +#, no-c-format +msgid "The following annotations appear on Seam interceptor classes." +msgstr "" + +#. Tag: para +#: Annotations.xml:1166 +#, no-c-format +msgid "" +"Please refer to the documentation for the EJB 3.0 specification for " +"information about the annotations required for EJB interceptor definition= ." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1174 +#, no-c-format +msgid "@Interceptor" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1177 +#, no-c-format +msgid "@Interceptor(stateless=3Dtrue)" +msgstr "" + +#. Tag: para +#: Annotations.xml:1178 +#, no-c-format +msgid "" +"Specifies that this interceptor is stateless and Seam may optimize " +"replication." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1182 +#, no-c-format +msgid "@Interceptor(type=3DCLIENT)" +msgstr "" + +#. Tag: para +#: Annotations.xml:1183 +#, no-c-format +msgid "" +"Specifies that this interceptor is a \"client-side\" interceptor that is " +"called before the EJB container." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1187 +#, no-c-format +msgid "" +"@Interceptor(around=3D{SomeInterceptor.class, OtherInterceptor." +"class})" +msgstr "" + +#. Tag: para +#: Annotations.xml:1188 +#, no-c-format +msgid "" +"Specifies that this interceptor is positioned higher in the stack than th= e " +"given interceptors." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1192 +#, no-c-format +msgid "" +"@Interceptor(within=3D{SomeInterceptor.class, OtherInterceptor." +"class})" +msgstr "" + +#. Tag: para +#: Annotations.xml:1193 +#, no-c-format +msgid "" +"Specifies that this interceptor is positioned deeper in the stack than th= e " +"given interceptors." +msgstr "" + +#. Tag: title +#: Annotations.xml:1204 +#, no-c-format +msgid "Annotations for asynchronicity" +msgstr "" + +#. Tag: para +#: Annotations.xml:1205 +#, no-c-format +msgid "" +"The following annotations are used to declare an asynchronous method, for= " +"example:" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1210 +#, no-c-format +msgid "" +"@Asynchronous public void scheduleAlert(Alert alert, @Expiration= " +"Date date) { ... }" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1211 +#, no-c-format +msgid "" +"@Asynchronous public Timer scheduleAlerts(Alert alert, \n" +" @Expiration Date date, \n" +" @IntervalDuration long interval) { ... }" +msgstr "" + +#. Tag: literal +#: Annotations.xml:1216 +#, no-c-format +msgid "@Asynchronous" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1219 +#, no-c-format +msgid "@Asynchronous" +msgstr "" + +#. Tag: para +#: Annotations.xml:1220 +#, no-c-format +msgid "Specifies that the method call is processed asynchronously." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1227 +#, no-c-format +msgid "@Duration" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1230 +#, no-c-format +msgid "@Duration" +msgstr "" + +#. Tag: para +#: Annotations.xml:1231 +#, no-c-format +msgid "" +"Specifies that a parameter of the asynchronous call is the duration befor= e " +"the call is processed (or first processed for recurring calls)." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1240 +#, no-c-format +msgid "@Expiration" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1243 +#, no-c-format +msgid "@Expiration" +msgstr "" + +#. Tag: para +#: Annotations.xml:1244 +#, no-c-format +msgid "" +"Specifies that a parameter of the asynchronous call is the datetime at wh= ich " +"the call is processed (or first processed for recurring calls)." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1253 +#, no-c-format +msgid "@IntervalDuration" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1256 +#, no-c-format +msgid "@IntervalDuration" +msgstr "" + +#. Tag: para +#: Annotations.xml:1257 +#, no-c-format +msgid "" +"Specifies that an asynchronous method call recurs, and that the annotatio= ned " +"parameter is duration between recurrences." +msgstr "" + +#. Tag: title +#: Annotations.xml:1267 +#, no-c-format +msgid "Annotations for use with JSF" +msgstr "" + +#. Tag: para +#: Annotations.xml:1268 +#, no-c-format +msgid "The following annotations make working with JSF easier." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1275 +#, no-c-format +msgid "@Converter" +msgstr "" + +#. Tag: para +#: Annotations.xml:1278 +#, no-c-format +msgid "" +"Allows a Seam component to act as a JSF converter. The annotated class mu= st " +"be a Seam component, and must implement javax.faces.convert." +"Converter." +msgstr "" + +#. Tag: para +#: Annotations.xml:1285 +#, no-c-format +msgid "" +"id — the JSF converter id. Defaults to the " +"component name." +msgstr "" + +#. Tag: para +#: Annotations.xml:1291 +#, no-c-format +msgid "" +"forClass — if specified, register this component= as " +"the default converter for a type." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1302 +#, no-c-format +msgid "@Validator" +msgstr "" + +#. Tag: para +#: Annotations.xml:1305 +#, no-c-format +msgid "" +"Allows a Seam component to act as a JSF validator. The annotated class mu= st " +"be a Seam component, and must implement javax.faces.validator." +"Validator." +msgstr "" + +#. Tag: para +#: Annotations.xml:1312 +#, no-c-format +msgid "" +"id — the JSF validator id. Defaults to the " +"component name." +msgstr "" + +#. Tag: title +#: Annotations.xml:1323 +#, no-c-format +msgid "Annotations for use with dataTable" +msgstr "" + +#. Tag: para +#: Annotations.xml:1324 +#, no-c-format +msgid "" +"The following annotations make it easy to implement clickable lists backe= d " +"by a stateful session bean. They appear on attributes." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1333 +#, no-c-format +msgid "@DataModel" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1336 +#, no-c-format +msgid "@DataModel(\"variableName\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:1337 +#, no-c-format +msgid "" +"Outjects a property of type List, Map, " +"Set or Object[] as a JSF " +"DataModel into the scope of the owning component (or t= he " +"EVENT scope if the owning component is " +"STATELESS). In the case of Map, eac= h " +"row of the DataModel is a Map.Entry= ." +msgstr "" + +#. Tag: para +#: Annotations.xml:1350 +#, no-c-format +msgid "" +"value — name of the conversation context variabl= e. " +"Default to the attribute name." +msgstr "" + +#. Tag: para +#: Annotations.xml:1357 +#, no-c-format +msgid "" +"scope — if scope=3DScopeType.PAGE " +"is explicitly specified, the DataModel will be kept in= " +"the PAGE context." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1369 +#, no-c-format +msgid "@DataModelSelection" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1372 +#, no-c-format +msgid "@DataModelSelection" +msgstr "" + +#. Tag: para +#: Annotations.xml:1373 +#, no-c-format +msgid "" +"Injects the selected value from the JSF DataModel (thi= s " +"is the element of the underlying collection, or the map value). If only o= ne " +"@DataModel attribute is defined for a component, the " +"selected value from that DataModel will be injected. " +"Otherwise, the component name of each @DataModel must = be " +"specified in the value attribute for each @DataModelSelection." +msgstr "" + +#. Tag: para +#: Annotations.xml:1385 +#, no-c-format +msgid "" +"If PAGE scope is specified on the associated " +"@DataModel, then, in addition to the DataModel Selecti= on " +"being injected, the associated DataModel will also be injected. In this " +"case, if the property annotated with @DataModel is a " +"getter method, then a setter method for the property must also be part of= " +"the Business API of the containing Seam Component." +msgstr "" + +#. Tag: para +#: Annotations.xml:1397 Annotations.xml:1427 +#, no-c-format +msgid "" +"value — name of the conversation context variabl= e. " +"Not needed if there is exactly one @DataModel in the " +"component." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1409 +#, no-c-format +msgid "@DataModelSelectionIndex" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1412 +#, no-c-format +msgid "@DataModelSelectionIndex" +msgstr "" + +#. Tag: para +#: Annotations.xml:1413 +#, no-c-format +msgid "" +"Exposes the selection index of the JSF DataModel as an= " +"attribute of the component (this is the row number of the underlying " +"collection, or the map key). If only one @DataModel " +"attribute is defined for a component, the selected value from that " +"DataModel will be injected. Otherwise, the component n= ame " +"of each @DataModel must be specified in the value " +"attribute for each @DataModelSelectionIndex." +msgstr "" + +#. Tag: title +#: Annotations.xml:1442 +#, no-c-format +msgid "Meta-annotations for databinding" +msgstr "" + +#. Tag: para +#: Annotations.xml:1443 +#, no-c-format +msgid "" +"These meta-annotations make it possible to implement similar functionalit= y " +"to @DataModel and @DataModelSelection " +"for other datastructures apart from lists." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1453 +#, no-c-format +msgid "@DataBinderClass" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1456 +#, no-c-format +msgid "@DataBinderClass(DataModelBinder.class)" +msgstr "" + +#. Tag: para +#: Annotations.xml:1457 +#, no-c-format +msgid "Specifies that an annotation is a databinding annotation." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1464 +#, no-c-format +msgid "@DataSelectorClass" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1467 +#, no-c-format +msgid "@DataSelectorClass(DataModelSelector.class)" +msgstr "" + +#. Tag: para +#: Annotations.xml:1468 +#, no-c-format +msgid "Specifies that an annotation is a dataselection annotation." +msgstr "" + +#. Tag: title +#: Annotations.xml:1477 +#, no-c-format +msgid "Annotations for packaging" +msgstr "" + +#. Tag: para +#: Annotations.xml:1478 +#, no-c-format +msgid "" +"This annotation provides a mechanism for declaring information about a se= t " +"of components that are packaged together. It can be applied to any Java " +"package." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1488 +#, no-c-format +msgid "@Namespace" +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1491 +#, no-c-format +msgid "" +"@Namespace(value=3D\"http://jboss.com/products/seam/example/seam= pay" +"\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:1492 +#, no-c-format +msgid "" +"Specifies that components in the current package are associated with the " +"given namespace. The declared namespace can be used as an XML namespace i= n a " +"components.xml file to simplify application configurat= ion." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1498 +#, no-c-format +msgid "" +"@Namespace(value=3D\"http://jboss.com/products/seam/core\", pref= ix=3D" +"\"org.jboss.seam.core\")" +msgstr "" + +#. Tag: para +#: Annotations.xml:1499 +#, no-c-format +msgid "" +"Specifies a namespace to associate with a given package. Additionally, it= " +"specifies a component name prefix to be applied to component names specif= ied " +"in the XML file. For example, an XML element named init " +"that is associated with this namespace would be understood to actually re= fer " +"to a component named org.jboss.seam.core.init." +msgstr "" + +#. Tag: title +#: Annotations.xml:1514 +#, no-c-format +msgid "Annotations for integrating with the servlet container" +msgstr "" + +#. Tag: para +#: Annotations.xml:1515 +#, no-c-format +msgid "" +"These annotations allow you to integrate your Seam components with the " +"servlet container." +msgstr "" + +#. Tag: literal +#: Annotations.xml:1524 +#, no-c-format +msgid "@Filter" +msgstr "" + +#. Tag: para +#: Annotations.xml:1527 +#, no-c-format +msgid "" +"Use the Seam component (which implements javax.servlet.Filter) annotated with @Filter as a servlet filter. = It " +"will be executed by Seam's master filter." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1535 +#, no-c-format +msgid "@Filter(around=3D{\"seamComponent\", \"otherSeamComponent\= "})" +msgstr "" + +#. Tag: para +#: Annotations.xml:1536 +#, no-c-format +msgid "" +"Specifies that this filter is positioned higher in the stack than the giv= en " +"filters." +msgstr "" + +#. Tag: programlisting +#: Annotations.xml:1542 +#, no-c-format +msgid "@Filter(within=3D{\"seamComponent\", \"otherSeamComponent\= "})" +msgstr "" + +#. Tag: para +#: Annotations.xml:1543 +#, no-c-format +msgid "" +"Specifies that this filter is positioned deeper in the stack than the giv= en " +"filters." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Book_Info.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Book_Info.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Book_Info.po 2008-04-2= 1 00:41:49 UTC (rev 7985) @@ -0,0 +1,26 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Book_Info.xml:5 +#, no-c-format +msgid "Seam - Contextual Components" +msgstr "" + +#. Tag: subtitle +#: Book_Info.xml:6 +#, no-c-format +msgid "A Framework for Enterprise Java" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Cache.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Cache.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Cache.po 2008-04-21 00= :41:49 UTC (rev 7985) @@ -0,0 +1,327 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Cache.xml:5 +#, no-c-format +msgid "Caching" +msgstr "" + +#. Tag: para +#: Cache.xml:7 +#, no-c-format +msgid "" +"In almost all enterprise applications, the database is the primary " +"bottleneck, and the least scalable tier of the runtime environment. Peopl= e " +"from a PHP/Ruby environment will try to tell you that so-called \"shared " +"nothing\" architectures scale well. While that may be literally true, I " +"don't know of many interesting multi-user applications which can be " +"implemented with no sharing of resources between different nodes of the " +"cluster. What these silly people are really thinking of is a \"share noth= ing " +"except for the database\" architecture. Of course, sharing the database i= s " +"the primary problem with scaling a multi-user application—so the cl= aim " +"that this architecture is highly scalable is absurd, and tells you a lot " +"about the kind of applications that these folks spend most of their time " +"working on." +msgstr "" + +#. Tag: para +#: Cache.xml:22 +#, no-c-format +msgid "" +"Almost anything we can possibly do to share the database less " +"often is worth doing." +msgstr "" + +#. Tag: para +#: Cache.xml:27 +#, no-c-format +msgid "" +"This calls for a cache. Well, not just one cache. A well designed Seam " +"application will feature a rich, multi-layered caching strategy that impa= cts " +"every layer of the application:" +msgstr "" + +#. Tag: para +#: Cache.xml:35 +#, no-c-format +msgid "" +"The database, of course, has its own cache. This is super-important, but " +"can't scale like a cache in the application tier." +msgstr "" + +#. Tag: para +#: Cache.xml:42 +#, no-c-format +msgid "" +"Your ORM solution (Hibernate, or some other JPA implementation) has a sec= ond-" +"level cache of data from the database. This is a very powerful capability= , " +"but is often misused. In a clustered environment, keeping the data in the= " +"cache transactionally consistent across the whole cluster, and with the " +"database, is quite expensive. It makes most sense for data which is share= d " +"between many users, and is updated rarely. In traditional stateless " +"architectures, people often try to use the second-level cache for " +"conversational state. This is always bad, and is especially wrong in Seam= ." +msgstr "" + +#. Tag: para +#: Cache.xml:56 +#, no-c-format +msgid "" +"The Seam conversation context is a cache of conversational state. Compone= nts " +"you put into the conversation context can hold and cache state relating t= o " +"the current user interaction." +msgstr "" + +#. Tag: para +#: Cache.xml:63 +#, no-c-format +msgid "" +"In particular, the Seam-managed persistence context (or an extended EJB " +"container-managed persistence context associated with a conversation-scop= ed " +"stateful session bean) acts as a cache of data that has been read in the " +"current conversation. This cache tends to have a pretty high hitrate! Sea= m " +"optimizes the replication of Seam-managed persistence contexts in a " +"clustered environment, and there is no requirement for transactional " +"consistency with the database (optimistic locking is sufficient) so you " +"don't need to worry too much about the performance implications of this " +"cache, unless you read thousands of objects into a single persistence " +"context." +msgstr "" + +#. Tag: para +#: Cache.xml:78 +#, no-c-format +msgid "" +"The application can cache non-transactional state in the Seam application= " +"context. State kept in the application context is of course not visible t= o " +"other nodes in the cluster." +msgstr "" + +#. Tag: para +#: Cache.xml:85 +#, no-c-format +msgid "" +"The application can cache transactional state using the Seam " +"pojoCache component, which integrates JBossCache into = the " +"Seam environment. This state will be visible to other nodes if you run JB= oss " +"cache in a clustered mode." +msgstr "" + +#. Tag: para +#: Cache.xml:93 +#, no-c-format +msgid "" +"Finally, Seam lets you cache rendered fragments of a JSF page. Unlike the= " +"ORM second-level cache, this cache is not automatically invalidated when " +"data changes, so you need to write application code to perform explicit " +"invalidation, or set appropriate expiration policies." +msgstr "" + +#. Tag: para +#: Cache.xml:102 +#, no-c-format +msgid "" +"For more information about the second-level cache, you'll need to refer t= o " +"the documentation of your ORM solution, since this is an extremely comple= x " +"topic. In this section we'll discuss the use of JBossCache directly, via = the " +"pojoCache component, or as the page fragment cache, vi= a " +"the <s:cache> control." +msgstr "" + +#. Tag: title +#: Cache.xml:111 +#, no-c-format +msgid "Using JBossCache in Seam" +msgstr "" + +#. Tag: para +#: Cache.xml:113 +#, no-c-format +msgid "" +"The built-in pojoCache component manages an instance o= f " +"org.jboss.cache.aop.PojoCache. You can safely put any " +"immutable Java object in the cache, and it will be replicated across the " +"cluster (assuming that replication is enabled). If you want to keep mutab= le " +"objects in the cache, you'll need to run the JBossCache bytecode " +"preprocessor to ensure that changes to the objects will be automatically " +"detected and replicated." +msgstr "" + +#. Tag: para +#: Cache.xml:123 +#, no-c-format +msgid "" +"To use pojoCache, all you need to do is put the " +"JBossCache jars in the classpath, and provide a resource named " +"treecache.xml with an appropriate cache configuration.= " +"JBossCache has many scary and confusing configuration settings, so we won= 't " +"discuss them here. Please refer to the JBossCache documentation for more " +"information." +msgstr "" + +#. Tag: para +#: Cache.xml:132 +#, no-c-format +msgid "" +"You can find a sample treecache.xml in exampl= es/" +"blog/resources/treecache.xml." +msgstr "" + +#. Tag: para +#: Cache.xml:138 +#, no-c-format +msgid "" +"For an EAR depoyment of Seam, we recommend that the JBossCache jars and " +"configuration go directly into the EAR. Make sure you place both " +"jboss-cache.jar and jgroups.jar in " +"your EAR's lib folder." +msgstr "" + +#. Tag: para +#: Cache.xml:145 +#, no-c-format +msgid "Now you can inject the cache into any Seam component:" +msgstr "" + +#. Tag: programlisting +#: Cache.xml:149 +#, no-c-format +msgid "" +"@Name(\"chatroom\")\n" +"public class Chatroom {\n" +" @In PojoCache pojoCache;\n" +" \n" +" public void join(String username) {\n" +" try\n" +" {\n" +" Set<String> userList =3D (Set<String>) pojoCache.get(\"chatroom\= ", " +"\"userList\");\n" +" if (userList=3D=3Dnull) \n" +" {\n" +" userList =3D new HashSet<String>();\n" +" pojoCache.put(\"chatroom\", \"userList\", userList);\n" +" }\n" +" userList.put(username);\n" +" }\n" +" catch (CacheException ce)\n" +" {\n" +" throw new RuntimeException(ce);\n" +" }\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Cache.xml:151 +#, no-c-format +msgid "" +"If you want to have multiple JBossCache configurations in your applicatio= n, " +"use components.xml:" +msgstr "" + +#. Tag: programlisting +#: Cache.xml:156 +#, no-c-format +msgid "" +"<core:pojo-cache name=3D\"myCache\" cfg-resource-name=3D\"myown/= cache." +"xml\"/>" +msgstr "" + +#. Tag: title +#: Cache.xml:161 +#, no-c-format +msgid "Page fragment caching" +msgstr "" + +#. Tag: para +#: Cache.xml:163 +#, no-c-format +msgid "" +"The most interesting user of JBossCache is the <s:cache> tag, Seam's solution to the problem of page fragment caching in " +"JSF. <s:cache> uses pojoCache= " +"internally, so you need to follow the steps listed above before you can u= se " +"it. (Put the jars in the EAR, wade through the scary configuration option= s, " +"etc.)" +msgstr "" + +#. Tag: para +#: Cache.xml:171 +#, no-c-format +msgid "" +"<s:cache> is used for caching some rendered cont= ent " +"which changes rarely. For example, the welcome page of our blog displays = the " +"recent blog entries:" +msgstr "" + +#. Tag: programlisting +#: Cache.xml:177 +#, no-c-format +msgid "" +"<s:cache key=3D\"recentEntries-#{blog.id}\" region=3D" +"\"welcomePageFragments\">\n" +" <h:dataTable value=3D\"#{blog.recentEntries}\" var=3D\"blogEntry\">\n" +" <h:column>\n" +" <h3>#{blogEntry.title}</h3>\n" +" <div>\n" +" <s:formattedText value=3D\"#{blogEntry.body}\"/>\n" +" </div>\n" +" </h:column>\n" +" </h:dataTable>\n" +"</s:cache>" +msgstr "" + +#. Tag: para +#: Cache.xml:179 +#, no-c-format +msgid "" +"The key let's you have multiple cached versions of eac= h " +"page fragment. In this case, there is one cached version per blog. The " +"region determines the JBossCache node that all version= " +"will be stored in. Different nodes may have different expiry policies. " +"(That's the stuff you set up using the aforementioned scary configuration= " +"options.)" +msgstr "" + +#. Tag: para +#: Cache.xml:187 +#, no-c-format +msgid "" +"Of course, the big problem with <s:cache> is tha= t " +"it is too stupid to know when the underlying data changes (for example, w= hen " +"the blogger posts a new entry). So you need to evict the cached fragment " +"manually:" +msgstr "" + +#. Tag: programlisting +#: Cache.xml:193 +#, no-c-format +msgid "" +"public void post() {\n" +" ...\n" +" entityManager.persist(blogEntry);\n" +" pojoCache.remove(\"welcomePageFragments\", \"recentEntries-\" + blog." +"getId() );\n" +"}" +msgstr "" + +#. Tag: para +#: Cache.xml:195 +#, no-c-format +msgid "" +"Alternatively, if it is not critical that changes are immediately visible= to " +"the user, you could set a short expiry time on the JbossCache node." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Components.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Components.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Components.po 2008-04-= 21 00:41:49 UTC (rev 7985) @@ -0,0 +1,2091 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Components.xml:5 +#, no-c-format +msgid "Built-in Seam components" +msgstr "" + +#. Tag: para +#: Components.xml:6 +#, no-c-format +msgid "" +"This chapter describes Seam's built-in components, and their configuratio= n " +"properties. The built-in components will be created even if they are not " +"listed in your components.xml file, but if you need to= " +"override default properties or specify more than one component of a certa= in " +"type, components.xml is used." +msgstr "" + +#. Tag: para +#: Components.xml:14 +#, no-c-format +msgid "" +"Note that you can replace any of the built in components with your own " +"implementations simply by specifying the name of one of the built in " +"components on your own class using @Name." +msgstr "" + +#. Tag: para +#: Components.xml:21 +#, no-c-format +msgid "" +"Note also that even though all the built in components use a qualified na= me, " +"most of them are aliased to unqualified names by default. These aliases " +"specify auto-create=3D\"true\", so you do not need to = use " +"create=3Dtrue when injecting built-in components by th= eir " +"unqualified name." +msgstr "" + +#. Tag: title +#: Components.xml:30 +#, no-c-format +msgid "Context injection components" +msgstr "" + +#. Tag: para +#: Components.xml:31 +#, no-c-format +msgid "" +"The first set of built in components exist purely to support injection of= " +"various contextual objects. For example, the following component instance= " +"variable would have the Seam session context object injected:" +msgstr "" + +#. Tag: programlisting +#: Components.xml:38 +#, no-c-format +msgid "@In private Context sessionContext;" +msgstr "" + +#. Tag: literal +#: Components.xml:42 +#, no-c-format +msgid "org.jboss.seam.core.contexts" +msgstr "" + +#. Tag: para +#: Components.xml:44 +#, no-c-format +msgid "" +"Component that provides access to Seam Context objects, for example " +"org.jboss.seam.core.contexts.sessionContext['user']." +msgstr "" + +#. Tag: literal +#: Components.xml:51 +#, no-c-format +msgid "org.jboss.seam.faces.facesContext" +msgstr "" + +#. Tag: para +#: Components.xml:53 +#, no-c-format +msgid "" +"Manager component for the FacesContext context object " +"(not a true Seam context)" +msgstr "" + +#. Tag: para +#: Components.xml:61 Components.xml:275 Components.xml:485 Components.xml:= 637 +#, no-c-format +msgid "All of these components are always installed." +msgstr "" + +#. Tag: title +#: Components.xml:68 +#, no-c-format +msgid "Utility components" +msgstr "" + +#. Tag: para +#: Components.xml:69 +#, no-c-format +msgid "These components are merely useful." +msgstr "" + +#. Tag: literal +#: Components.xml:75 +#, no-c-format +msgid "org.jboss.seam.faces.facesMessages" +msgstr "" + +#. Tag: para +#: Components.xml:77 +#, no-c-format +msgid "Allows faces success messages to propagate across a browser redirec= t." +msgstr "" + +#. Tag: para +#: Components.xml:82 +#, no-c-format +msgid "" +"add(FacesMessage facesMessage) — add a faces " +"message, which will be displayed during the next render response phase th= at " +"occurs in the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:89 +#, no-c-format +msgid "" +"add(String messageTemplate) — add a faces messag= e, " +"rendered from the given message template which may contain EL expressions= ." +msgstr "" + +#. Tag: para +#: Components.xml:96 +#, no-c-format +msgid "" +"add(Severity severity, String messageTemplate) —= " +"add a faces message, rendered from the given message template which may " +"contain EL expressions." +msgstr "" + +#. Tag: para +#: Components.xml:103 +#, no-c-format +msgid "" +"addFromResourceBundle(String key) — add a faces " +"message, rendered from a message template defined in the Seam resource " +"bundle which may contain EL expressions." +msgstr "" + +#. Tag: para +#: Components.xml:110 +#, no-c-format +msgid "" +"addFromResourceBundle(Severity severity, String key) " +"— add a faces message, rendered from a message template defined in = the " +"Seam resource bundle which may contain EL expressions." +msgstr "" + +#. Tag: para +#: Components.xml:117 +#, no-c-format +msgid "clear() — clear all messages." +msgstr "" + +#. Tag: literal +#: Components.xml:125 +#, no-c-format +msgid "org.jboss.seam.faces.redirect" +msgstr "" + +#. Tag: para +#: Components.xml:127 +#, no-c-format +msgid "" +"A convenient API for performing redirects with parameters (this is " +"especially useful for bookmarkable search results screens)." +msgstr "" + +#. Tag: para +#: Components.xml:133 +#, no-c-format +msgid "" +"redirect.viewId — the JSF view id to redirect to= ." +msgstr "" + +#. Tag: para +#: Components.xml:139 +#, no-c-format +msgid "" +"redirect.conversationPropagationEnabled — " +"determines whether the conversation will propagate across the redirect." +msgstr "" + +#. Tag: para +#: Components.xml:146 +#, no-c-format +msgid "" +"redirect.parameters — a map of request parameter= " +"name to value, to be passed in the redirect request." +msgstr "" + +#. Tag: para +#: Components.xml:153 +#, no-c-format +msgid "execute() — perform the redirect immediate= ly." +msgstr "" + +#. Tag: para +#: Components.xml:159 +#, no-c-format +msgid "" +"captureCurrentRequest() — stores the view id and= " +"request parameters of the current GET request (in the conversation contex= t), " +"for later use by calling execute()." +msgstr "" + +#. Tag: literal +#: Components.xml:170 +#, no-c-format +msgid "org.jboss.seam.faces.httpError" +msgstr "" + +#. Tag: para +#: Components.xml:172 +#, no-c-format +msgid "A convenient API for sending HTTP errors." +msgstr "" + +#. Tag: literal +#: Components.xml:178 +#, no-c-format +msgid "org.jboss.seam.core.events" +msgstr "" + +#. Tag: para +#: Components.xml:180 +#, no-c-format +msgid "" +"An API for raising events that can be observed via @Observer methods, or method bindings in components.xml= ." +msgstr "" + +#. Tag: para +#: Components.xml:187 +#, no-c-format +msgid "" +"raiseEvent(String type) — raise an event of a " +"particular type and distribute to all observers." +msgstr "" + +#. Tag: para +#: Components.xml:194 +#, no-c-format +msgid "" +"raiseAsynchronousEvent(String type) — raise an " +"event to be processed asynchronously by the EJB3 timer service." +msgstr "" + +#. Tag: para +#: Components.xml:201 +#, no-c-format +msgid "" +"raiseTimedEvent(String type, ....) — schedule an= " +"event to be processed asynchronously by the EJB3 timer service." +msgstr "" + +#. Tag: para +#: Components.xml:208 +#, no-c-format +msgid "" +"addListener(String type, String methodBinding) —= " +"add an observer for a particular event type." +msgstr "" + +#. Tag: literal +#: Components.xml:217 +#, no-c-format +msgid "org.jboss.seam.core.interpolator" +msgstr "" + +#. Tag: para +#: Components.xml:219 +#, no-c-format +msgid "An API for interpolating the values of JSF EL expressions in String= s." +msgstr "" + +#. Tag: para +#: Components.xml:225 +#, no-c-format +msgid "" +"interpolate(String template) — scan the template= " +"for JSF EL expressions of the form #{...} and replace " +"them with their evaluated values." +msgstr "" + +#. Tag: literal +#: Components.xml:235 +#, no-c-format +msgid "org.jboss.seam.core.expressions" +msgstr "" + +#. Tag: para +#: Components.xml:237 +#, no-c-format +msgid "An API for creating value and method bindings." +msgstr "" + +#. Tag: para +#: Components.xml:242 +#, no-c-format +msgid "" +"createValueBinding(String expression) — create a= " +"value binding object." +msgstr "" + +#. Tag: para +#: Components.xml:248 +#, no-c-format +msgid "" +"createMethodBinding(String expression) — create = a " +"method binding object." +msgstr "" + +#. Tag: literal +#: Components.xml:257 Components.xml:1314 +#, no-c-format +msgid "org.jboss.seam.core.pojoCache" +msgstr "" + +#. Tag: para +#: Components.xml:259 +#, no-c-format +msgid "" +"Manager component for a JBoss Cache PojoCache instance= ." +msgstr "" + +#. Tag: para +#: Components.xml:265 +#, no-c-format +msgid "" +"pojoCache.cfgResourceName — the name of the " +"configuration file. Default to treecache.xml." +msgstr "" + +#. Tag: title +#: Components.xml:281 +#, no-c-format +msgid "Components for internationalization and themes" +msgstr "" + +#. Tag: para +#: Components.xml:282 +#, no-c-format +msgid "" +"The next group of components make it easy to build internationalized user= " +"interfaces using Seam." +msgstr "" + +#. Tag: literal +#: Components.xml:289 +#, no-c-format +msgid "org.jboss.seam.core.locale" +msgstr "" + +#. Tag: para +#: Components.xml:291 +#, no-c-format +msgid "The Seam locale." +msgstr "" + +#. Tag: literal +#: Components.xml:297 +#, no-c-format +msgid "org.jboss.seam.international.timezone" +msgstr "" + +#. Tag: para +#: Components.xml:299 +#, no-c-format +msgid "The Seam timezone. The timezone is session scoped." +msgstr "" + +#. Tag: literal +#: Components.xml:305 +#, no-c-format +msgid "org.jboss.seam.core.resourceBundle" +msgstr "" + +#. Tag: para +#: Components.xml:307 +#, no-c-format +msgid "" +"The Seam resource bundle. The resource bundle is stateless. The Seam " +"resource bundle performs a depth-first search for keys in a list of Java " +"resource bundles." +msgstr "" + +#. Tag: literal +#: Components.xml:315 +#, no-c-format +msgid "org.jboss.seam.core.resourceLoader" +msgstr "" + +#. Tag: para +#: Components.xml:317 +#, no-c-format +msgid "" +"The resource loader provides access to application resources and resource= " +"bundles." +msgstr "" + +#. Tag: para +#: Components.xml:322 +#, no-c-format +msgid "" +"resourceLoader.bundleNames — the names of the Ja= va " +"resource bundles to search when the Seam resource bundle is used. Default= to " +"messages." +msgstr "" + +#. Tag: literal +#: Components.xml:332 +#, no-c-format +msgid "org.jboss.seam.international.localeSelector" +msgstr "" + +#. Tag: para +#: Components.xml:334 +#, no-c-format +msgid "" +"Supports selection of the locale either at configuration time, or by the " +"user at runtime." +msgstr "" + +#. Tag: para +#: Components.xml:340 Components.xml:399 +#, no-c-format +msgid "select() — select the specified locale." +msgstr "" + +#. Tag: para +#: Components.xml:345 +#, no-c-format +msgid "" +"localeSelector.locale — the actual java= ." +"util.Locale." +msgstr "" + +#. Tag: para +#: Components.xml:351 +#, no-c-format +msgid "" +"localeSelector.localeString — the stringified " +"representation of the locale." +msgstr "" + +#. Tag: para +#: Components.xml:357 +#, no-c-format +msgid "" +"localeSelector.language — the language for the " +"specified locale." +msgstr "" + +#. Tag: para +#: Components.xml:363 +#, no-c-format +msgid "" +"localeSelector.country — the country for the " +"specified locale." +msgstr "" + +#. Tag: para +#: Components.xml:369 +#, no-c-format +msgid "" +"localeSelector.variant — the variant for the " +"specified locale." +msgstr "" + +#. Tag: para +#: Components.xml:375 +#, no-c-format +msgid "" +"localeSelector.supportedLocales — a list of " +"SelectItems representing the supported locales listed = in " +"jsf-config.xml." +msgstr "" + +#. Tag: para +#: Components.xml:382 +#, no-c-format +msgid "" +"localeSelector.cookieEnabled — specifies that th= e " +"locale selection should be persisted via a cookie." +msgstr "" + +#. Tag: literal +#: Components.xml:391 +#, no-c-format +msgid "org.jboss.seam.international.timezoneSelector" +msgstr "" + +#. Tag: para +#: Components.xml:393 +#, no-c-format +msgid "" +"Supports selection of the timezone either at configuration time, or by th= e " +"user at runtime." +msgstr "" + +#. Tag: para +#: Components.xml:404 +#, no-c-format +msgid "" +"timezoneSelector.timezone — the actual " +"java.util.TimeZone." +msgstr "" + +#. Tag: para +#: Components.xml:410 +#, no-c-format +msgid "" +"timezoneSelector.timeZoneId — the stringified " +"representation of the timezone." +msgstr "" + +#. Tag: para +#: Components.xml:416 +#, no-c-format +msgid "" +"timezoneSelector.cookieEnabled — specifies that = the " +"timezone selection should be persisted via a cookie." +msgstr "" + +#. Tag: literal +#: Components.xml:425 +#, no-c-format +msgid "org.jboss.seam.international.messages" +msgstr "" + +#. Tag: para +#: Components.xml:427 +#, no-c-format +msgid "" +"A map containing internationalized messages rendered from message templat= es " +"defined in the Seam resource bundle." +msgstr "" + +#. Tag: literal +#: Components.xml:434 +#, no-c-format +msgid "org.jboss.seam.theme.themeSelector" +msgstr "" + +#. Tag: para +#: Components.xml:436 +#, no-c-format +msgid "" +"Supports selection of the theme either at configuration time, or by the u= ser " +"at runtime." +msgstr "" + +#. Tag: para +#: Components.xml:442 +#, no-c-format +msgid "select() — select the specified theme." +msgstr "" + +#. Tag: para +#: Components.xml:447 +#, no-c-format +msgid "" +"theme.availableThemes — the list of defined them= es." +msgstr "" + +#. Tag: para +#: Components.xml:453 +#, no-c-format +msgid "themeSelector.theme — the selected theme." +msgstr "" + +#. Tag: para +#: Components.xml:459 +#, no-c-format +msgid "" +"themeSelector.themes — a list of " +"SelectItems representing the defined themes." +msgstr "" + +#. Tag: para +#: Components.xml:466 +#, no-c-format +msgid "" +"themeSelector.cookieEnabled — specifies that the= " +"theme selection should be persisted via a cookie." +msgstr "" + +#. Tag: literal +#: Components.xml:475 +#, no-c-format +msgid "org.jboss.seam.theme.theme" +msgstr "" + +#. Tag: para +#: Components.xml:477 +#, no-c-format +msgid "A map containing theme entries." +msgstr "" + +#. Tag: title +#: Components.xml:491 +#, no-c-format +msgid "Components for controlling conversations" +msgstr "" + +#. Tag: para +#: Components.xml:492 +#, no-c-format +msgid "" +"The next group of components allow control of conversations by the " +"application or user interface." +msgstr "" + +#. Tag: literal +#: Components.xml:499 +#, no-c-format +msgid "org.jboss.seam.core.conversation" +msgstr "" + +#. Tag: para +#: Components.xml:501 +#, no-c-format +msgid "" +"API for application control of attributes of the current Seam conversatio= n." +msgstr "" + +#. Tag: para +#: Components.xml:506 Components.xml:523 +#, no-c-format +msgid "getId() — returns the current conversation= id" +msgstr "" + +#. Tag: para +#: Components.xml:511 +#, no-c-format +msgid "" +"isNested() — is the current conversation a neste= d " +"conversation?" +msgstr "" + +#. Tag: para +#: Components.xml:517 +#, no-c-format +msgid "" +"isLongRunning() — is the current conversation a " +"long-running conversation?" +msgstr "" + +#. Tag: para +#: Components.xml:528 +#, no-c-format +msgid "" +"getParentId() — returns the conversation id of t= he " +"parent conversation" +msgstr "" + +#. Tag: para +#: Components.xml:534 +#, no-c-format +msgid "" +"getRootId() — returns the conversation id of the= " +"root conversation" +msgstr "" + +#. Tag: para +#: Components.xml:540 +#, no-c-format +msgid "" +"setTimeout(int timeout) — sets the timeout for t= he " +"current conversation" +msgstr "" + +#. Tag: para +#: Components.xml:546 +#, no-c-format +msgid "" +"setViewId(String outcome) — sets the view id to = be " +"used when switching back to the current conversation from the conversatio= n " +"switcher, conversation list, or breadcrumbs." +msgstr "" + +#. Tag: para +#: Components.xml:553 +#, no-c-format +msgid "" +"setDescription(String description) — sets the " +"description of the current conversation to be displayed in the conversati= on " +"switcher, conversation list, or breadcrumbs." +msgstr "" + +#. Tag: para +#: Components.xml:560 +#, no-c-format +msgid "" +"redirect() — redirect to the last well-defined v= iew " +"id for this conversation (useful after login challenges)." +msgstr "" + +#. Tag: para +#: Components.xml:566 +#, no-c-format +msgid "" +"leave() — exit the scope of this conversation, " +"without actually ending the conversation." +msgstr "" + +#. Tag: para +#: Components.xml:572 +#, no-c-format +msgid "" +"begin() — begin a long-running conversation " +"(equivalent to @Begin)." +msgstr "" + +#. Tag: para +#: Components.xml:578 +#, no-c-format +msgid "" +"beginPageflow(String pageflowName) — begin a lon= g-" +"running conversation with a pageflow (equivalent to @Begin(pagef= low=3D" +"\"...\"))." +msgstr "" + +#. Tag: para +#: Components.xml:585 +#, no-c-format +msgid "" +"end() — end a long-running conversation (equival= ent " +"to @End)." +msgstr "" + +#. Tag: para +#: Components.xml:591 +#, no-c-format +msgid "" +"pop() — pop the conversation stack, returning to= " +"the parent conversation." +msgstr "" + +#. Tag: para +#: Components.xml:597 +#, no-c-format +msgid "" +"root() — return to the root conversation of the " +"conversation stack." +msgstr "" + +#. Tag: para +#: Components.xml:603 +#, no-c-format +msgid "" +"changeFlushMode(FlushModeType flushMode) — chang= e " +"the flush mode of the conversation." +msgstr "" + +#. Tag: literal +#: Components.xml:612 +#, no-c-format +msgid "org.jboss.seam.core.conversationList" +msgstr "" + +#. Tag: para +#: Components.xml:614 +#, no-c-format +msgid "Manager component for the conversation list." +msgstr "" + +#. Tag: literal +#: Components.xml:620 +#, no-c-format +msgid "org.jboss.seam.core.conversationStack" +msgstr "" + +#. Tag: para +#: Components.xml:622 +#, no-c-format +msgid "Manager component for the conversation stack (breadcrumbs)." +msgstr "" + +#. Tag: literal +#: Components.xml:628 +#, no-c-format +msgid "org.jboss.seam.faces.switcher" +msgstr "" + +#. Tag: para +#: Components.xml:630 +#, no-c-format +msgid "The conversation switcher." +msgstr "" + +#. Tag: title +#: Components.xml:644 +#, no-c-format +msgid "jBPM-related components" +msgstr "" + +#. Tag: para +#: Components.xml:645 +#, no-c-format +msgid "These components are for use with jBPM." +msgstr "" + +#. Tag: literal +#: Components.xml:651 +#, no-c-format +msgid "org.jboss.seam.pageflow.pageflow" +msgstr "" + +#. Tag: para +#: Components.xml:653 +#, no-c-format +msgid "API control of Seam pageflows." +msgstr "" + +#. Tag: para +#: Components.xml:658 +#, no-c-format +msgid "" +"isInProcess() — returns true = if " +"there is currently a pageflow in process" +msgstr "" + +#. Tag: para +#: Components.xml:664 +#, no-c-format +msgid "" +"getProcessInstance() — returns jBPM " +"ProcessInstance for the current pageflow" +msgstr "" + +#. Tag: para +#: Components.xml:670 +#, no-c-format +msgid "" +"begin(String pageflowName) — begin a pageflow in= " +"the context of the current conversation" +msgstr "" + +#. Tag: para +#: Components.xml:676 +#, no-c-format +msgid "" +"reposition(String nodeName) — reposition the " +"current pageflow to a particular node" +msgstr "" + +#. Tag: literal +#: Components.xml:685 +#, no-c-format +msgid "org.jboss.seam.bpm.actor" +msgstr "" + +#. Tag: para +#: Components.xml:687 +#, no-c-format +msgid "" +"API for application control of attributes of the jBPM actor associated wi= th " +"the current session." +msgstr "" + +#. Tag: para +#: Components.xml:693 +#, no-c-format +msgid "" +"setId(String actorId) — sets the jBPM actor id o= f " +"the current user." +msgstr "" + +#. Tag: para +#: Components.xml:699 +#, no-c-format +msgid "" +"getGroupActorIds() — returns a Set to which jBPM actor ids for the current users groups may be adde= d." +msgstr "" + +#. Tag: literal +#: Components.xml:709 +#, no-c-format +msgid "org.jboss.seam.bpm.transition" +msgstr "" + +#. Tag: para +#: Components.xml:711 +#, no-c-format +msgid "" +"API for application control of the jBPM transition for the current task." +msgstr "" + +#. Tag: para +#: Components.xml:717 +#, no-c-format +msgid "" +"setName(String transitionName) — sets the jBPM " +"transition name to be used when the current task is ended via " +"@EndTask." +msgstr "" + +#. Tag: literal +#: Components.xml:727 +#, no-c-format +msgid "org.jboss.seam.bpm.businessProcess" +msgstr "" + +#. Tag: para +#: Components.xml:729 +#, no-c-format +msgid "" +"API for programmatic control of the association between the conversation = and " +"business process." +msgstr "" + +#. Tag: para +#: Components.xml:735 +#, no-c-format +msgid "" +"businessProcess.taskId — the id of the task " +"associated with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:741 +#, no-c-format +msgid "" +"businessProcess.processId — the id of the proces= s " +"associated with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:747 +#, no-c-format +msgid "" +"businessProcess.hasCurrentTask() — is a task " +"instance associated with the current conversation?" +msgstr "" + +#. Tag: para +#: Components.xml:753 +#, no-c-format +msgid "" +"businessProcess.hasCurrentProcess() — is a proce= ss " +"instance associated with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:759 +#, no-c-format +msgid "" +"createProcess(String name) — create an instance = of " +"the named process definition and associate it with the current conversati= on." +msgstr "" + +#. Tag: para +#: Components.xml:766 +#, no-c-format +msgid "" +"startTask() — start the task associated with the= " +"current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:772 +#, no-c-format +msgid "" +"endTask(String transitionName) — end the task " +"associated with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:778 +#, no-c-format +msgid "" +"resumeTask(Long id) — associate the task with th= e " +"given id with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:784 +#, no-c-format +msgid "" +"resumeProcess(Long id) — associate the process w= ith " +"the given id with the current conversation." +msgstr "" + +#. Tag: para +#: Components.xml:790 +#, no-c-format +msgid "" +"transition(String transitionName) — trigger the " +"transition." +msgstr "" + +#. Tag: literal +#: Components.xml:799 +#, no-c-format +msgid "org.jboss.seam.bpm.taskInstance" +msgstr "" + +#. Tag: para +#: Components.xml:801 +#, no-c-format +msgid "Manager component for the jBPM TaskInstance." +msgstr "" + +#. Tag: literal +#: Components.xml:807 +#, no-c-format +msgid "org.jboss.seam.bpm.processInstance" +msgstr "" + +#. Tag: para +#: Components.xml:809 +#, no-c-format +msgid "Manager component for the jBPM ProcessInstance." +msgstr "" + +#. Tag: literal +#: Components.xml:815 +#, no-c-format +msgid "org.jboss.seam.bpm.jbpmContext" +msgstr "" + +#. Tag: para +#: Components.xml:817 +#, no-c-format +msgid "Manager component for an event-scoped JbpmContext." +msgstr "" + +#. Tag: literal +#: Components.xml:823 +#, no-c-format +msgid "org.jboss.seam.bpm.taskInstanceList" +msgstr "" + +#. Tag: para +#: Components.xml:825 +#, no-c-format +msgid "Manager component for the jBPM task list." +msgstr "" + +#. Tag: literal +#: Components.xml:831 +#, no-c-format +msgid "org.jboss.seam.bpm.pooledTaskInstanceList" +msgstr "" + +#. Tag: para +#: Components.xml:833 +#, no-c-format +msgid "Manager component for the jBPM pooled task list." +msgstr "" + +#. Tag: literal +#: Components.xml:839 +#, no-c-format +msgid "org.jboss.seam.bpm.taskInstanceListForType" +msgstr "" + +#. Tag: para +#: Components.xml:841 +#, no-c-format +msgid "Manager component for the jBPM task lists." +msgstr "" + +#. Tag: literal +#: Components.xml:847 +#, no-c-format +msgid "org.jboss.seam.bpm.pooledTask" +msgstr "" + +#. Tag: para +#: Components.xml:849 +#, no-c-format +msgid "Action handler for pooled task assignment." +msgstr "" + +#. Tag: literal +#: Components.xml:855 +#, no-c-format +msgid "org.jboss.seam.bpm.processInstanceFinder" +msgstr "" + +#. Tag: para +#: Components.xml:857 +#, no-c-format +msgid "Manager for the process instance task list." +msgstr "" + +#. Tag: literal +#: Components.xml:863 +#, no-c-format +msgid "org.jboss.seam.bpm.processInstanceList" +msgstr "" + +#. Tag: para +#: Components.xml:865 +#, no-c-format +msgid "The process instance task list." +msgstr "" + +#. Tag: para +#: Components.xml:872 +#, no-c-format +msgid "" +"All of these components are installed whenever the component org= ." +"jboss.seam.bpm.jbpm is installed." +msgstr "" + +#. Tag: title +#: Components.xml:880 +#, no-c-format +msgid "Security-related components" +msgstr "" + +#. Tag: para +#: Components.xml:881 +#, no-c-format +msgid "These components relate to web-tier security." +msgstr "" + +#. Tag: literal +#: Components.xml:887 +#, no-c-format +msgid "org.jboss.seam.web.userPrincipal" +msgstr "" + +#. Tag: para +#: Components.xml:889 +#, no-c-format +msgid "Manager component for the current user Principal= ." +msgstr "" + +#. Tag: literal +#: Components.xml:895 +#, no-c-format +msgid "org.jboss.seam.web.isUserInRole" +msgstr "" + +#. Tag: para +#: Components.xml:897 +#, no-c-format +msgid "" +"Allows JSF pages to choose to render a control, depending upon the roles " +"available to the current principal. <h:commandButton value=3D= \"edit" +"\" rendered=3D\"#{isUserInRole['admin']}\"/>." +msgstr "" + +#. Tag: title +#: Components.xml:908 +#, no-c-format +msgid "JMS-related components" +msgstr "" + +#. Tag: para +#: Components.xml:909 +#, no-c-format +msgid "" +"These components are for use with managed TopicPublishers " +"and QueueSenders (see below)." +msgstr "" + +#. Tag: literal +#: Components.xml:916 +#, no-c-format +msgid "org.jboss.seam.jms.queueSession" +msgstr "" + +#. Tag: para +#: Components.xml:918 +#, no-c-format +msgid "Manager component for a JMS QueueSession ." +msgstr "" + +#. Tag: literal +#: Components.xml:924 +#, no-c-format +msgid "org.jboss.seam.jms.topicSession" +msgstr "" + +#. Tag: para +#: Components.xml:926 +#, no-c-format +msgid "Manager component for a JMS TopicSession ." +msgstr "" + +#. Tag: title +#: Components.xml:935 +#, no-c-format +msgid "Mail-related components" +msgstr "" + +#. Tag: para +#: Components.xml:936 +#, no-c-format +msgid "These components are for use with Seam's Email support" +msgstr "" + +#. Tag: literal +#: Components.xml:942 +#, no-c-format +msgid "org.jboss.seam.mail.mailSession" +msgstr "" + +#. Tag: para +#: Components.xml:944 +#, no-c-format +msgid "" +"Manager component for a JavaMail Session. The session = can " +"be either looked up in the JNDI context (by setting the " +"sessionJndiName property) or it can created from the " +"configuration options in which case the host is mandat= ory." +msgstr "" + +#. Tag: para +#: Components.xml:953 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.host — the hostn= ame " +"of the SMTP server to use" +msgstr "" + +#. Tag: para +#: Components.xml:958 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.port — the port = of " +"the SMTP server to use" +msgstr "" + +#. Tag: para +#: Components.xml:963 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.username — the " +"username to use to connect to the SMTP server." +msgstr "" + +#. Tag: para +#: Components.xml:968 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.password — the " +"password to use to connect to the SMTP server" +msgstr "" + +#. Tag: para +#: Components.xml:973 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.debug — enable " +"JavaMail debugging (very verbose)" +msgstr "" + +#. Tag: para +#: Components.xml:978 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.ssl — enable SSL= " +"connection to SMTP (will default to port 465)" +msgstr "" + +#. Tag: para +#: Components.xml:981 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.tls — by default= " +"true, enable TLS support in the mail session" +msgstr "" + +#. Tag: para +#: Components.xml:986 +#, no-c-format +msgid "" +"org.jboss.seam.mail.mailSession.sessionJndiName —= ; " +"name under which a javax.mail.Session is bound to JNDI. If supplied, all " +"other properties will be ignored." +msgstr "" + +#. Tag: title +#: Components.xml:998 +#, no-c-format +msgid "Infrastructural components" +msgstr "" + +#. Tag: para +#: Components.xml:999 +#, no-c-format +msgid "" +"These components provide critical platform infrastructure. You can instal= l a " +"component which isn't installed by default by setting install=3D= \"true" +"\" on the component in components.xml." +msgstr "" + +#. Tag: literal +#: Components.xml:1007 +#, no-c-format +msgid "org.jboss.seam.core.init" +msgstr "" + +#. Tag: para +#: Components.xml:1009 +#, no-c-format +msgid "Initialization settings for Seam. Always installed." +msgstr "" + +#. Tag: para +#: Components.xml:1014 +#, no-c-format +msgid "" +"org.jboss.seam.core.init.jndiPattern — the JNDI " +"pattern used for looking up session beans" +msgstr "" + +#. Tag: para +#: Components.xml:1020 +#, no-c-format +msgid "" +"org.jboss.seam.core.init.debug — enable Seam deb= ug " +"mode. This should be set to false when in production. You may see errors = if " +"the system is placed under any load and debug is enabled." +msgstr "" + +#. Tag: para +#: Components.xml:1027 +#, no-c-format +msgid "" +"org.jboss.seam.core.init.clientSideConversations ̵= 2; " +"if set to true, Seam will save conversation context " +"variables in the client instead of in the HttpSession." +msgstr "" + +#. Tag: para +#: Components.xml:1034 +#, no-c-format +msgid "" +"org.jboss.seam.core.init.userTransactionName — t= he " +"JNDI name to use when looking up the JTA UserTransaction " +"object." +msgstr "" + +#. Tag: literal +#: Components.xml:1043 +#, no-c-format +msgid "org.jboss.seam.core.manager" +msgstr "" + +#. Tag: para +#: Components.xml:1045 +#, no-c-format +msgid "" +"Internal component for Seam page and conversation context management. Alw= ays " +"installed." +msgstr "" + +#. Tag: para +#: Components.xml:1051 +#, no-c-format +msgid "" +"org.jboss.seam.core.manager.conversationTimeout —= ; " +"the conversation context timeout in milliseconds." +msgstr "" + +#. Tag: para +#: Components.xml:1057 +#, no-c-format +msgid "" +"org.jboss.seam.core.manager.concurrentRequestTimeout " +"— maximum wait time for a thread attempting to gain a lock on the l= ong-" +"running conversation context." +msgstr "" + +#. Tag: para +#: Components.xml:1064 +#, no-c-format +msgid "" +"org.jboss.seam.core.manager.conversationIdParameter " +"— the request parameter used to propagate the conversation id, defa= ult " +"to conversationId." +msgstr "" + +#. Tag: para +#: Components.xml:1071 +#, no-c-format +msgid "" +"org.jboss.seam.core.manager.conversationIsLongRunningParameter — the request parameter used to propagate information abou= t " +"whether the conversation is long-running, default to " +"conversationIsLongRunning." +msgstr "" + +#. Tag: literal +#: Components.xml:1081 +#, no-c-format +msgid "org.jboss.seam.navigation.pages" +msgstr "" + +#. Tag: para +#: Components.xml:1083 +#, no-c-format +msgid "Internal component for Seam workspace management. Always installed." +msgstr "" + +#. Tag: para +#: Components.xml:1088 +#, no-c-format +msgid "" +"org.jboss.seam.navigation.pages.noConversationViewId " +"— global setting for the view id to redirect to when a conversation= " +"entry is not found on the server side." +msgstr "" + +#. Tag: para +#: Components.xml:1095 +#, no-c-format +msgid "" +"org.jboss.seam.navigation.pages.loginViewId — " +"global setting for the view id to redirect to when an unauthenticated use= r " +"tries to access a protected view." +msgstr "" + +#. Tag: para +#: Components.xml:1102 +#, no-c-format +msgid "" +"org.jboss.seam.navigation.pages.httpPort — globa= l " +"setting for the port to use when the http scheme is requested." +msgstr "" + +#. Tag: para +#: Components.xml:1109 +#, no-c-format +msgid "" +"org.jboss.seam.navigation.pages.httpsPort — glob= al " +"setting for the port to use when the https scheme is requested." +msgstr "" + +#. Tag: para +#: Components.xml:1116 +#, no-c-format +msgid "" +"org.jboss.seam.navigation.pages.resources — a li= st " +"of resources to search for pages.xml style resources. " +"Defaults to WEB-INF/pages.xml." +msgstr "" + +#. Tag: literal +#: Components.xml:1126 +#, no-c-format +msgid "org.jboss.seam.bpm.jbpm" +msgstr "" + +#. Tag: para +#: Components.xml:1128 +#, no-c-format +msgid "" +"Bootstraps a JbpmConfiguration. Install as class " +"org.jboss.seam.bpm.Jbpm." +msgstr "" + +#. Tag: para +#: Components.xml:1134 +#, no-c-format +msgid "" +"org.jboss.seam.bpm.jbpm.processDefinitions — a l= ist " +"of resource names of jPDL files to be used for orchestration of business " +"processes." +msgstr "" + +#. Tag: para +#: Components.xml:1141 +#, no-c-format +msgid "" +"org.jboss.seam.bpm.jbpm.pageflowDefinitions — a " +"list of resource names of jPDL files to be used for orchestration of " +"conversation page flows." +msgstr "" + +#. Tag: literal +#: Components.xml:1151 +#, no-c-format +msgid "org.jboss.seam.core.conversationEntries" +msgstr "" + +#. Tag: para +#: Components.xml:1153 +#, no-c-format +msgid "" +"Internal session-scoped component recording the active long-running " +"conversations between requests." +msgstr "" + +#. Tag: literal +#: Components.xml:1160 +#, no-c-format +msgid "org.jboss.seam.faces.facesPage" +msgstr "" + +#. Tag: para +#: Components.xml:1162 +#, no-c-format +msgid "" +"Internal page-scoped component recording the conversation context associa= ted " +"with a page." +msgstr "" + +#. Tag: literal +#: Components.xml:1169 +#, no-c-format +msgid "org.jboss.seam.persistence.persistenceContexts" +msgstr "" + +#. Tag: para +#: Components.xml:1171 +#, no-c-format +msgid "" +"Internal component recording the persistence contexts which were used in = the " +"current conversation." +msgstr "" + +#. Tag: literal +#: Components.xml:1178 +#, no-c-format +msgid "org.jboss.seam.jms.queueConnection" +msgstr "" + +#. Tag: para +#: Components.xml:1180 +#, no-c-format +msgid "" +"Manages a JMS QueueConnection. Installed whenever mana= ged " +"managed QueueSender is installed." +msgstr "" + +#. Tag: para +#: Components.xml:1186 +#, no-c-format +msgid "" +"org.jboss.seam.jms.queueConnection.queueConnectionFactoryJndiNam= e — the JNDI name of a JMS QueueConnectionFactory. Default to UIL2ConnectionFactory" +msgstr "" + +#. Tag: literal +#: Components.xml:1196 +#, no-c-format +msgid "org.jboss.seam.jms.topicConnection" +msgstr "" + +#. Tag: para +#: Components.xml:1198 +#, no-c-format +msgid "" +"Manages a JMS TopicConnection. Installed whenever mana= ged " +"managed TopicPublisher is installed." +msgstr "" + +#. Tag: para +#: Components.xml:1204 +#, no-c-format +msgid "" +"org.jboss.seam.jms.topicConnection.topicConnectionFactoryJndiNam= e — the JNDI name of a JMS TopicConnectionFactory. Default to UIL2ConnectionFactory" +msgstr "" + +#. Tag: literal +#: Components.xml:1214 +#, no-c-format +msgid "org.jboss.seam.persistence.persistenceProvider" +msgstr "" + +#. Tag: para +#: Components.xml:1216 +#, no-c-format +msgid "Abstraction layer for non-standardized features of JPA provider." +msgstr "" + +#. Tag: literal +#: Components.xml:1222 +#, no-c-format +msgid "org.jboss.seam.core.validators" +msgstr "" + +#. Tag: para +#: Components.xml:1224 +#, no-c-format +msgid "" +"Caches instances of Hibernate Validator ClassValidator= ." +msgstr "" + +#. Tag: literal +#: Components.xml:1230 +#, no-c-format +msgid "org.jboss.seam.faces.validation" +msgstr "" + +#. Tag: para +#: Components.xml:1232 +#, no-c-format +msgid "" +"Allows the application to determine whether validation failed or was " +"successful." +msgstr "" + +#. Tag: literal +#: Components.xml:1239 +#, no-c-format +msgid "org.jboss.seam.debug.introspector" +msgstr "" + +#. Tag: para +#: Components.xml:1241 Components.xml:1249 +#, no-c-format +msgid "Support for the Seam Debug Page." +msgstr "" + +#. Tag: literal +#: Components.xml:1247 +#, no-c-format +msgid "org.jboss.seam.debug.contexts" +msgstr "" + +#. Tag: literal +#: Components.xml:1255 +#, no-c-format +msgid "org.jboss.seam.exception.exceptions" +msgstr "" + +#. Tag: para +#: Components.xml:1257 +#, no-c-format +msgid "Internal component for exception handling." +msgstr "" + +#. Tag: literal +#: Components.xml:1263 +#, no-c-format +msgid "org.jboss.seam.transaction.transaction" +msgstr "" + +#. Tag: para +#: Components.xml:1265 +#, no-c-format +msgid "" +"API for controlling transactions and abstracting the underlying transacti= on " +"management implementation behind a JTA-compatible interface." +msgstr "" + +#. Tag: literal +#: Components.xml:1273 +#, no-c-format +msgid "org.jboss.seam.faces.safeActions" +msgstr "" + +#. Tag: para +#: Components.xml:1275 +#, no-c-format +msgid "" +"Decides if an action expression in an incoming URL is safe. This is done = by " +"checking that the action expression exists in the view." +msgstr "" + +#. Tag: title +#: Components.xml:1285 +#, no-c-format +msgid "Miscellaneous components" +msgstr "" + +#. Tag: para +#: Components.xml:1286 +#, no-c-format +msgid "These components don't fit into" +msgstr "" + +#. Tag: literal +#: Components.xml:1292 +#, no-c-format +msgid "org.jboss.seam.async.dispatcher" +msgstr "" + +#. Tag: para +#: Components.xml:1294 +#, no-c-format +msgid "Dispatcher stateless session bean for asynchronous methods." +msgstr "" + +#. Tag: literal +#: Components.xml:1303 +#, no-c-format +msgid "org.jboss.seam.core.image" +msgstr "" + +#. Tag: para +#: Components.xml:1305 +#, no-c-format +msgid "Image manipulation and interrogation." +msgstr "" + +#. Tag: para +#: Components.xml:1316 +#, no-c-format +msgid "Manager component for a PojoCache instance." +msgstr "" + +#. Tag: literal +#: Components.xml:1325 +#, no-c-format +msgid "org.jboss.seam.core.uiComponent" +msgstr "" + +#. Tag: para +#: Components.xml:1327 +#, no-c-format +msgid "Manages a map of UIComponents keyed by component id." +msgstr "" + +#. Tag: title +#: Components.xml:1339 +#, no-c-format +msgid "Special components" +msgstr "" + +#. Tag: para +#: Components.xml:1340 +#, no-c-format +msgid "" +"Certain special Seam component classes are installable multiple times und= er " +"names specified in the Seam configuration. For example, the following lin= es " +"in components.xml install and configure two Seam " +"components:" +msgstr "" + +#. Tag: programlisting +#: Components.xml:1346 +#, no-c-format +msgid "" +"<component name=3D\"bookingDatabase\"\n" +" class=3D\"org.jboss.seam.persistence.ManagedPersistenceContext\= ">\n" +" <property name=3D\"persistenceUnitJndiName\">java:/comp/emf/" +"bookingPersistence</property>\n" +"</component>\n" +"\n" +"<component name=3D\"userDatabase\"\n" +" class=3D\"org.jboss.seam.persistence.ManagedPersistenceContext\= ">\n" +" <property name=3D\"persistenceUnitJndiName\">java:/comp/emf/" +"userPersistence</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Components.xml:1348 +#, no-c-format +msgid "" +"The Seam component names are bookingDatabase and " +"userDatabase." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1355 +#, no-c-format +msgid "<entityManager>" +msgstr "" + +#. Tag: literal +#: Components.xml:1356 +#, no-c-format +msgid "org.jboss.seam.persistence.ManagedPersistenceContext" +msgstr "" + +#. Tag: para +#: Components.xml:1358 +#, no-c-format +msgid "" +"Manager component for a conversation scoped managed EntityManage= r with an extended persistence context." +msgstr "" + +#. Tag: para +#: Components.xml:1364 +#, no-c-format +msgid "" +"<entityManager>.entityManagerFactory — a= " +"value binding expression that evaluates to an instance of " +"EntityManagerFactory." +msgstr "" + +#. Tag: para +#: Components.xml:1369 +#, no-c-format +msgid "" +"<entityManager>.persistenceUnitJndiName —= ; " +"the JNDI name of the entity manager factory, default to java:/&= lt;" +"managedPersistenceContext>." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1379 +#, no-c-format +msgid "<entityManagerFactory>" +msgstr "" + +#. Tag: literal +#: Components.xml:1380 +#, no-c-format +msgid "org.jboss.seam.persistence.EntityManagerFactory" +msgstr "" + +#. Tag: para +#: Components.xml:1382 +#, no-c-format +msgid "" +"Manages a JPA EntityManagerFactory. This is most usefu= l " +"when using JPA outside of an EJB 3.0 supporting environment." +msgstr "" + +#. Tag: para +#: Components.xml:1388 +#, no-c-format +msgid "" +"entityManagerFactory.persistenceUnitName — the n= ame " +"of the persistence unit." +msgstr "" + +#. Tag: para +#: Components.xml:1394 Components.xml:1437 +#, no-c-format +msgid "See the API JavaDoc for further configuration properties." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1400 +#, no-c-format +msgid "<session>" +msgstr "" + +#. Tag: literal +#: Components.xml:1401 +#, no-c-format +msgid "org.jboss.seam.persistence.ManagedSession" +msgstr "" + +#. Tag: para +#: Components.xml:1403 +#, no-c-format +msgid "" +"Manager component for a conversation scoped managed Hibernate " +"Session." +msgstr "" + +#. Tag: para +#: Components.xml:1408 +#, no-c-format +msgid "" +"<session>.sessionFactory — a value bindi= ng " +"expression that evaluates to an instance of SessionFactory." +msgstr "" + +#. Tag: para +#: Components.xml:1413 +#, no-c-format +msgid "" +"<session>.sessionFactoryJndiName — the J= NDI " +"name of the session factory, default to java:/<" +"managedSession>." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1423 +#, no-c-format +msgid "<sessionFactory>" +msgstr "" + +#. Tag: literal +#: Components.xml:1424 +#, no-c-format +msgid "org.jboss.seam.persistence.HibernateSessionFactory" +msgstr "" + +#. Tag: para +#: Components.xml:1426 +#, no-c-format +msgid "Manages a Hibernate SessionFactory." +msgstr "" + +#. Tag: para +#: Components.xml:1431 +#, no-c-format +msgid "" +"<sessionFactory>.cfgResourceName — the pat= h " +"to the configuration file. Default to hibernate.cfg.xml." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1443 +#, no-c-format +msgid "<managedQueueSender>" +msgstr "" + +#. Tag: literal +#: Components.xml:1444 +#, no-c-format +msgid "org.jboss.seam.jms.ManagedQueueSender" +msgstr "" + +#. Tag: para +#: Components.xml:1446 +#, no-c-format +msgid "" +"Manager component for an event scoped managed JMS QueueSender." +msgstr "" + +#. Tag: para +#: Components.xml:1451 +#, no-c-format +msgid "" +"<managedQueueSender>.queueJndiName — the= " +"JNDI name of the JMS queue." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1460 +#, no-c-format +msgid "<managedTopicPublisher>" +msgstr "" + +#. Tag: literal +#: Components.xml:1461 +#, no-c-format +msgid "org.jboss.seam.jms.ManagedTopicPublisher" +msgstr "" + +#. Tag: para +#: Components.xml:1463 +#, no-c-format +msgid "" +"Manager component for an event scoped managed JMS TopicPublisher= ." +msgstr "" + +#. Tag: para +#: Components.xml:1468 +#, no-c-format +msgid "" +"<managedTopicPublisher>.topicJndiName — = the " +"JNDI name of the JMS topic." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1477 +#, no-c-format +msgid "<managedWorkingMemory>" +msgstr "" + +#. Tag: literal +#: Components.xml:1478 +#, no-c-format +msgid "org.jboss.seam.drools.ManagedWorkingMemory" +msgstr "" + +#. Tag: para +#: Components.xml:1480 +#, no-c-format +msgid "" +"Manager component for a conversation scoped managed Drools " +"WorkingMemory." +msgstr "" + +#. Tag: para +#: Components.xml:1485 +#, no-c-format +msgid "" +"<managedWorkingMemory>.ruleBase — a valu= e " +"expression that evaluates to an instance of RuleBase." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1494 +#, no-c-format +msgid "<ruleBase>" +msgstr "" + +#. Tag: literal +#: Components.xml:1495 +#, no-c-format +msgid "org.jboss.seam.drools.RuleBase" +msgstr "" + +#. Tag: para +#: Components.xml:1497 +#, no-c-format +msgid "" +"Manager component for an application scoped Drools RuleBase. Note that this is not really intended for production " +"usage, since it does not support dynamic installation of new rules." +msgstr "" + +#. Tag: para +#: Components.xml:1504 +#, no-c-format +msgid "" +"<ruleBase>.ruleFiles — a list of files " +"containing Drools rules." +msgstr "" + +#. Tag: para +#: Components.xml:1508 +#, no-c-format +msgid "" +"<ruleBase>.dslFile — a Drools DSL " +"definition." +msgstr "" + +#. Tag: emphasis +#: Components.xml:1517 +#, no-c-format +msgid "<entityHome>" +msgstr "" + +#. Tag: literal +#: Components.xml:1518 +#, no-c-format +msgid "org.jboss.seam.framework.EntityHome" +msgstr "" + +#. Tag: emphasis +#: Components.xml:1525 +#, no-c-format +msgid "<hibernateEntityHome>" +msgstr "" + +#. Tag: literal +#: Components.xml:1526 +#, no-c-format +msgid "org.jboss.seam.framework.HibernateEntityHome" +msgstr "" + +#. Tag: emphasis +#: Components.xml:1533 +#, no-c-format +msgid "<entityQuery>" +msgstr "" + +#. Tag: literal +#: Components.xml:1534 +#, no-c-format +msgid "org.jboss.seam.framework.EntityQuery" +msgstr "" + +#. Tag: emphasis +#: Components.xml:1541 +#, no-c-format +msgid "<hibernateEntityQuery>" +msgstr "" + +#. Tag: literal +#: Components.xml:1542 +#, no-c-format +msgid "org.jboss.seam.framework.HibernateEntityQuery" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Concepts.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Concepts.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Concepts.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,2008 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Concepts.xml:5 +#, no-c-format +msgid "The contextual component model" +msgstr "" + +#. Tag: para +#: Concepts.xml:6 +#, no-c-format +msgid "" +"The two core concepts in Seam are the notion of a context and the notion of a component. Components = are " +"stateful objects, usually EJBs, and an instance of a component is associa= ted " +"with a context, and given a name in that context. Bijection provides a mechanism for aliasing internal component names " +"(instance variables) to contextual names, allowing component trees to be " +"dynamically assembled, and reassembled by Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:14 +#, no-c-format +msgid "Let's start by describing the contexts built in to Seam." +msgstr "" + +#. Tag: title +#: Concepts.xml:19 +#, no-c-format +msgid "Seam contexts" +msgstr "" + +#. Tag: para +#: Concepts.xml:20 +#, no-c-format +msgid "" +"Seam contexts are created and destroyed by the framework. The application= " +"does not control context demarcation via explicit Java API calls. Context= " +"are usually implicit. In some cases, however, contexts are demarcated via= " +"annotations." +msgstr "" + +#. Tag: para +#: Concepts.xml:23 +#, no-c-format +msgid "The basic Seam contexts are:" +msgstr "" + +#. Tag: para +#: Concepts.xml:27 +#, no-c-format +msgid "Stateless context" +msgstr "" + +#. Tag: para +#: Concepts.xml:30 +#, no-c-format +msgid "Event (or request) context" +msgstr "" + +#. Tag: para +#: Concepts.xml:33 Concepts.xml:224 +#, no-c-format +msgid "Page context" +msgstr "" + +#. Tag: para +#: Concepts.xml:36 Concepts.xml:227 +#, no-c-format +msgid "Conversation context" +msgstr "" + +#. Tag: para +#: Concepts.xml:39 Concepts.xml:230 +#, no-c-format +msgid "Session context" +msgstr "" + +#. Tag: para +#: Concepts.xml:42 Concepts.xml:233 +#, no-c-format +msgid "Business process context" +msgstr "" + +#. Tag: para +#: Concepts.xml:45 Concepts.xml:236 +#, no-c-format +msgid "Application context" +msgstr "" + +#. Tag: para +#: Concepts.xml:49 +#, no-c-format +msgid "" +"You will recognize some of these contexts from servlet and related " +"specifications. However, two of them might be new to you: " +"conversation context, and business process= " +"context. One reason state management in web applications is so= " +"fragile and error-prone is that the three built-in contexts (request, " +"session and application) are not especially meaningful from the point of " +"view of the business logic. A user login session, for example, is a fairl= y " +"arbitrary construct in terms of the actual application work flow. Therefo= re, " +"most Seam components are scoped to the conversation or business process " +"contexts, since they are the contexts which are most meaningful in terms = of " +"the application." +msgstr "" + +#. Tag: para +#: Concepts.xml:60 +#, no-c-format +msgid "Let's look at each context in turn." +msgstr "" + +#. Tag: title +#: Concepts.xml:65 +#, no-c-format +msgid "Stateless context" +msgstr "" + +#. Tag: para +#: Concepts.xml:66 +#, no-c-format +msgid "" +"Components which are truly stateless (stateless session beans, primarily)= " +"always live in the stateless context (this is really a non-context). " +"Stateless components are not very interesting, and are arguably not very " +"object-oriented. Nevertheless, they are important and often useful." +msgstr "" + +#. Tag: title +#: Concepts.xml:74 +#, no-c-format +msgid "Event context" +msgstr "" + +#. Tag: para +#: Concepts.xml:75 +#, no-c-format +msgid "" +"The event context is the \"narrowest\" stateful context, and is a " +"generalization of the notion of the web request context to cover other ki= nds " +"of events. Nevertheless, the event context associated with the lifecycle = of " +"a JSF request is the most important example of an event context, and the = one " +"you will work with most often. Components associated with the event conte= xt " +"are destroyed at the end of the request, but their state is available and= " +"well-defined for at least the lifecycle of the request." +msgstr "" + +#. Tag: para +#: Concepts.xml:82 +#, no-c-format +msgid "" +"When you invoke a Seam component via RMI, or Seam Remoting, the event " +"context is created and destroyed just for the invocation." +msgstr "" + +#. Tag: title +#: Concepts.xml:89 +#, no-c-format +msgid "Page context" +msgstr "" + +#. Tag: para +#: Concepts.xml:90 +#, no-c-format +msgid "" +"The page context allows you to associate state with a particular instance= of " +"a rendered page. You can initialize state in your event listener, or whil= e " +"actually rendering the page, and then have access to it from any event th= at " +"originates from that page. This is especially useful for functionality li= ke " +"clickable lists, where the list is backed by changing data on the server " +"side. The state is actually serialized to the client, so this construct i= s " +"extremely robust with respect to multi-window operation and the back butt= on." +msgstr "" + +#. Tag: title +#: Concepts.xml:101 +#, no-c-format +msgid "Conversation context" +msgstr "" + +#. Tag: para +#: Concepts.xml:102 +#, no-c-format +msgid "" +"The conversation context is a truly central concept in Seam. A " +"conversation is a unit of work from the point of vie= w " +"of the user. It might span several interactions with the user, several " +"requests, and several database transactions. But to the user, a conversat= ion " +"solves a single problem. For example, \"book hotel\", \"approve contract\= ", " +"\"create order\" are all conversations. You might like to think of a " +"conversation implementing a single \"use case\" or \"user story\", but th= e " +"relationship is not necessarily quite exact." +msgstr "" + +#. Tag: para +#: Concepts.xml:110 +#, no-c-format +msgid "" +"A conversation holds state associated with \"what the user is doing now, = in " +"this window\". A single user may have multiple conversations in progress = at " +"any point in time, usually in multiple windows. The conversation context " +"allows us to ensure that state from the different conversations does not " +"collide and cause bugs." +msgstr "" + +#. Tag: para +#: Concepts.xml:116 +#, no-c-format +msgid "" +"It might take you some time to get used to thinking of applications in te= rms " +"of conversations. But once you get used to it, we think you'll love the " +"notion, and never be able to not think in terms of conversations again!" +msgstr "" + +#. Tag: para +#: Concepts.xml:121 +#, no-c-format +msgid "" +"Some conversations last for just a single request. Conversations that spa= n " +"multiple requests must be demarcated using annotations provided by Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:125 +#, no-c-format +msgid "" +"Some conversations are also tasks. A task is a " +"conversation that is significant in terms of a long-running business " +"process, and has the potential to trigger a business process state " +"transition when it is successfully completed. Seam provides a special set= of " +"annotations for task demarcation." +msgstr "" + +#. Tag: para +#: Concepts.xml:131 +#, no-c-format +msgid "" +"Conversations may be nested, with one conversation " +"taking place \"inside\" a wider conversation. This is an advanced feature= ." +msgstr "" + +#. Tag: para +#: Concepts.xml:135 +#, no-c-format +msgid "" +"Usually, conversation state is actually held by Seam in the servlet sessi= on " +"between requests. Seam implements configurable conversation " +"timeout, automatically destroying inactive conversations, and " +"thus ensuring that the state held by a single user login session does not= " +"grow without bound if the user abandons conversations." +msgstr "" + +#. Tag: para +#: Concepts.xml:141 +#, no-c-format +msgid "" +"Seam serializes processing of concurrent requests that take place in the " +"same long-running conversation context, in the same process." +msgstr "" + +#. Tag: para +#: Concepts.xml:145 +#, no-c-format +msgid "" +"Alternatively, Seam may be configured to keep conversational state in the= " +"client browser." +msgstr "" + +#. Tag: title +#: Concepts.xml:151 +#, no-c-format +msgid "Session context" +msgstr "" + +#. Tag: para +#: Concepts.xml:152 +#, no-c-format +msgid "" +"A session context holds state associated with the user login session. Whi= le " +"there are some cases where it is useful to share state between several " +"conversations, we generally frown on the use of session context for holdi= ng " +"components other than global information about the logged in user." +msgstr "" + +#. Tag: para +#: Concepts.xml:157 +#, no-c-format +msgid "" +"In a JSR-168 portal environment, the session context represents the portl= et " +"session." +msgstr "" + +#. Tag: title +#: Concepts.xml:163 +#, no-c-format +msgid "Business process context" +msgstr "" + +#. Tag: para +#: Concepts.xml:164 +#, no-c-format +msgid "" +"The business process context holds state associated with the long running= " +"business process. This state is managed and made persistent by the BPM " +"engine (JBoss jBPM). The business process spans multiple interactions wit= h " +"multiple users, so this state is shared between multiple users, but in a " +"well-defined manner. The current task determines the current business " +"process instance, and the lifecycle of the business process is defined " +"externally using a process definition language, so " +"there are no special annotations for business process demarcation." +msgstr "" + +#. Tag: title +#: Concepts.xml:175 +#, no-c-format +msgid "Application context" +msgstr "" + +#. Tag: para +#: Concepts.xml:176 +#, no-c-format +msgid "" +"The application context is the familiar servlet context from the servlet " +"spec. Application context is mainly useful for holding static information= " +"such as configuration data, reference data or metamodels. For example, Se= am " +"stores its own configuration and metamodel in the application context." +msgstr "" + +#. Tag: title +#: Concepts.xml:184 +#, no-c-format +msgid "Context variables" +msgstr "" + +#. Tag: para +#: Concepts.xml:185 +#, no-c-format +msgid "" +"A context defines a namespace, a set of context variables. These work much the same as session or request attributes in t= he " +"servlet spec. You may bind any value you like to a context variable, but " +"usually we bind Seam component instances to context variables." +msgstr "" + +#. Tag: para +#: Concepts.xml:191 +#, no-c-format +msgid "" +"So, within a context, a component instance is identified by the context " +"variable name (this is usually, but not always, the same as the component= " +"name). You may programatically access a named component instance in a " +"particular scope via the Contexts class, which provide= s " +"access to several thread-bound instances of the Context " +"interface:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:198 +#, no-c-format +msgid "" +"User user =3D (User) Contexts.getSessionContext().get(\"user\");= " +msgstr "" + +#. Tag: para +#: Concepts.xml:200 +#, no-c-format +msgid "You may also set or change the value associated with a name:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:204 +#, no-c-format +msgid "Contexts.getSessionContext().set(\"user\", user);" +msgstr "" + +#. Tag: para +#: Concepts.xml:206 +#, no-c-format +msgid "" +"Usually, however, we obtain components from a context via injection, and = put " +"component instances into a context via outjection." +msgstr "" + +#. Tag: title +#: Concepts.xml:213 +#, no-c-format +msgid "Context search priority" +msgstr "" + +#. Tag: para +#: Concepts.xml:214 +#, no-c-format +msgid "" +"Sometimes, as above, component instances are obtained from a particular " +"known scope. Other times, all stateful scopes are searched, in " +"priority order. The order is as follows:" +msgstr "" + +#. Tag: para +#: Concepts.xml:221 +#, no-c-format +msgid "Event context" +msgstr "" + +#. Tag: para +#: Concepts.xml:240 +#, no-c-format +msgid "" +"You can perform a priority search by calling Contexts." +"lookupInStatefulContexts(). Whenever you access a component by " +"name from a JSF page, a priority search occurs." +msgstr "" + +#. Tag: title +#: Concepts.xml:248 +#, no-c-format +msgid "Concurrency model" +msgstr "" + +#. Tag: para +#: Concepts.xml:249 +#, no-c-format +msgid "" +"Neither the servlet nor EJB specifications define any facilities for " +"managing concurrent requests originating from the same client. The servle= t " +"container simply lets all threads run concurrently and leaves enforcing " +"threadsafeness to application code. The EJB container allows stateless " +"components to be accessed concurrently, and throws an exception if multip= le " +"threads access a stateful session bean." +msgstr "" + +#. Tag: para +#: Concepts.xml:255 +#, no-c-format +msgid "" +"This behavior might have been okay in old-style web applications which we= re " +"based around fine-grained, synchronous requests. But for modern applicati= ons " +"which make heavy use of many fine-grained, asynchronous (AJAX) requests, " +"concurrency is a fact of life, and must be supported by the programming " +"model. Seam weaves a concurrency management layer into its context model." +msgstr "" + +#. Tag: para +#: Concepts.xml:261 +#, no-c-format +msgid "" +"The Seam session and application contexts are multithreaded. Seam will al= low " +"concurrent requests in a context to be processed concurrently. The event = and " +"page contexts are by nature single threaded. The business process context= is " +"strictly speaking multi-threaded, but in practice concurrency is " +"sufficiently rare that this fact may be disregarded most of the time. " +"Finally, Seam enforces a single thread per conversation per " +"process model for the conversation context by serializing " +"concurrent requests in the same long-running conversation context." +msgstr "" + +#. Tag: para +#: Concepts.xml:269 +#, no-c-format +msgid "" +"Since the session context is multithreaded, and often contains volatile " +"state, session scope components are always protected by Seam from concurr= ent " +"access. Seam serializes requests to session scope session beans and " +"JavaBeans by default (and detects and breaks any deadlocks that occur). T= his " +"is not the default behaviour for application scoped components however, " +"since application scoped components do not usually hold volatile state an= d " +"because synchronization at the global level is extremely expensive. However, you can force a serialized threading model = on " +"any session bean or JavaBean component by adding the @Synchroniz= ed annotation." +msgstr "" + +#. Tag: para +#: Concepts.xml:278 +#, no-c-format +msgid "" +"This concurrency model means that AJAX clients can safely use volatile " +"session and conversational state, without the need for any special work o= n " +"the part of the developer." +msgstr "" + +#. Tag: title +#: Concepts.xml:287 +#, no-c-format +msgid "Seam components" +msgstr "" + +#. Tag: para +#: Concepts.xml:288 +#, no-c-format +msgid "" +"Seam components are POJOs (Plain Old Java Objects). In particular, they a= re " +"JavaBeans or EJB 3.0 enterprise beans. While Seam does not require that " +"components be EJBs and can even be used without an EJB 3.0 compliant " +"container, Seam was designed with EJB 3.0 in mind and includes deep " +"integration with EJB 3.0. Seam supports the following component= " +"types." +msgstr "" + +#. Tag: para +#: Concepts.xml:297 +#, no-c-format +msgid "EJB 3.0 stateless session beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:300 +#, no-c-format +msgid "EJB 3.0 stateful session beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:303 +#, no-c-format +msgid "EJB 3.0 entity beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:306 +#, no-c-format +msgid "JavaBeans" +msgstr "" + +#. Tag: para +#: Concepts.xml:309 +#, no-c-format +msgid "EJB 3.0 message-driven beans" +msgstr "" + +#. Tag: title +#: Concepts.xml:314 +#, no-c-format +msgid "Stateless session beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:315 +#, no-c-format +msgid "" +"Stateless session bean components are not able to hold state across multi= ple " +"invocations. Therefore, they usually work by operating upon the state of " +"other components in the various Seam contexts. They may be used as JSF " +"action listeners, but cannot provide properties to JSF components for " +"display." +msgstr "" + +#. Tag: para +#: Concepts.xml:320 +#, no-c-format +msgid "Stateless session beans always live in the stateless context." +msgstr "" + +#. Tag: para +#: Concepts.xml:323 +#, no-c-format +msgid "" +"Stateless session beans can be accessed concurrently as a new instance is= " +"used for each request. Assigning the instance to the request is the " +"responsibility of the EJB3 container (normally instances will be allocate= d " +"from a reusable pool meaning that you may find any instance variables " +"contain data from previous uses of the bean)." +msgstr "" + +#. Tag: para +#: Concepts.xml:329 +#, no-c-format +msgid "" +"Stateless session beans are the least interesting kind of Seam component." +msgstr "" + +#. Tag: para +#: Concepts.xml:332 +#, no-c-format +msgid "" +"Seam stateless session bean components may be instantiated using " +"Component.getInstance() or @In(create=3Dtrue)= . They should not be directly instantiated via JNDI lookup or the= " +"new operator." +msgstr "" + +#. Tag: title +#: Concepts.xml:340 +#, no-c-format +msgid "Stateful session beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:341 +#, no-c-format +msgid "" +"Stateful session bean components are able to hold state not only across " +"multiple invocations of the bean, but also across multiple requests. " +"Application state that does not belong in the database should usually be " +"held by stateful session beans. This is a major difference between Seam a= nd " +"many other web application frameworks. Instead of sticking information ab= out " +"the current conversation directly in the HttpSession, = you " +"should keep it in instance variables of a stateful session bean that is " +"bound to the conversation context. This allows Seam to manage the lifecyc= le " +"of this state for you, and ensure that there are no collisions between st= ate " +"relating to different concurrent conversations." +msgstr "" + +#. Tag: para +#: Concepts.xml:351 +#, no-c-format +msgid "" +"Stateful session beans are often used as JSF action listener, and as back= ing " +"beans that provide properties to JSF components for display or form " +"submission." +msgstr "" + +#. Tag: para +#: Concepts.xml:355 +#, no-c-format +msgid "" +"By default, stateful session beans are bound to the conversation context.= " +"They may never be bound to the page or stateless contexts." +msgstr "" + +#. Tag: para +#: Concepts.xml:359 +#, no-c-format +msgid "" +"Concurrent requests to session-scoped stateful session beans are always " +"serialized by Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:362 +#, no-c-format +msgid "" +"Seam stateful session bean components may be instantiated using " +"Component.getInstance() or @In(create=3Dtrue)= . They should not be directly instantiated via JNDI lookup or the= " +"new operator." +msgstr "" + +#. Tag: title +#: Concepts.xml:370 +#, no-c-format +msgid "Entity beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:371 +#, no-c-format +msgid "" +"Entity beans may be bound to a context variable and function as a seam " +"component. Because entities have a persistent identity in addition to the= ir " +"contextual identity, entity instances are usually bound explicitly in Jav= a " +"code, rather than being instantiated implicitly by Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:376 +#, no-c-format +msgid "" +"Entity bean components do not support bijection or context demarcation. N= or " +"does invocation of an entity bean trigger validation." +msgstr "" + +#. Tag: para +#: Concepts.xml:380 +#, no-c-format +msgid "" +"Entity beans are not usually used as JSF action listeners, but do often " +"function as backing beans that provide properties to JSF components for " +"display or form submission. In particular, it is common to use an entity = as " +"a backing bean, together with a stateless session bean action listener to= " +"implement create/update/delete type functionality." +msgstr "" + +#. Tag: para +#: Concepts.xml:386 +#, no-c-format +msgid "" +"By default, entity beans are bound to the conversation context. They may " +"never be bound to the stateless context." +msgstr "" + +#. Tag: para +#: Concepts.xml:390 +#, no-c-format +msgid "" +"Note that it in a clustered environment is somewhat less efficient to bin= d " +"an entity bean directly to a conversation or session scoped Seam context " +"variable than it would be to hold a reference to the entity bean in a " +"stateful session bean. For this reason, not all Seam applications define " +"entity beans to be Seam components." +msgstr "" + +#. Tag: para +#: Concepts.xml:396 +#, no-c-format +msgid "" +"Seam entity bean components may be instantiated using Component." +"getInstance(), @In(create=3Dtrue) or directl= y " +"using the new operator." +msgstr "" + +#. Tag: title +#: Concepts.xml:403 +#, no-c-format +msgid "JavaBeans" +msgstr "" + +#. Tag: para +#: Concepts.xml:404 +#, no-c-format +msgid "" +"Javabeans may be used just like a stateless or stateful session bean. " +"However, they do not provide the functionality of a session bean " +"(declarative transaction demarcation, declarative security, efficient " +"clustered state replication, EJB 3.0 persistence, timeout methods, etc)." +msgstr "" + +#. Tag: para +#: Concepts.xml:409 +#, no-c-format +msgid "" +"In a later chapter, we show you how to use Seam and Hibernate without an = EJB " +"container. In this use case, components are JavaBeans instead of session " +"beans. Note, however, that in many application servers it is somewhat les= s " +"efficient to cluster conversation or session scoped Seam JavaBean compone= nts " +"than it is to cluster stateful session bean components." +msgstr "" + +#. Tag: para +#: Concepts.xml:415 +#, no-c-format +msgid "By default, JavaBeans are bound to the event context." +msgstr "" + +#. Tag: para +#: Concepts.xml:418 +#, no-c-format +msgid "" +"Concurrent requests to session-scoped JavaBeans are always serialized by " +"Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:421 +#, no-c-format +msgid "" +"Seam JavaBean components may be instantiated using Component." +"getInstance() or @In(create=3Dtrue). They sh= ould " +"not be directly instantiated using the new operator." +msgstr "" + +#. Tag: title +#: Concepts.xml:429 +#, no-c-format +msgid "Message-driven beans" +msgstr "" + +#. Tag: para +#: Concepts.xml:430 +#, no-c-format +msgid "" +"Message-driven beans may function as a seam component. However, message-" +"driven beans are called quite differently to other Seam components - inst= ead " +"of invoking them via the context variable, they listen for messages sent = to " +"a JMS queue or topic." +msgstr "" + +#. Tag: para +#: Concepts.xml:435 +#, no-c-format +msgid "" +"Message-driven beans may not be bound to a Seam context. Nor do they have= " +"access to the session or conversation state of their \"caller\". However,= " +"they do support bijection and some other Seam functionality." +msgstr "" + +#. Tag: para +#: Concepts.xml:440 +#, no-c-format +msgid "" +"Message-driven beans are never instantiated by the application. They are " +"instantiated by the EJB container when a message is received." +msgstr "" + +#. Tag: title +#: Concepts.xml:447 +#, no-c-format +msgid "Interception" +msgstr "" + +#. Tag: para +#: Concepts.xml:448 +#, no-c-format +msgid "" +"In order to perform its magic (bijection, context demarcation, validation= , " +"etc), Seam must intercept component invocations. For JavaBeans, Seam is i= n " +"full control of instantiation of the component, and no special configurat= ion " +"is needed. For entity beans, interception is not required since bijection= " +"and context demarcation are not defined. For session beans, we must regis= ter " +"an EJB interceptor for the session bean component. We could use an " +"annotation, as follows:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:456 +#, no-c-format +msgid "" +"@Stateless\n" +"@Interceptors(SeamInterceptor.class)\n" +"public class LoginAction implements Login { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:458 +#, no-c-format +msgid "" +"But a much better way is to define the interceptor in ejb-jar.xm= l." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:462 +#, no-c-format +msgid "" +"<interceptors>\n" +" <interceptor>\n" +" <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-" +"class>\n" +" </interceptor>\n" +"</interceptors>\n" +" \n" +"<assembly-descriptor>\n" +" <interceptor-binding>\n" +" <ejb-name>*</ejb-name>\n" +" <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-" +"class>\n" +" </interceptor-binding>\n" +"</assembly-descriptor>" +msgstr "" + +#. Tag: title +#: Concepts.xml:467 +#, no-c-format +msgid "Component names" +msgstr "" + +#. Tag: para +#: Concepts.xml:468 +#, no-c-format +msgid "" +"All seam components need a name. We can assign a name to a component usin= g " +"the @Name annotation:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:473 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:475 +#, no-c-format +msgid "" +"This name is the seam component name and is not rela= ted " +"to any other name defined by the EJB specification. However, seam compone= nt " +"names work just like JSF managed bean names and you can think of the two " +"concepts as identical." +msgstr "" + +#. Tag: para +#: Concepts.xml:481 +#, no-c-format +msgid "" +"@Name is not the only way to define a component name, = but " +"we always need to specify the name somewhere. If we " +"don't, then none of the other Seam annotations will function." +msgstr "" + +#. Tag: para +#: Concepts.xml:487 +#, no-c-format +msgid "" +"Just like in JSF, a seam component instance is usually bound to a context= " +"variable with the same name as the component name. So, for example, we wo= uld " +"access the LoginAction using Contexts." +"getStatelessContext().get(\"loginAction\"). In particular, " +"whenever Seam itself instantiates a component, it binds the new instance = to " +"a variable with the component name. However, again like JSF, it is possib= le " +"for the application to bind a component to some other context variable by= " +"programmatic API call. This is only useful if a particular component serv= es " +"more than one role in the system. For example, the currently logged in " +"User might be bound to the currentUser " +"session context variable, while a User that is the " +"subject of some administration functionality might be bound to the " +"user conversation context variable." +msgstr "" + +#. Tag: para +#: Concepts.xml:500 +#, no-c-format +msgid "" +"For very large applications, and for built-in seam components, qualified " +"names are often used." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:504 +#, no-c-format +msgid "" +"@Name(\"com.jboss.myapp.loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:506 +#, no-c-format +msgid "" +"We may use the qualified component name both in Java code and in JSF's " +"expression language:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:510 +#, no-c-format +msgid "" +"<h:commandButton type=3D\"submit\" value=3D\"Login\"\n" +" action=3D\"#{com.jboss.myapp.loginAction.login}\"/>" +msgstr "" + +#. Tag: para +#: Concepts.xml:512 +#, no-c-format +msgid "" +"Since this is noisy, Seam also provides a means of aliasing a qualified n= ame " +"to a simple name. Add a line like this to the components.xml file:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:517 +#, no-c-format +msgid "" +"<factory name=3D\"loginAction\" scope=3D\"STATELESS\" value=3D\"= #{com." +"jboss.myapp.loginAction}\"/>" +msgstr "" + +#. Tag: para +#: Concepts.xml:519 +#, no-c-format +msgid "" +"All of the built-in Seam components have qualified names, but most of the= m " +"are aliased to a simple name by the components.xml fil= e " +"included in the Seam jar." +msgstr "" + +#. Tag: title +#: Concepts.xml:527 +#, no-c-format +msgid "Defining the component scope" +msgstr "" + +#. Tag: para +#: Concepts.xml:528 +#, no-c-format +msgid "" +"We can override the default scope (context) of a component using the " +"@Scope annotation. This lets us define what context a " +"component instance is bound to, when it is instantiated by Seam." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:534 +#, no-c-format +msgid "" +"@Name(\"user\")\n" +"@Entity\n" +"@Scope(SESSION)\n" +"public class User { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:536 +#, no-c-format +msgid "" +"org.jboss.seam.ScopeType defines an enumeration of " +"possible scopes." +msgstr "" + +#. Tag: title +#: Concepts.xml:543 +#, no-c-format +msgid "Components with multiple roles" +msgstr "" + +#. Tag: para +#: Concepts.xml:544 +#, no-c-format +msgid "" +"Some Seam component classes can fulfill more than one role in the system.= " +"For example, we often have a User class which is usual= ly " +"used as a session-scoped component representing the current user but is u= sed " +"in user administration screens as a conversation-scoped component. The " +"@Role annotation lets us define an additional named ro= le " +"for a component, with a different scope—it lets us bind the same " +"component class to different context variables. (Any Seam component " +"instance may be bound to multiple context variables,= " +"but this lets us do it at the class level, and take advantage of auto-" +"instantiation.)" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:554 +#, no-c-format +msgid "" +"@Name(\"user\")\n" +"@Entity\n" +"@Scope(CONVERSATION)\n" +"@Role(name=3D\"currentUser\", scope=3DSESSION)\n" +"public class User { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:556 +#, no-c-format +msgid "" +"The @Roles annotation lets us specify as many addition= al " +"roles as we like." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:560 +#, no-c-format +msgid "" +"@Name(\"user\")\n" +"@Entity\n" +"@Scope(CONVERSATION)\n" +"@Roles({@Role(name=3D\"currentUser\", scope=3DSESSION),\n" +" @Role(name=3D\"tempUser\", scope=3DEVENT)})\n" +"public class User { \n" +" ... \n" +"}" +msgstr "" + +#. Tag: title +#: Concepts.xml:565 +#, no-c-format +msgid "Built-in components" +msgstr "" + +#. Tag: para +#: Concepts.xml:566 +#, no-c-format +msgid "" +"Like many good frameworks, Seam eats its own dogfood and is implemented " +"mostly as a set of built-in Seam interceptors (see later) and Seam " +"components. This makes it easy for applications to interact with built-in= " +"components at runtime or even customize the basic functionality of Seam b= y " +"replacing the built-in components with custom implementations. The built-= in " +"components are defined in the Seam namespace org.jboss.seam.core= and the Java package of the same name." +msgstr "" + +#. Tag: para +#: Concepts.xml:573 +#, no-c-format +msgid "" +"The built-in components may be injected, just like any Seam components, b= ut " +"they also provide convenient static instance() methods= :" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:577 +#, no-c-format +msgid "" +"FacesMessages.instance().add(\"Welcome back, #{user.name}!\");]]= >" +msgstr "" + +#. Tag: title +#: Concepts.xml:583 +#, no-c-format +msgid "Bijection" +msgstr "" + +#. Tag: para +#: Concepts.xml:584 +#, no-c-format +msgid "" +"<emphasis>Dependency injection</emphasis> or <emphasis>inversion of contr= ol</" +"emphasis> is by now a familiar concept to most Java developers. Dependenc= y " +"injection allows a component to obtain a reference to another component b= y " +"having the container \"inject\" the other component to a setter method or= " +"instance variable. In all dependency injection implementations that we ha= ve " +"seen, injection occurs when the component is constructed, and the referen= ce " +"does not subsequently change for the lifetime of the component instance. = For " +"stateless components, this is reasonable. From the point of view of a " +"client, all instances of a particular stateless component are " +"interchangeable. On the other hand, Seam emphasizes the use of stateful " +"components. So traditional dependency injection is no longer a very usefu= l " +"construct. Seam introduces the notion of <emphasis>bijection</emphasis> a= s a " +"generalization of injection. In contrast to injection, bijection is:" +msgstr "" + +#. Tag: para +#: Concepts.xml:598 +#, no-c-format +msgid "" +"<emphasis>contextual</emphasis> - bijection is used to assemble stateful " +"components from various different contexts (a component from a \"wider\" " +"context may even have a reference to a component from a \"narrower\" cont= ext)" +msgstr "" + +#. Tag: para +#: Concepts.xml:605 +#, no-c-format +msgid "" +"<emphasis>bidirectional</emphasis> - values are injected from context " +"variables into attributes of the component being invoked, and also " +"<emphasis>outjected</emphasis> from the component attributes back out to = the " +"context, allowing the component being invoked to manipulate the values of= " +"contextual variables simply by setting its own instance variables" +msgstr "" + +#. Tag: para +#: Concepts.xml:613 +#, no-c-format +msgid "" +"<emphasis>dynamic</emphasis> - since the value of contextual variables " +"changes over time, and since Seam components are stateful, bijection take= s " +"place every time a component is invoked" +msgstr "" + +#. Tag: para +#: Concepts.xml:620 +#, no-c-format +msgid "" +"In essence, bijection lets you alias a context variable to a component " +"instance variable, by specifying that the value of the instance variable = is " +"injected, outjected, or both. Of course, we use annotations to enable " +"bijection." +msgstr "" + +#. Tag: para +#: Concepts.xml:626 +#, no-c-format +msgid "" +"The <literal>@In</literal> annotation specifies that a value should be " +"injected, either into an instance variable:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:631 +#, no-c-format +msgid "" +"<![CDATA[@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" @In User user;\n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:633 +#, no-c-format +msgid "or into a setter method:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:637 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" User user;\n" +" \n" +" @In\n" +" public void setUser(User user) {\n" +" this.user=3Duser;\n" +" }\n" +" \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:640 +#, no-c-format +msgid "" +"By default, Seam will do a priority search of all contexts, using the nam= e " +"of the property or instance variable that is being injected. You may wish= to " +"specify the context variable name explicitly, using, for example, " +"@In(\"currentUser\")." +msgstr "" + +#. Tag: para +#: Concepts.xml:646 +#, no-c-format +msgid "" +"If you want Seam to create an instance of the component when there is no " +"existing component instance bound to the named context variable, you shou= ld " +"specify @In(create=3Dtrue). If the value is optional (= it " +"can be null), specify @In(required=3Dfalse)." +msgstr "" + +#. Tag: para +#: Concepts.xml:652 +#, no-c-format +msgid "" +"For some components, it can be repetitive to have to specify @In" +"(create=3Dtrue) everywhere they are used. In such cases, you ca= n " +"annotate the component @AutoCreate, and then it will " +"always be created, whenever needed, even without the explicit use of " +"create=3Dtrue." +msgstr "" + +#. Tag: para +#: Concepts.xml:658 +#, no-c-format +msgid "You can even inject the value of an expression:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:662 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" @In(\"#{user.username}\") String username;\n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:664 +#, no-c-format +msgid "" +"Injected values are disinjected (i.e, set to null) " +"immediately after method completion and outjection." +msgstr "" + +#. Tag: para +#: Concepts.xml:669 +#, no-c-format +msgid "" +"(There is much more information about component lifecycle and injection i= n " +"the next chapter.)" +msgstr "" + +#. Tag: para +#: Concepts.xml:673 +#, no-c-format +msgid "" +"The @Out annotation specifies that an attribute should= be " +"outjected, either from an instance variable:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:678 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" @Out User user;\n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:680 +#, no-c-format +msgid "or from a getter method:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:684 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" User user;\n" +" \n" +" @Out\n" +" public User getUser() {\n" +" return user;\n" +" }\n" +" \n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:686 +#, no-c-format +msgid "An attribute may be both injected and outjected:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:690 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" @In @Out User user;\n" +" ... \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:692 +#, no-c-format +msgid "or:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:696 +#, no-c-format +msgid "" +"@Name(\"loginAction\")\n" +"@Stateless\n" +"public class LoginAction implements Login { \n" +" User user;\n" +" \n" +" @In\n" +" public void setUser(User user) {\n" +" this.user=3Duser;\n" +" }\n" +" \n" +" @Out\n" +" public User getUser() {\n" +" return user;\n" +" }\n" +" \n" +" ... \n" +"}" +msgstr "" + +#. Tag: title +#: Concepts.xml:701 +#, no-c-format +msgid "Lifecycle methods" +msgstr "" + +#. Tag: para +#: Concepts.xml:703 +#, no-c-format +msgid "" +"Session bean and entity bean Seam components support all the usual EJB 3.= 0 " +"lifecycle callback (@PostConstruct, @PreDestr= oy, etc). But Seam also supports the use of any of these callbacks " +"with JavaBean components. However, since these annotations are not availa= ble " +"in a J2EE environment, Seam defines two additional component lifecycle " +"callbacks, equivalent to @PostConstruct and " +"@PreDestroy." +msgstr "" + +#. Tag: para +#: Concepts.xml:711 +#, no-c-format +msgid "" +"The @Create method is called after Seam instantiates a= " +"component. Components may define only one @Create meth= od." +msgstr "" + +#. Tag: para +#: Concepts.xml:716 +#, no-c-format +msgid "" +"The @Destroy method is called when the context that th= e " +"Seam component is bound to ends. Components may define only one " +"@Destroy method." +msgstr "" + +#. Tag: para +#: Concepts.xml:721 +#, no-c-format +msgid "" +"In addition, stateful session bean components must " +"define a method with no parameters annotated @Remove. " +"This method is called by Seam when the context ends." +msgstr "" + +#. Tag: para +#: Concepts.xml:726 +#, no-c-format +msgid "" +"Finally, a related annotation is the @Startup annotati= on, " +"which may be applied to any application or session scoped component. The " +"@Startup annotation tells Seam to instantiate the " +"component immediately, when the context begins, instead of waiting until = it " +"is first referenced by a client. It is possible to control the order of " +"instantiation of startup components by specifying @Startup(depen= ds=3D" +"{....})." +msgstr "" + +#. Tag: title +#: Concepts.xml:737 +#, no-c-format +msgid "Conditional installation" +msgstr "" + +#. Tag: para +#: Concepts.xml:739 +#, no-c-format +msgid "" +"The @Install annotation lets you control conditional " +"installation of components that are required in some deployment scenarios= " +"and not in others. This is useful if:" +msgstr "" + +#. Tag: para +#: Concepts.xml:746 +#, no-c-format +msgid "You want to mock out some infrastructural component in tests." +msgstr "" + +#. Tag: para +#: Concepts.xml:751 +#, no-c-format +msgid "" +"You want change the implementation of a component in certain deployment " +"scenarios." +msgstr "" + +#. Tag: para +#: Concepts.xml:757 +#, no-c-format +msgid "" +"You want to install some components only if their dependencies are availa= ble " +"(useful for framework authors)." +msgstr "" + +#. Tag: para +#: Concepts.xml:764 +#, no-c-format +msgid "" +"@Install works by letting you specify " +"precedence and dependencies." +msgstr "" + +#. Tag: para +#: Concepts.xml:769 +#, no-c-format +msgid "" +"The precedence of a component is a number that Seam uses to decide which " +"component to install when there are multiple classes with the same compon= ent " +"name in the classpath. Seam will choose the component with the higher " +"precendence. There are some predefined precedence values (in ascending " +"order):" +msgstr "" + +#. Tag: para +#: Concepts.xml:778 +#, no-c-format +msgid "" +"BUILT_IN — the lowest precedece components are t= he " +"components built in to Seam." +msgstr "" + +#. Tag: para +#: Concepts.xml:784 +#, no-c-format +msgid "" +"FRAMEWORK — components defined by third-party " +"frameworks may override built-in components, but are overridden by " +"application components." +msgstr "" + +#. Tag: para +#: Concepts.xml:791 +#, no-c-format +msgid "" +"APPLICATION — the default precedence. This is " +"appropriate for most application components." +msgstr "" + +#. Tag: para +#: Concepts.xml:797 +#, no-c-format +msgid "" +"DEPLOYMENT — for application components which ar= e " +"deployment-specific." +msgstr "" + +#. Tag: para +#: Concepts.xml:803 +#, no-c-format +msgid "MOCK — for mock objects used in testing." +msgstr "" + +#. Tag: para +#: Concepts.xml:809 +#, no-c-format +msgid "" +"Suppose we have a component named messageSender that " +"talks to a JMS queue." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:814 +#, no-c-format +msgid "" +"@Name(\"messageSender\") \n" +"public class MessageSender {\n" +" public void sendMessage() {\n" +" //do something with JMS\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:816 +#, no-c-format +msgid "" +"In our unit tests, we don't have a JMS queue available, so we would like = to " +"stub out this method. We'll create a mock component " +"that exists in the classpath when unit tests are running, but is never " +"deployed with the application:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:823 +#, no-c-format +msgid "" +"@Name(\"messageSender\") \n" +"@Install(precedence=3DMOCK)\n" +"public class MockMessageSender extends MessageSender {\n" +" public void sendMessage() {\n" +" //do nothing!\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:825 +#, no-c-format +msgid "" +"The precedence helps Seam decide which version to use " +"when it finds both components in the classpath." +msgstr "" + +#. Tag: para +#: Concepts.xml:830 +#, no-c-format +msgid "" +"This is nice if we are able to control exactly which classes are in the " +"classpath. But if I'm writing a reusable framework with many dependecies,= I " +"don't want to have to break that framework across many jars. I want to be= " +"able to decide which components to install depending upon what other " +"components are installed, and upon what classes are available in the " +"classpath. The @Install annotation also controls this " +"functionality. Seam uses this mechanism internally to enable conditional " +"installation of many of the built-in components. However, you probably wo= n't " +"need to use it in your application." +msgstr "" + +#. Tag: title +#: Concepts.xml:844 +#, no-c-format +msgid "Logging" +msgstr "" + +#. Tag: para +#: Concepts.xml:846 +#, no-c-format +msgid "Who is not totally fed up with seeing noisy code like this?" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:850 +#, no-c-format +msgid "" +"private static final Log log =3D LogFactory.getLog(CreateOrderAc= tion." +"class);\n" +" \n" +"public Order createOrder(User user, Product product, int quantity) {\n" +" if ( log.isDebugEnabled() ) {\n" +" log.debug(\"Creating new order for user: \" + user.username() + \= n" +" \" product: \" + product.name() \n" +" + \" quantity: \" + quantity);\n" +" }\n" +" return new Order(user, product, quantity);\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:852 +#, no-c-format +msgid "" +"It is difficult to imagine how the code for a simple log message could " +"possibly be more verbose. There is more lines of code tied up in logging " +"than in the actual business logic! I remain totally astonished that the J= ava " +"community has not come up with anything better in 10 years." +msgstr "" + +#. Tag: para +#: Concepts.xml:858 +#, no-c-format +msgid "Seam provides a logging API that simplifies this code significantly= :" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:862 +#, no-c-format +msgid "" +"@Logger private Log log;\n" +" \n" +"public Order createOrder(User user, Product product, int quantity) {\n" +" log.debug(\"Creating new order for user: #0 product: #1 quantity: #2\= ", " +"user.username(), product.name(), quantity);\n" +" return new Order(user, product, quantity);\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:864 +#, no-c-format +msgid "" +"It doesn't matter if you declare the log variable stat= ic " +"or not—it will work either way, except for entity bean components " +"which require the log variable to be static." +msgstr "" + +#. Tag: para +#: Concepts.xml:870 +#, no-c-format +msgid "" +"Note that we don't need the noisy if ( log.isDebugEnabled() ) guard, since string concatenation happens inside the debug() method. Note also that we don't " +"usually need to specify the log category explicitly, since Seam knows wha= t " +"component it is injecting the Log into." +msgstr "" + +#. Tag: para +#: Concepts.xml:885 +#, no-c-format +msgid "" +"If User and Product are Seam " +"components available in the current contexts, it gets even better:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:890 +#, no-c-format +msgid "" +"@Logger private Log log;\n" +" \n" +"public Order createOrder(User user, Product product, int quantity) {\n" +" log.debug(\"Creating new order for user: #{user.username} product: #" +"{product.name} quantity: #0\", quantity);\n" +" return new Order(user, product, quantity);\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:892 +#, no-c-format +msgid "" +"Seam logging automagically chooses whether to send output to log4j or JDK= " +"logging. If log4j is in the classpath, Seam with use it. If it is not, Se= am " +"will use JDK logging." +msgstr "" + +#. Tag: title +#: Concepts.xml:900 +#, no-c-format +msgid "" +"The Mutable interface and @ReadOnly" +msgstr "" + +#. Tag: para +#: Concepts.xml:901 +#, no-c-format +msgid "" +"Many application servers feature an amazingly broken implementation of " +"HttpSession clustering, where changes to the state of " +"mutable objects bound to the session are only replicated when the " +"application calls setAttribute() explicitly. This is a= " +"source of bugs that can not effectively be tested for at development time= , " +"since they will only manifest when failover occurs. Furthermore, the actu= al " +"replication message contains the entire serialized object graph bound to = the " +"session attribute, which is inefficient." +msgstr "" + +#. Tag: para +#: Concepts.xml:910 +#, no-c-format +msgid "" +"Of course, EJB stateful session beans must perform automatic dirty checki= ng " +"and replication of mutable state and a sophisticated EJB container can " +"introduce optimizations such as attribute-level replication. Unfortunatel= y, " +"not all Seam users have the good fortune to be working in an environment " +"that supports EJB 3.0. So, for session and conversation scoped JavaBean a= nd " +"entity bean components, Seam provides an extra layer of cluster-safe stat= e " +"management over the top of the web container session clustering." +msgstr "" + +#. Tag: para +#: Concepts.xml:918 +#, no-c-format +msgid "" +"For session or conversation scoped JavaBean components, Seam automaticall= y " +"forces replication to occur by calling setAttribute() " +"once in every request that the component was invoked by the application. = Of " +"course, this strategy is inefficient for read-mostly components. You can " +"control this behavior by implementing the org.jboss.seam.core." +"Mutable interface, or by extending org.jboss.seam.core= ." +"AbstractMutable, and writing your own dirty-checking logic insi= de " +"the component. For example," +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:927 +#, no-c-format +msgid "" +"@Name(\"account\")\n" +"public class Account extends AbstractMutable\n" +"{\n" +" private BigDecimal balance;\n" +" \n" +" public void setBalance(BigDecimal balance)\n" +" {\n" +" setDirty(this.balance, balance);\n" +" this.balance =3D balance;\n" +" }\n" +" \n" +" public BigDecimal getBalance()\n" +" {\n" +" return balance;\n" +" }\n" +" \n" +" ...\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:929 +#, no-c-format +msgid "" +"Or, you can use the @ReadOnly annotation to achieve a " +"similar effect:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:933 +#, no-c-format +msgid "" +"@Name(\"account\")\n" +"public class Account\n" +"{\n" +" private BigDecimal balance;\n" +" \n" +" public void setBalance(BigDecimal balance)\n" +" {\n" +" this.balance =3D balance;\n" +" }\n" +" \n" +" @ReadOnly\n" +" public BigDecimal getBalance()\n" +" {\n" +" return balance;\n" +" }\n" +" \n" +" ...\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:935 +#, no-c-format +msgid "" +"For session or conversation scoped entity bean components, Seam " +"automatically forces replication to occur by calling setAttribut= e()" +" once in every request, unless the (conversation-scop= ed) " +"entity is currently associated with a Seam-managed persistence context, i= n " +"which case no replication is needed. This strategy is not " +"necessarily efficient, so session or conversation scope entity beans shou= ld " +"be used with care. You can always write a stateful session bean or JavaBe= an " +"component to \"manage\" the entity bean instance. For example," +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:944 +#, no-c-format +msgid "" +"@Stateful\n" +"@Name(\"account\")\n" +"public class AccountManager extends AbstractMutable\n" +"{\n" +" private Account account; // an entity bean\n" +" \n" +" @Unwrap\n" +" public void getAccount()\n" +" {\n" +" return account;\n" +" }\n" +" \n" +" ...\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:946 +#, no-c-format +msgid "" +"Note that the EntityHome class in the Seam Application= " +"Framework provides a great example of managing an entity bean instance us= ing " +"a Seam component." +msgstr "" + +#. Tag: title +#: Concepts.xml:954 +#, no-c-format +msgid "Factory and manager components" +msgstr "" + +#. Tag: para +#: Concepts.xml:955 +#, no-c-format +msgid "" +"We often need to work with objects that are not Seam components. But we " +"still want to be able to inject them into our components using @= In and use them in value and method binding expressions, etc. " +"Sometimes, we even need to tie them into the Seam context lifecycle " +"(@Destroy, for example). So the Seam contexts can cont= ain " +"objects which are not Seam components, and Seam provides a couple of nice= " +"features that make it easier to work with non-component objects bound to " +"contexts." +msgstr "" + +#. Tag: para +#: Concepts.xml:963 +#, no-c-format +msgid "" +"The factory component pattern lets a Seam component = act " +"as the instantiator for a non-component object. A factory metho= d will be called when a context variable is referenced but has no= " +"value bound to it. We define factory methods using the @Factory<= /" +"literal> annotation. The factory method binds a value to the context " +"variable, and determines the scope of the bound value. There are two styl= es " +"of factory method. The first style returns a value, which is bound to the= " +"context by Seam:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:972 +#, no-c-format +msgid "" +"@Factory(scope=3DCONVERSATION)\n" +"public List<Customer> getCustomerList() { \n" +" return ... ;\n" +"} " +msgstr "" + +#. Tag: para +#: Concepts.xml:974 +#, no-c-format +msgid "" +"The second style is a method of type void which binds = the " +"value to the context variable itself:" +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:979 +#, no-c-format +msgid "" +"@DataModel List<Customer> customerList;\n" +"\n" +"@Factory(\"customerList\")\n" +"public void initCustomerList() { \n" +" customerList =3D ... ;\n" +"} " +msgstr "" + +#. Tag: para +#: Concepts.xml:981 +#, no-c-format +msgid "" +"In both cases, the factory method is called when we reference the " +"customerList context variable and its value is null, a= nd " +"then has no further part to play in the lifecycle of the value. An even m= ore " +"powerful pattern is the manager component pattern. I= n " +"this case, we have a Seam component that is bound to a context variable, " +"that manages the value of the context variable, while remaining invisible= to " +"clients." +msgstr "" + +#. Tag: para +#: Concepts.xml:989 +#, no-c-format +msgid "" +"A manager component is any component with an @Unwrap " +"method. This method returns the value that will be visable to clients, an= d " +"is called every time a context variable is reference= d." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:997 +#, no-c-format +msgid "" +"@Name(\"customerList\")\n" +"@Scope(CONVERSATION)\n" +"public class CustomerListManager\n" +"{\n" +" ...\n" +" \n" +" @Unwrap\n" +" public List<Customer> getCustomerList() { \n" +" return ... ;\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:999 +#, no-c-format +msgid "" +"The manager component pattern is especially useful if we have an object " +"where you need more control over the lifecycle of the component. For " +"example, if you have a heavyweight object that needs a cleanup operation " +"when the context ends you could @Unwrap the object, an= d " +"perform cleanup in the @Destroy method of the manager " +"component." +msgstr "" + +#. Tag: programlisting +#: Concepts.xml:1006 +#, no-c-format +msgid "" +"@Name(\"hens\")\n" +"@Scope(APPLICATION) \n" +"public class HenHouse {\n" +" \n" +" Set<Hen> hens;\n" +" \n" +" @In(required=3Dfalse) Hen hen;\n" +" \n" +" @Unwrap\n" +" public List<Hen> getHens() {\n" +" if (hens =3D=3D null) {\n" +" // Setup our hens\n" +" }\n" +" return hens;\n" +" }\n" +" \n" +" @Observer({\"chickBorn\", \"chickenBoughtAtMarket\"})\n" +" public addHen() {\n" +" hens.add(hen);\n" +" }\n" +" \n" +" @Observer(\"chickenSoldAtMarket\")\n" +" public removeHen() {\n" +" hens.remove(hen);\n" +" }\n" +" \n" +" @Observer(\"foxGetsIn\")\n" +" public removeAllHens() {\n" +" hens.clear();\n" +" }\n" +" ...\n" +"}" +msgstr "" + +#. Tag: para +#: Concepts.xml:1008 +#, no-c-format +msgid "" +"Here the managed component observes many events which change the underlyi= ng " +"object. The component manages these actions itself, and because the objec= t " +"is unwrapped on every access, a consistent view is provided." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Configuration.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Configuration.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Configuration.po 2008-= 04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,1648 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Configuration.xml:5 +#, no-c-format +msgid "Configuring Seam and packaging Seam applications" +msgstr "" + +#. Tag: para +#: Configuration.xml:6 +#, no-c-format +msgid "" +"Configuration is a very boring topic and an extremely tedious pastime. " +"Unfortunately, several lines of XML are required to integrate Seam into y= our " +"JSF implementation and servlet container. There's no need to be too put o= ff " +"by the following sections; you'll never need to type any of this stuff " +"yourself, since you can just copy and paste from the example applications= !" +msgstr "" + +#. Tag: title +#: Configuration.xml:12 +#, no-c-format +msgid "Basic Seam configuration" +msgstr "" + +#. Tag: para +#: Configuration.xml:14 +#, no-c-format +msgid "" +"First, let's look at the basic configuration that is needed whenever we u= se " +"Seam with JSF." +msgstr "" + +#. Tag: title +#: Configuration.xml:17 +#, no-c-format +msgid "Integrating Seam with JSF and your servlet container" +msgstr "" + +#. Tag: para +#: Configuration.xml:19 +#, no-c-format +msgid "Of course, you need a faces servlet!" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:21 +#, no-c-format +msgid "" +"<servlet>\n" +" <servlet-name>Faces Servlet</servlet-name>\n" +" <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n" +" <load-on-startup>1</load-on-startup>\n" +"</servlet>\n" +"\n" +"<servlet-mapping>\n" +" <servlet-name>Faces Servlet</servlet-name>\n" +" <url-pattern>*.seam</url-pattern>\n" +"</servlet-mapping>" +msgstr "" + +#. Tag: para +#: Configuration.xml:23 +#, no-c-format +msgid "(You can adjust the URL pattern to suit your taste.)" +msgstr "" + +#. Tag: para +#: Configuration.xml:25 +#, no-c-format +msgid "" +"In addition, Seam requires the following entry in your web.xml file:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:27 +#, no-c-format +msgid "" +"<listener>\n" +" <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>\= n" +"</listener>" +msgstr "" + +#. Tag: para +#: Configuration.xml:29 +#, no-c-format +msgid "" +"This listener is responsible for bootstrapping Seam, and for destroying " +"session and application contexts." +msgstr "" + +#. Tag: para +#: Configuration.xml:32 +#, no-c-format +msgid "" +"Some JSF implementations have a broken implementation of server-side stat= e " +"saving that interferes with Seam's conversation propagation. If you have " +"problems with conversation propagation during form submissions, try " +"switching to client-side state saving. You'll need this in web.x= ml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:36 +#, no-c-format +msgid "" +"<context-param>\n" +" <param-name>javax.faces.STATE_SAVING_METHOD</param-name>\n" +" <param-value>client</param-value>\n" +"</context-param>" +msgstr "" + +#. Tag: title +#: Configuration.xml:41 +#, no-c-format +msgid "Using facelets" +msgstr "" + +#. Tag: para +#: Configuration.xml:43 +#, no-c-format +msgid "" +"If you want follow our advice and use facelets instead of JSP, add the " +"following lines to faces-config.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:46 +#, no-c-format +msgid "" +"<application>\n" +" <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n" +"</application>" +msgstr "" + +#. Tag: para +#: Configuration.xml:48 +#, no-c-format +msgid "And the following lines to web.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:50 +#, no-c-format +msgid "" +"<context-param>\n" +" <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n" +" <param-value>.xhtml</param-value>\n" +"</context-param>" +msgstr "" + +#. Tag: title +#: Configuration.xml:55 +#, no-c-format +msgid "Seam Resource Servlet" +msgstr "" + +#. Tag: para +#: Configuration.xml:57 +#, no-c-format +msgid "" +"The Seam Resource Servlet provides resources used by Seam Remoting, captc= has " +"(see the security chapter) and some JSF UI controls. Configuring the Seam= " +"Resource Servlet requires the following entry in web.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:61 +#, no-c-format +msgid "" +"<servlet>\n" +" <servlet-name>Seam Resource Servlet</servlet-name>\n" +" <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-clas= s>\n" +"</servlet>\n" +" \n" +"<servlet-mapping>\n" +" <servlet-name>Seam Resource Servlet</servlet-name>\n" +" <url-pattern>/seam/resource/*</url-pattern>\n" +"</servlet-mapping>" +msgstr "" + +#. Tag: title +#: Configuration.xml:65 +#, no-c-format +msgid "Seam servlet filters" +msgstr "" + +#. Tag: para +#: Configuration.xml:67 +#, no-c-format +msgid "" +"Seam doesn't need any servlet filters for basic operation. However, there= " +"are several features which depend upon the use of filters. To make things= " +"easier, Seam lets you add and configure servlet filters just like you wou= ld " +"configure other built-in Seam components. To take advantage of this featu= re, " +"we must first install a master filter in web.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:72 +#, no-c-format +msgid "" +"<filter>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>\n" +"</filter>\n" +"\n" +"<filter-mapping>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <url-pattern>/*</url-pattern>\n" +"</filter-mapping>" +msgstr "" + +#. Tag: para +#: Configuration.xml:74 +#, no-c-format +msgid "" +"The Seam master filter must be the first filter " +"specified in web.xml. This ensures it is run first." +msgstr "" + +#. Tag: para +#: Configuration.xml:77 +#, no-c-format +msgid "" +"The Seam filters share a number of common attributes, you can set these i= n " +"components.xml in addition to any parameters discussed= " +"below:" +msgstr "" + +#. Tag: para +#: Configuration.xml:85 +#, no-c-format +msgid "" +"url-pattern — Used to specify which requests are= " +"filtered, the default is all requests. url-pattern is = a " +"Tomcat style pattern which allows a wildcard suffix." +msgstr "" + +#. Tag: para +#: Configuration.xml:92 +#, no-c-format +msgid "" +"regex-url-pattern — Used to specify which reques= ts " +"are filtered, the default is all requests. regex-url-pattern is a true regular expression match for request path. It's worth " +"noting when composing the regular expression that the request path does n= ot " +"contain the server or request context path." +msgstr "" + +#. Tag: para +#: Configuration.xml:100 +#, no-c-format +msgid "disabled — Used to disable a built in filt= er." +msgstr "" + +#. Tag: para +#: Configuration.xml:106 +#, no-c-format +msgid "Adding the master filter enables the following built-in filters." +msgstr "" + +#. Tag: title +#: Configuration.xml:109 +#, no-c-format +msgid "Exception handling" +msgstr "" + +#. Tag: para +#: Configuration.xml:110 +#, no-c-format +msgid "" +"This filter provides the exception mapping functionality in page= s." +"xml (almost all applications will need this). It also takes car= e " +"of rolling back uncommitted transactions when uncaught exceptions occur. " +"(According to the Java EE specification, the web container should do this= " +"automatically, but we've found that this behavior cannot be relied upon i= n " +"all application servers. And it is certainly not required of plain servle= t " +"engines like Tomcat.)" +msgstr "" + +#. Tag: para +#: Configuration.xml:116 +#, no-c-format +msgid "" +"By default, the exception handling filter will process all requests, howe= ver " +"this behavior may be adjusted by adding a <web:exception-" +"filter> entry to components.xml, as shown= in " +"this example:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:120 +#, no-c-format +msgid "" +"<components xmlns=3D\"http://jboss.com/products/seam/components\= "\n" +" xmlns:web=3D\"http://jboss.com/products/seam/web\">\n" +"\n" +" <web:exception-filter url-pattern=3D\"*.seam\"/>\n" +"\n" +"</components>" +msgstr "" + +#. Tag: title +#: Configuration.xml:126 +#, no-c-format +msgid "Conversation propagation with redirects" +msgstr "" + +#. Tag: para +#: Configuration.xml:127 +#, no-c-format +msgid "" +"This filter allows Seam to propagate the conversation context across brow= ser " +"redirects. It intercepts any browser redirects and adds a request paramet= er " +"that specifies the Seam conversation identifier." +msgstr "" + +#. Tag: para +#: Configuration.xml:131 +#, no-c-format +msgid "" +"The redirect filter will process all requests by default, but this behavi= or " +"can also be adjusted in components.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:134 +#, no-c-format +msgid "<web:redirect-filter url-pattern=3D\"*.seam\"/>" +msgstr "" + +#. Tag: title +#: Configuration.xml:138 +#, no-c-format +msgid "Multipart form submissions" +msgstr "" + +#. Tag: para +#: Configuration.xml:139 +#, no-c-format +msgid "" +"This feature is necessary when using the Seam file upload JSF control. It= " +"detects multipart form requests and processes them according to the " +"multipart/form-data specification (RFC-2388). To override the default " +"settings, add the following entry to components.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:143 +#, no-c-format +msgid "" +"<web:multipart-filter create-temp-files=3D\"true\" \n" +" max-request-size=3D\"1000000\" \n" +" url-pattern=3D\"*.seam\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:147 +#, no-c-format +msgid "" +"create-temp-files — If set to true, uploaded files are written to a temporary file (instead of held= in " +"memory). This may be an important consideration if large file uploads are= " +"expected. The default setting is false." +msgstr "" + +#. Tag: para +#: Configuration.xml:154 +#, no-c-format +msgid "" +"max-request-size — If the size of a file upload " +"request (determined by reading the Content-Length head= er " +"in the request) exceeds this value, the request will be aborted. The defa= ult " +"setting is 0 (no size limit)." +msgstr "" + +#. Tag: title +#: Configuration.xml:163 +#, no-c-format +msgid "Character encoding" +msgstr "" + +#. Tag: para +#: Configuration.xml:164 +#, no-c-format +msgid "Sets the character encoding of submitted form data." +msgstr "" + +#. Tag: para +#: Configuration.xml:166 Configuration.xml:261 +#, no-c-format +msgid "" +"This filter is not installed by default and requires an entry in " +"components.xml to enable it:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:169 +#, no-c-format +msgid "" +"<web:character-encoding-filter encoding=3D\"UTF-16\" \n" +" override-client=3D\"true\" \n" +" url-pattern=3D\"*.seam\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:173 +#, no-c-format +msgid "encoding — The encoding to use." +msgstr "" + +#. Tag: para +#: Configuration.xml:177 +#, no-c-format +msgid "" +"override-client — If this is set to tru= e, the request encoding will be set to whatever is specified by " +"encoding no matter whether the request already specifi= es " +"an encoding or not. If set to false, the request encod= ing " +"will only be set if the request doesn't already specify an encoding. The " +"default setting is false." +msgstr "" + +#. Tag: title +#: Configuration.xml:188 +#, no-c-format +msgid "RichFaces" +msgstr "" + +#. Tag: para +#: Configuration.xml:190 +#, no-c-format +msgid "" +"If RichFaces is used in your project, Seam will install the RichFaces Aja= x " +"filter for you, making sure to install it before all other built-in filte= rs. " +"You don't need to install the RichFaces Ajax filter in web.xml yourself." +msgstr "" + +#. Tag: para +#: Configuration.xml:198 +#, no-c-format +msgid "" +"The RichFaces Ajax filter is only installed if the RichFaces jars are " +"present in your project." +msgstr "" + +#. Tag: para +#: Configuration.xml:203 +#, no-c-format +msgid "" +"To override the default settings, add the following entry to " +"components.xml. The options are the same as those " +"specified in the RichFaces Developer Guide:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:206 +#, no-c-format +msgid "" +"<web:ajax4jsf-filter force-parser=3D\"true\" \n" +" enable-cache=3D\"true\" \n" +" log4j-init-file=3D\"custom-log4j.xml\"\n" +" url-pattern=3D\"*.seam\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:209 +#, no-c-format +msgid "" +"force-parser — forces all JSF pages to be valida= ted " +"by Richfaces's XML syntax checker. If false, only AJAX= " +"responses are validated and converted to well-formed XML. Setting " +"force-parser to false improves " +"performance, but can provide visual artifacts on AJAX updates." +msgstr "" + +#. Tag: para +#: Configuration.xml:217 +#, no-c-format +msgid "" +"enable-cache — enables caching of framework-" +"generated resources (e.g. javascript, CSS, images, etc). When developing " +"custom javascript or CSS, setting to true prevents the browser from cachi= ng " +"the resource." +msgstr "" + +#. Tag: para +#: Configuration.xml:223 +#, no-c-format +msgid "" +"log4j-init-file — is used to setup per-applicati= on " +"logging. A path, relative to web application context, to the log4j.xml " +"configuration file should be provided." +msgstr "" + +#. Tag: title +#: Configuration.xml:233 +#, no-c-format +msgid "Identity Logging" +msgstr "" + +#. Tag: para +#: Configuration.xml:235 +#, no-c-format +msgid "" +"This filter adds the authenticated user name to the log4j mapped diagnost= ic " +"context so that it can be included in formatted log output if desired, by= " +"adding %X{username} to the pattern." +msgstr "" + +#. Tag: para +#: Configuration.xml:241 +#, no-c-format +msgid "" +"By default, the logging filter will process all requests, however this " +"behavior may be adjusted by adding a <web:logging-filter><= /" +"literal> entry to components.xml, as shown in this " +"example:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:245 +#, no-c-format +msgid "" +"<components xmlns=3D\"http://jboss.com/products/seam/components\= "\n" +" xmlns:web=3D\"http://jboss.com/products/seam/web\">\n" +" <web:logging-filter url-pattern=3D\"*.seam\"/>\n" +"</components>" +msgstr "" + +#. Tag: title +#: Configuration.xml:250 +#, no-c-format +msgid "Context management for custom servlets" +msgstr "" + +#. Tag: para +#: Configuration.xml:251 +#, no-c-format +msgid "" +"Requests sent direct to some servlet other than the JSF servlet are not " +"processed through the JSF lifecycle, so Seam provides a servlet filter th= at " +"can be applied to any other servlet that needs access to Seam components." +msgstr "" + +#. Tag: para +#: Configuration.xml:255 +#, no-c-format +msgid "" +"This filter allows custom servlets to interact with the Seam contexts. It= " +"sets up the Seam contexts at the beginning of each request, and tears the= m " +"down at the end of the request. You should make sure that this filter is " +"never applied to the JSF FacesServlet. Seam uses the phase listener for context management in a JSF " +"request." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:264 +#, no-c-format +msgid "<web:context-filter url-pattern=3D\"/media/*\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:266 +#, no-c-format +msgid "" +"The context filter expects to find the conversation id of any conversatio= n " +"context in a request parameter named conversationId. Y= ou " +"are responsible for ensuring that it gets sent in the request." +msgstr "" + +#. Tag: para +#: Configuration.xml:270 +#, no-c-format +msgid "" +"You are also responsible for ensuring propagation of any new conversation= id " +"back to the client. Seam exposes the conversation id as a property of the= " +"built in component conversation." +msgstr "" + +#. Tag: title +#: Configuration.xml:277 +#, no-c-format +msgid "Adding custom filters" +msgstr "" + +#. Tag: para +#: Configuration.xml:278 +#, no-c-format +msgid "" +"Seam can install your filters for you, allowing you to specify " +"where in the chain your filter is placed (the servle= t " +"specification doesn't provide a well defined order if you specify your " +"filters in a web.xml). Just add the @Filter annotation to your Seam component (which must implement " +"javax.servlet.Filter):" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:283 +#, no-c-format +msgid "" +"@Startup\n" +"@Scope(APPLICATION)\n" +"@Name(\"org.jboss.seam.web.multipartFilter\")\n" +"@BypassInterceptors\n" +"@Filter(within=3D\"org.jboss.seam.web.ajax4jsfFilter\")\n" +"public class MultipartFilter extends AbstractFilter {" +msgstr "" + +#. Tag: para +#: Configuration.xml:285 +#, no-c-format +msgid "" +"Adding the @Startup annotation means thar the componen= t " +"is available during Seam startup; bijection isn't available here " +"(@BypassInterceptors); and the filter should be furthe= r " +"down the chain than the RichFaces filter (@Filter(within=3D\"org= ." +"jboss.seam.web.ajax4jsfFilter\"))." +msgstr "" + +#. Tag: title +#: Configuration.xml:294 +#, no-c-format +msgid "Integrating Seam with your EJB container" +msgstr "" + +#. Tag: para +#: Configuration.xml:296 +#, no-c-format +msgid "" +"We need to apply the SeamInterceptor to our Seam " +"components. The simplest way to do this across an entire application is t= o " +"add the following interceptor configuration in ejb-jar.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:300 +#, no-c-format +msgid "" +"<interceptors>\n" +" <interceptor>\n" +" <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</intercepto= r-" +"class>\n" +" </interceptor>\n" +"</interceptors>\n" +" \n" +"<assembly-descriptor>\n" +" <interceptor-binding>\n" +" <ejb-name>*</ejb-name>\n" +" <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</intercepto= r-" +"class>\n" +" </interceptor-binding>\n" +"</assembly-descriptor>\n" +"" +msgstr "" + +#. Tag: para +#: Configuration.xml:302 +#, no-c-format +msgid "" +"Seam needs to know where to go to find session beans in JNDI. One way to = do " +"this is specify the @JndiName annotation on every sess= ion " +"bean Seam component. However, this is quite tedious. A better approach is= to " +"specify a pattern that Seam can use to calculate the JNDI name from the E= JB " +"name. Unfortunately, there is no standard mapping to global JNDI defined = in " +"the EJB3 specification, so this mapping is vendor-specific. We usually " +"specify this option in components.xml." +msgstr "" + +#. Tag: para +#: Configuration.xml:308 +#, no-c-format +msgid "For JBoss AS, the following pattern is correct:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:310 +#, no-c-format +msgid "<core:init jndi-name=3D\"myEarName/#{ejbName}/local\" />]]= >" +msgstr "" + +#. Tag: para +#: Configuration.xml:312 +#, no-c-format +msgid "" +"Where <literal>myEarName</literal> is the name of the EAR in which the be= an " +"is deployed." +msgstr "" + +#. Tag: para +#: Configuration.xml:314 +#, no-c-format +msgid "" +"Outside the context of an EAR (when using the JBoss Embeddable EJB3 " +"container), the following pattern is the one to use:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:317 +#, no-c-format +msgid "<![CDATA[<core:init jndi-name=3D\"#{ejbName}/local\" />" +msgstr "" + +#. Tag: para +#: Configuration.xml:319 +#, no-c-format +msgid "" +"You'll have to experiment to find the right setting for other application= " +"servers. Note that some servers (such as GlassFish) require you to specif= y " +"JNDI names for all EJB components explicitly (and tediously). In this cas= e, " +"you can pick your own pattern ;-)" +msgstr "" + +#. Tag: para +#: Configuration.xml:323 +#, no-c-format +msgid "" +"In an EJB3 environment, we recommend the use of a special built-in compon= ent " +"for transaction management, that is fully aware of container transactions= , " +"and can correctly process transaction success events registered with the " +"Events component. If you don't add this line to your " +"components.xml file, Seam won't know when container-" +"managed transactions end:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:330 +#, no-c-format +msgid "<transaction:ejb-transaction/>" +msgstr "" + +#. Tag: title +#: Configuration.xml:335 +#, no-c-format +msgid "Don't forget!" +msgstr "" + +#. Tag: para +#: Configuration.xml:337 +#, no-c-format +msgid "" +"There is one final item you need to know about. You must place a " +"seam.properties, META-INF/seam.properties or META-INF/components.xml file in any archiv= e " +"in which your Seam components are deployed (even an empty properties file= " +"will do). At startup, Seam will scan any archives with seam." +"properties files for seam components." +msgstr "" + +#. Tag: para +#: Configuration.xml:342 +#, no-c-format +msgid "" +"In a web archive (WAR) file, you must place a seam.properties file in the WEB-INF/classes directory if you " +"have any Seam components included here." +msgstr "" + +#. Tag: para +#: Configuration.xml:345 +#, no-c-format +msgid "" +"That's why all the Seam examples have an empty seam.properties file. You can't just delete this file and expect everything to " +"still work!" +msgstr "" + +#. Tag: para +#: Configuration.xml:348 +#, no-c-format +msgid "" +"You might think this is silly and what kind of idiot framework designers " +"would make an empty file affect the behavior of their software?? Well, th= is " +"is a workaround for a limitation of the JVM—if we didn't use this " +"mechanism, our next best option would be to force you to list every " +"component explicitly in components.xml, just like some= " +"other competing frameworks do! I think you'll like our way better." +msgstr "" + +#. Tag: title +#: Configuration.xml:359 +#, no-c-format +msgid "Using Alternate JPA Providers" +msgstr "" + +#. Tag: para +#: Configuration.xml:361 +#, no-c-format +msgid "" +"Seam comes packaged and configured with Hibernate as the default JPA " +"provider. If you require using a different JPA provider you must tell " +"seam about it." +msgstr "" + +#. Tag: title +#: Configuration.xml:367 +#, no-c-format +msgid "This is a workaround" +msgstr "" + +#. Tag: para +#: Configuration.xml:368 +#, no-c-format +msgid "" +"Configuration of the JPA provider will be easier in the future and will n= ot " +"require configuration changes, unless you are adding a custom persistence= " +"provider implementation." +msgstr "" + +#. Tag: para +#: Configuration.xml:375 +#, no-c-format +msgid "" +"Telling seam about a different JPA provider can be be done in one of two " +"ways:" +msgstr "" + +#. Tag: para +#: Configuration.xml:376 +#, no-c-format +msgid "" +"Update your application's components.xml so that the " +"generic PersistenceProvider takes precedence over the " +"hibernate version. Simply add the following to the file:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:381 +#, no-c-format +msgid "" +"<component name=3D\"org.jboss.seam.persistence.persistenceProvid= er" +"\" \n" +" class=3D\"org.jboss.seam.persistence.PersistenceProvider\"\n" +" scope=3D\"stateless\">\n" +"</component>" +msgstr "" + +#. Tag: para +#: Configuration.xml:382 +#, no-c-format +msgid "" +"If you want to take advantage of your JPA provider's non-standard feature= s " +"you will need to write you own implementation of the " +"PersistenceProvider. Use " +"HibernatePersistenceProvider as a starting point (don'= t " +"forget to give back to the community :). Then you will need to tell " +"seam to use it as before." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:389 +#, no-c-format +msgid "" +"<component name=3D\"org.jboss.seam.persistence.persistenceProvid= er" +"\" \n" +" class=3D\"org.your.package.YourPersistenceProvider\">\n" +"</component>" +msgstr "" + +#. Tag: para +#: Configuration.xml:390 +#, no-c-format +msgid "" +"All that is left is updating the persistence.xml file " +"with the correct provider class, and what ever properties your provider " +"needs. Don't forget to package your new provider's jar files in the " +"application if they are needed." +msgstr "" + +#. Tag: title +#: Configuration.xml:398 +#, no-c-format +msgid "Configuring Seam in Java EE 5" +msgstr "" + +#. Tag: para +#: Configuration.xml:409 +#, no-c-format +msgid "" +"If you're running in a Java EE 5 environment, this is all the configurati= on " +"required to start using Seam!" +msgstr "" + +#. Tag: title +#: Configuration.xml:412 Configuration.xml:507 Configuration.xml:623 +#: Configuration.xml:656 +#, no-c-format +msgid "Packaging" +msgstr "" + +#. Tag: para +#: Configuration.xml:414 +#, no-c-format +msgid "" +"Once you've packaged all this stuff together into an EAR, the archive " +"structure will look something like this:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:417 +#, no-c-format +msgid "" +"my-application.ear/\n" +" jboss-seam.jar\n" +" lib/\n" +" jboss-el.jar\n" +" META-INF/\n" +" MANIFEST.MF\n" +" application.xml\n" +" my-application.war/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" WEB-INF/\n" +" web.xml\n" +" components.xml\n" +" faces-config.xml\n" +" lib/\n" +" jsf-facelets.jar\n" +" jboss-seam-ui.jar\n" +" login.jsp\n" +" register.jsp\n" +" ...\n" +" my-application.jar/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" persistence.xml\n" +" seam.properties\n" +" org/\n" +" jboss/\n" +" myapplication/\n" +" User.class\n" +" Login.class\n" +" LoginBean.class\n" +" Register.class\n" +" RegisterBean.class\n" +" ..." +msgstr "" + +#. Tag: para +#: Configuration.xml:419 +#, no-c-format +msgid "" +"You should declare jboss-seam.jar as an ejb module in " +"META-INF/application.xml; jboss-el.jar " +"should be placed in the EAR's lib directory (putting it in the EAR classp= ath." +msgstr "" + +#. Tag: para +#: Configuration.xml:424 +#, no-c-format +msgid "" +"If you want to use jBPM or Drools, you must include the needed jars in th= e " +"EAR's lib directory." +msgstr "" + +#. Tag: para +#: Configuration.xml:426 +#, no-c-format +msgid "" +"If you want to use facelets (our recommendation), you must include " +"jsf-facelets.jar in the WEB-INF/lib= " +"directory of the WAR." +msgstr "" + +#. Tag: para +#: Configuration.xml:429 +#, no-c-format +msgid "" +"If you want to use the Seam tag library (most Seam applications do), you " +"must include jboss-seam-ui.jar in the WEB-INF= /" +"lib directory of the WAR. If you want to use the PDF or email t= ag " +"libraries, you need to put jboss-seam-pdf.jar or " +"jboss-seam-mail.jar in WEB-INF/lib." +msgstr "" + +#. Tag: para +#: Configuration.xml:434 +#, no-c-format +msgid "" +"If you want to use the Seam debug page (only works for applications using= " +"facelets), you must include jboss-seam-debug.jar in th= e " +"WEB-INF/lib directory of the WAR." +msgstr "" + +#. Tag: para +#: Configuration.xml:437 +#, no-c-format +msgid "" +"Seam ships with several example applications that are deployable in any J= ava " +"EE container that supports EJB 3.0." +msgstr "" + +#. Tag: para +#: Configuration.xml:440 +#, no-c-format +msgid "" +"I really wish that was all there was to say on the topic of configuration= " +"but unfortunately we're only about a third of the way there. If you're to= o " +"overwhelmed by all this tedious configuration stuff, feel free to skip ov= er " +"the rest of this section and come back to it later." +msgstr "" + +#. Tag: title +#: Configuration.xml:449 +#, no-c-format +msgid "Configuring Seam in J2EE" +msgstr "" + +#. Tag: para +#: Configuration.xml:451 +#, no-c-format +msgid "" +"Seam is useful even if you're not yet ready to take the plunge into EJB 3= .0. " +"In this case you would use Hibernate3 or JPA instead of EJB 3.0 persisten= ce, " +"and plain JavaBeans instead of session beans. You'll miss out on some of = the " +"nice features of session beans but it will be very easy to migrate to EJB= " +"3.0 when you're ready and, in the meantime, you'll be able to take advant= age " +"of Seam's unique declarative state management architecture." +msgstr "" + +#. Tag: para +#: Configuration.xml:466 +#, no-c-format +msgid "" +"Seam JavaBean components do not provide declarative transaction demarcati= on " +"like session beans do. You could manage your " +"transactions manually using the JTA UserTransaction or= " +"declaratively using Seam's @Transactional annotation. = But " +"most applications will just use Seam managed transactions when using " +"Hibernate with JavaBeans." +msgstr "" + +#. Tag: para +#: Configuration.xml:472 +#, no-c-format +msgid "" +"The Seam distribution includes a version of the booking example applicati= on " +"that uses Hibernate3 and JavaBeans instead of EJB3, and another version t= hat " +"uses JPA and JavaBeans. These example applications are ready to deploy in= to " +"any J2EE application server." +msgstr "" + +#. Tag: title +#: Configuration.xml:477 +#, no-c-format +msgid "Boostrapping Hibernate in Seam" +msgstr "" + +#. Tag: para +#: Configuration.xml:479 +#, no-c-format +msgid "" +"Seam will bootstrap a Hibernate SessionFactory from yo= ur " +"hibernate.cfg.xml file if you install a built-in " +"component:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:482 +#, no-c-format +msgid "" +"<persistence:hibernate-session-factory name=3D" +"\"hibernateSessionFactory\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:484 +#, no-c-format +msgid "" +"You will also need to configure a managed session if= " +"you want a Seam managed Hibernate Session to be availa= ble " +"via injection." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:487 +#, no-c-format +msgid "" +"<persistence:managed-hibernate-session name=3D\"hibernateSession= \"\n" +" session-factory=3D\"#{hibernateSessionFactory= }\"/" +">" +msgstr "" + +#. Tag: title +#: Configuration.xml:492 +#, no-c-format +msgid "Boostrapping JPA in Seam" +msgstr "" + +#. Tag: para +#: Configuration.xml:494 +#, no-c-format +msgid "" +"Seam will bootstrap a JPA EntityManagerFactory from yo= ur " +"persistence.xml file if you install this built-in " +"component:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:497 +#, no-c-format +msgid "" +"<persistence:entity-manager-factory name=3D\"entityManagerFactor= y\"/" +">" +msgstr "" + +#. Tag: para +#: Configuration.xml:499 +#, no-c-format +msgid "" +"You will also need to configure a managed persistence context if you want a Seam managed JPA EntityManager= to " +"be available via injection." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:502 +#, no-c-format +msgid "" +"<persistence:managed-persistence-context name=3D\"entityManager\= "\n" +" entity-manager-factory=3D\"#{entityManagerFac= tory}" +"\"/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:509 +#, no-c-format +msgid "We can package our application as a WAR, in the following structure= :" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:511 +#, no-c-format +msgid "" +"my-application.war/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" WEB-INF/\n" +" web.xml\n" +" components.xml\n" +" faces-config.xml\n" +" lib/\n" +" jboss-seam.jar\n" +" jboss-seam-ui.jar\n" +" jboss-el.jar\n" +" jsf-facelets.jar\n" +" hibernate3.jar\n" +" hibernate-annotations.jar\n" +" hibernate-validator.jar\n" +" ...\n" +" my-application.jar/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" seam.properties\n" +" hibernate.cfg.xml\n" +" org/\n" +" jboss/\n" +" myapplication/\n" +" User.class\n" +" Login.class\n" +" Register.class\n" +" ...\n" +" login.jsp\n" +" register.jsp\n" +" ..." +msgstr "" + +#. Tag: para +#: Configuration.xml:513 +#, no-c-format +msgid "" +"If we want to deploy Hibernate in a non-EE environment like Tomcat or " +"TestNG, we need to do a little bit more work." +msgstr "" + +#. Tag: title +#: Configuration.xml:520 +#, no-c-format +msgid "Configuring Seam in Java SE, without JBoss Embedded" +msgstr "" + +#. Tag: para +#: Configuration.xml:522 +#, no-c-format +msgid "" +"It is possible to use Seam completely outside of an EE environment. In th= is " +"case, you need to tell Seam how to manage transactions, since there will = be " +"no JTA available. If you're using JPA, you can tell Seam to use JPA resou= rce-" +"local transactions, ie. EntityTransaction, like so:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:526 +#, no-c-format +msgid "" +"<transaction:entity-transaction entity-manager=3D\"#{entityManag= er}\"/" +">" +msgstr "" + +#. Tag: para +#: Configuration.xml:528 +#, no-c-format +msgid "" +"If you're using Hibernate, you can tell Seam to use the Hibernate " +"transaction API like this:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:530 +#, no-c-format +msgid "<transaction:hibernate-transaction session=3D\"#{session}\= "/>" +msgstr "" + +#. Tag: para +#: Configuration.xml:532 +#, no-c-format +msgid "Of course, you'll also need to define a datasource." +msgstr "" + +#. Tag: para +#: Configuration.xml:534 +#, no-c-format +msgid "" +"A better alternative is to use JBoss Embedded to get access to the EE API= s." +msgstr "" + +#. Tag: title +#: Configuration.xml:539 +#, no-c-format +msgid "Configuring Seam in Java SE, with JBoss Embedded" +msgstr "" + +#. Tag: para +#: Configuration.xml:541 +#, no-c-format +msgid "" +"JBoss Embedded lets you run EJB3 components outside the context of the Ja= va " +"EE 5 application server. This is especially, but not only, useful for " +"testing." +msgstr "" + +#. Tag: para +#: Configuration.xml:544 +#, no-c-format +msgid "" +"The Seam booking example application includes a TestNG integration test " +"suite that runs on JBoss Embedded via SeamTest." +msgstr "" + +#. Tag: para +#: Configuration.xml:556 +#, no-c-format +msgid "The booking example application may even be deployed to Tomcat." +msgstr "" + +#. Tag: title +#: Configuration.xml:568 +#, no-c-format +msgid "Installing Embedded JBoss" +msgstr "" + +#. Tag: para +#: Configuration.xml:571 +#, no-c-format +msgid "" +"Embedded JBoss must by installed into Tomcat for Seam applications to run= " +"correctly on it. Embedded JBoss only runs on JDK 1.5 (not JDK 1.6). Embed= ded " +"JBoss can be downloaded here. Th= e " +"process for installing Embedded JBoss into Tomcat 6 is quite simple. Firs= t, " +"you should copy the Embedded JBoss JARs and configuration files into Tomc= at." +msgstr "" + +#. Tag: para +#: Configuration.xml:584 +#, no-c-format +msgid "" +"Copy all files and directories under the Embedded JBoss bootstra= p and lib directories, except for the " +"jndi.properties file, into the Tomcat lib directory." +msgstr "" + +#. Tag: para +#: Configuration.xml:591 +#, no-c-format +msgid "" +"Remove the annotations-api.jar file from the Tomcat " +"lib directory." +msgstr "" + +#. Tag: para +#: Configuration.xml:597 +#, no-c-format +msgid "" +"Next, two configuration files need to be updated to add Embedded JBoss-" +"specific functionality." +msgstr "" + +#. Tag: para +#: Configuration.xml:603 +#, no-c-format +msgid "" +"Add the Embedded JBoss listener to conf/server.xml. It= " +"should appear after all other listeners in the file." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:606 +#, no-c-format +msgid "" +"<Listener className=3D\"org.jboss.embedded.tomcat." +"EmbeddedJBossBootstrapListener\" />" +msgstr "" + +#. Tag: para +#: Configuration.xml:610 +#, no-c-format +msgid "" +"WAR file scanning should be enabled by adding a listener to conf= /" +"context.xml." +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:613 +#, no-c-format +msgid "" +"<Listener className=3D\"org.jboss.embedded.tomcat.WebinfScanner\= ">" +msgstr "" + +#. Tag: para +#: Configuration.xml:617 +#, no-c-format +msgid "" +"For more configuration options, please see the Embedded JBoss Tomcat " +"integration wiki entry." +msgstr "" + +#. Tag: para +#: Configuration.xml:625 +#, no-c-format +msgid "" +"The archive structure of a WAR-based deployment on an servlet engine like= " +"Tomcat will look something like this:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:628 +#, no-c-format +msgid "" +"my-application.war/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" WEB-INF/\n" +" web.xml\n" +" components.xml\n" +" faces-config.xml\n" +" lib/\n" +" jboss-seam.jar\n" +" jboss-seam-ui.jar\n" +" jboss-el.jar\n" +" jsf-facelets.jar\n" +" jsf-api.jar\n" +" jsf-impl.jar\n" +" ...\n" +" my-application.jar/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" persistence.xml\n" +" seam.properties\n" +" org/\n" +" jboss/\n" +" myapplication/\n" +" User.class\n" +" Login.class\n" +" LoginBean.class\n" +" Register.class\n" +" RegisterBean.class\n" +" ...\n" +" login.jsp\n" +" register.jsp\n" +" ..." +msgstr "" + +#. Tag: para +#: Configuration.xml:630 +#, no-c-format +msgid "" +"Most of the Seam example applications may be deployed to Tomcat by runnin= g " +"ant deploy.tomcat." +msgstr "" + +#. Tag: title +#: Configuration.xml:638 +#, no-c-format +msgid "Configuring jBPM in Seam" +msgstr "" + +#. Tag: para +#: Configuration.xml:639 +#, no-c-format +msgid "" +"Seam's jBPM integration is not installed by default, so you'll need to " +"enable jBPM by installing a built-in component. You'll also need to " +"explicitly list your process and pageflow definitions. In " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:643 +#, no-c-format +msgid "" +"<bpm:jbpm>\n" +" <bpm:pageflow-definitions>\n" +" <value>createDocument.jpdl.xml</value>\n" +" <value>editDocument.jpdl.xml</value>\n" +" <value>approveDocument.jpdl.xml</value>\n" +" </bpm:pageflow-definitions>\n" +" <bpm:process-definitions>\n" +" <value>documentLifecycle.jpdl.xml</value>\n" +" </bpm:process-definitions>\n" +"</bpm:jbpm>" +msgstr "" + +#. Tag: para +#: Configuration.xml:645 +#, no-c-format +msgid "" +"No further special configuration is needed if you only have pageflows. If= " +"you do have business process definitions, you need to provide a jBPM " +"configuration, and a Hibernate configuration for jBPM. The Seam DVD Store= " +"demo includes example jbpm.cfg.xml and hibern= ate." +"cfg.xml files that will work with Seam:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:650 +#, no-c-format +msgid "" +"<jbpm-configuration>\n" +"\n" +" <jbpm-context>\n" +" <service name=3D\"persistence\">\n" +" <factory>\n" +" <bean class=3D\"org.jbpm.persistence.db.DbPersistenceServiceFac= tory" +"\">\n" +" <field name=3D\"isTransactionEnabled\"><false/></field>\n" +" </bean>\n" +" </factory>\n" +" </service>\n" +" <service name=3D\"tx\" factory=3D\"org.jbpm.tx.TxServiceFactory\" />\= n" +" <service name=3D\"message\" factory=3D\"org.jbpm.msg.db." +"DbMessageServiceFactory\" />\n" +" <service name=3D\"scheduler\" factory=3D\"org.jbpm.scheduler.db." +"DbSchedulerServiceFactory\" />\n" +" <service name=3D\"logging\" factory=3D\"org.jbpm.logging.db." +"DbLoggingServiceFactory\" />\n" +" <service name=3D\"authentication\" \n" +" factory=3D\"org.jbpm.security.authentication." +"DefaultAuthenticationServiceFactory\" />\n" +" </jbpm-context>\n" +"\n" +"</jbpm-configuration>" +msgstr "" + +#. Tag: para +#: Configuration.xml:652 +#, no-c-format +msgid "" +"The most important thing to notice here is that jBPM transaction control = is " +"disabled. Seam or EJB3 should control the JTA transactions." +msgstr "" + +#. Tag: para +#: Configuration.xml:658 +#, no-c-format +msgid "" +"There is not yet any well-defined packaging format for jBPM configuration= " +"and process/pageflow definition files. In the Seam examples we've decided= to " +"simply package all these files into the root of the EAR. In future, we wi= ll " +"probably design some other standard packaging format. So the EAR looks " +"something like this:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:663 +#, no-c-format +msgid "" +"my-application.ear/\n" +" jboss-seam.jar\n" +" lib/\n" +" jboss-el.jar\n" +" jbpm-3.1.jar\n" +" META-INF/\n" +" MANIFEST.MF\n" +" application.xml\n" +" my-application.war/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" WEB-INF/\n" +" web.xml\n" +" components.xml\n" +" faces-config.xml\n" +" lib/\n" +" jsf-facelets.jar\n" +" jboss-seam-ui.jar\n" +" login.jsp\n" +" register.jsp\n" +" ...\n" +" my-application.jar/\n" +" META-INF/\n" +" MANIFEST.MF\n" +" persistence.xml\n" +" seam.properties\n" +" org/\n" +" jboss/\n" +" myapplication/\n" +" User.class\n" +" Login.class\n" +" LoginBean.class\n" +" Register.class\n" +" RegisterBean.class\n" +" ...\n" +" jbpm.cfg.xml\n" +" hibernate.cfg.xml\n" +" createDocument.jpdl.xml\n" +" editDocument.jpdl.xml\n" +" approveDocument.jpdl.xml\n" +" documentLifecycle.jpdl.xml" +msgstr "" + +#. Tag: title +#: Configuration.xml:670 +#, no-c-format +msgid "Configuring SFSB and Session Timeouts in JBoss AS" +msgstr "" + +#. Tag: para +#: Configuration.xml:672 +#, no-c-format +msgid "" +"It is very important that the timeout for Stateful Session Beans is set " +"higher than the timeout for HTTP Sessions, otherwise SFSB's may time out " +"before the user's HTTP session has ended. JBoss Application Server has a " +"default session bean timeout of 30 minutes, which is configured in " +"server/default/conf/standardjboss.xml (replace " +"default with your own configuration)." +msgstr "" + +#. Tag: para +#: Configuration.xml:678 +#, no-c-format +msgid "" +"The default SFSB timeout can be adjusted by modifying the value of " +"max-bean-life in the " +"LRUStatefulContextCachePolicy cache configuration:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:681 +#, no-c-format +msgid "" +"<container-cache-conf>\n" +" <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</ca= che-" +"policy>\n" +" <cache-policy-conf>\n" +" <min-capacity>50</min-capacity>\n" +" <max-capacity>1000000</max-capacity>\n" +" <remover-period>1800</remover-period>\n" +"\n" +" <!-- SFSB timeout in seconds; 1800 seconds =3D=3D 30 minutes -->\= n" +" <max-bean-life>1800</max-bean-life> \n" +"\n" +" <overager-period>300</overager-period>\n" +" <max-bean-age>600</max-bean-age>\n" +" <resizer-period>400</resizer-period>\n" +" <max-cache-miss-period>60</max-cache-miss-period>\n" +" <min-cache-miss-period>1</min-cache-miss-period>\n" +" <cache-load-factor>0.75</cache-load-factor>\n" +" </cache-policy-conf>\n" +"</container-cache-conf>" +msgstr "" + +#. Tag: para +#: Configuration.xml:683 +#, no-c-format +msgid "" +"The default HTTP session timeout can be modified in server/defau= lt/" +"deploy/jbossweb-tomcat55.sar/conf/web.xml for JBoss 4.0.x, or i= n " +"server/default/deploy/jboss-web.deployer/conf/web.xml = for " +"JBoss 4.2.x. The following entry in this file controls the default sessio= n " +"timeout for all web applications:" +msgstr "" + +#. Tag: programlisting +#: Configuration.xml:688 +#, no-c-format +msgid "" +"<session-config>\n" +" <!-- HTTP Session timeout, in minutes -->\n" +" <session-timeout>30</session-timeout>\n" +"</session-config>" +msgstr "" + +#. Tag: para +#: Configuration.xml:690 +#, no-c-format +msgid "" +"To override this value for your own application, simply include this entr= y " +"in your application's own web.xml." +msgstr "" + +#. Tag: title +#: Configuration.xml:696 +#, no-c-format +msgid "Running Seam in a Portlet" +msgstr "" + +#. Tag: para +#: Configuration.xml:698 +#, no-c-format +msgid "" +"If you want to run your Seam application in a portlet, take a look at the= " +"JBoss Portlet Bridge, an implementation of JSR-301 that supports JSF with= in " +"a portlet, with extensions for Seam and RichFaces. See http://labs.jboss.com/portletbridge " +"for more." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Controls.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Controls.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Controls.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,1441 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Controls.xml:5 +#, no-c-format +msgid "Seam JSF controls" +msgstr "" + +#. Tag: para +#: Controls.xml:6 +#, no-c-format +msgid "" +"Seam includes a number of JSF controls that are useful for working with " +"Seam. These are intended to complement the built-in JSF controls, and " +"controls from other third-party libraries. We recommend JBoss RichFaces, = and " +"Apache MyFaces Trinidad tag libraries for use with Seam. We do not recomm= end " +"the use of the Tomahawk tag library." +msgstr "" + +#. Tag: title +#: Controls.xml:15 +#, no-c-format +msgid "Tags" +msgstr "" + +#. Tag: para +#: Controls.xml:17 +#, no-c-format +msgid "" +"To use these tags, define the \"s\" namespace in your " +"page as follows (facelets only):" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:22 +#, no-c-format +msgid "" +"<html xmlns=3D\"http://www.w3.org/1999/xhtml\"\n" +" xmlns:s=3D\"http://jboss.com/products/seam/taglib\">" +msgstr "" + +#. Tag: para +#: Controls.xml:24 +#, no-c-format +msgid "The ui example demonstrates the use of a number of these tags." +msgstr "" + +#. Tag: title +#: Controls.xml:29 +#, no-c-format +msgid "Navigation Controls" +msgstr "" + +#. Tag: literal +#: Controls.xml:32 +#, no-c-format +msgid "<s:button>" +msgstr "" + +#. Tag: emphasis +#: Controls.xml:34 Controls.xml:105 Controls.xml:122 Controls.xml:138 +#: Controls.xml:206 Controls.xml:241 Controls.xml:275 Controls.xml:289 +#: Controls.xml:342 Controls.xml:358 Controls.xml:376 Controls.xml:400 +#: Controls.xml:432 Controls.xml:449 Controls.xml:467 Controls.xml:486 +#: Controls.xml:514 Controls.xml:537 Controls.xml:551 Controls.xml:591 +#: Controls.xml:619 Controls.xml:691 Controls.xml:730 Controls.xml:831 +#: Controls.xml:963 +#, no-c-format +msgid "Description" +msgstr "" + +#. Tag: para +#: Controls.xml:36 +#, no-c-format +msgid "" +"A button that supports invocation of an action with control over " +"conversation propagation. Does not submit the form." +msgstr "" + +#. Tag: emphasis +#: Controls.xml:41 Controls.xml:113 Controls.xml:128 Controls.xml:145 +#: Controls.xml:212 Controls.xml:259 Controls.xml:278 Controls.xml:301 +#: Controls.xml:348 Controls.xml:364 Controls.xml:382 Controls.xml:406 +#: Controls.xml:437 Controls.xml:454 Controls.xml:473 Controls.xml:493 +#: Controls.xml:519 Controls.xml:542 Controls.xml:558 Controls.xml:596 +#: Controls.xml:624 Controls.xml:698 Controls.xml:775 Controls.xml:842 +#: Controls.xml:968 +#, no-c-format +msgid "Attributes" +msgstr "" + +#. Tag: para +#: Controls.xml:45 Controls.xml:148 +#, no-c-format +msgid "value — the label." +msgstr "" + +#. Tag: para +#: Controls.xml:50 Controls.xml:153 +#, no-c-format +msgid "" +"action — a method binding that specified the act= ion " +"listener." +msgstr "" + +#. Tag: para +#: Controls.xml:57 Controls.xml:159 +#, no-c-format +msgid "view — the JSF view id to link to." +msgstr "" + +#. Tag: para +#: Controls.xml:62 Controls.xml:164 +#, no-c-format +msgid "fragment — the fragment identifier to link= to." +msgstr "" + +#. Tag: para +#: Controls.xml:68 Controls.xml:170 +#, no-c-format +msgid "disabled — is the link disabled?" +msgstr "" + +#. Tag: para +#: Controls.xml:73 Controls.xml:175 +#, no-c-format +msgid "" +"propagation — determines the conversation " +"propagation style: begin, join, " +"nest, none or end." +msgstr "" + +#. Tag: para +#: Controls.xml:81 +#, no-c-format +msgid "" +"pageflow — a pageflow definition to begin. (This= is " +"only useful when propagation=3D\"begin\" or " +"propagation=3D\"join\" is used)." +msgstr "" + +#. Tag: emphasis +#: Controls.xml:90 Controls.xml:192 Controls.xml:231 Controls.xml:263 +#: Controls.xml:281 Controls.xml:335 Controls.xml:351 Controls.xml:369 +#: Controls.xml:387 Controls.xml:424 Controls.xml:442 Controls.xml:459 +#: Controls.xml:478 Controls.xml:507 Controls.xml:524 Controls.xml:568 +#: Controls.xml:612 Controls.xml:679 Controls.xml:722 Controls.xml:823 +#: Controls.xml:956 Controls.xml:980 +#, no-c-format +msgid "Usage" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:92 +#, no-c-format +msgid "" +"<s:button id=3D\"cancel\" \n" +" value=3D\"Cancel\" \n" +" action=3D\"#{hotelBooking.cancel}\"/>" +msgstr "" + +#. Tag: para +#: Controls.xml:93 +#, no-c-format +msgid "" +"You can specify both view and action " +"on <s:link />. In this case, the action wil be " +"called once the redirect to the specified view has occured." +msgstr "" + +#. Tag: literal +#: Controls.xml:103 +#, no-c-format +msgid "<s:conversationId>" +msgstr "" + +#. Tag: para +#: Controls.xml:107 +#, no-c-format +msgid "" +"Add the conversation id to JSF link or button (e.g. <h:" +"commandLink /> , <s:button />)." +msgstr "" + +#. Tag: para +#: Controls.xml:115 +#, no-c-format +msgid "None" +msgstr "" + +#. Tag: literal +#: Controls.xml:120 +#, no-c-format +msgid "<s:taskId>" +msgstr "" + +#. Tag: para +#: Controls.xml:123 +#, no-c-format +msgid "" +"Add the task id to an output link (or similar JSF control), when the task= is " +"available via #{task}." +msgstr "" + +#. Tag: para +#: Controls.xml:129 Controls.xml:261 Controls.xml:279 Controls.xml:302 +#: Controls.xml:349 Controls.xml:365 Controls.xml:383 Controls.xml:438 +#: Controls.xml:455 Controls.xml:474 Controls.xml:520 Controls.xml:543 +#, no-c-format +msgid "None." +msgstr "" + +#. Tag: literal +#: Controls.xml:136 +#, no-c-format +msgid "<s:link>" +msgstr "" + +#. Tag: para +#: Controls.xml:139 +#, no-c-format +msgid "" +"A link that supports invocation of an action with control over conversati= on " +"propagation. Does not submit the form." +msgstr "" + +#. Tag: para +#: Controls.xml:183 Controls.xml:223 +#, no-c-format +msgid "" +"pageflow — a pageflow definition to begin. (This= is " +"only useful when using propagation=3D\"begin\" or " +"propagation=3D\"join\".)" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:193 +#, no-c-format +msgid "" +"<s:link id=3D\"register\" view=3D\"/register.xhtml\" \n" +" value=3D\"Register New User\"/>" +msgstr "" + +#. Tag: para +#: Controls.xml:194 +#, no-c-format +msgid "" +"You can specify both view and action " +"on <s:link />. In this case, the action will be " +"called once the redirect to the specified view has occured." +msgstr "" + +#. Tag: literal +#: Controls.xml:204 +#, no-c-format +msgid "<s:conversationPropagation>" +msgstr "" + +#. Tag: para +#: Controls.xml:207 +#, no-c-format +msgid "" +"Customize the conversation propagation for a command link or button (or " +"similar JSF control). Facelets only." +msgstr "" + +#. Tag: para +#: Controls.xml:215 +#, no-c-format +msgid "" +"type — determines the conversation propagation " +"style: begin, join, nest, none or end." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:232 +#, no-c-format +msgid "" +"<h:commandButton value=3D\"Apply\" action=3D\"#{personHome.updat= e}\">\n" +" <s:conversationPropagation type=3D\"join\" />\n" +"</h:commandButton>" +msgstr "" + +#. Tag: literal +#: Controls.xml:237 +#, no-c-format +msgid "<s:defaultAction>" +msgstr "" + +#. Tag: para +#: Controls.xml:243 +#, no-c-format +msgid "" +"Specify the default action to run when the form is submitted using the en= ter " +"key." +msgstr "" + +#. Tag: para +#: Controls.xml:247 +#, no-c-format +msgid "" +"Currently you can only nest it inside buttons (e.g. <h:" +"commandButton />, <a:commandButton /> " +"or <tr:commandButton />)." +msgstr "" + +#. Tag: para +#: Controls.xml:253 +#, no-c-format +msgid "" +"You must specify an id on the action source. You can only have one defaul= t " +"action per form." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:264 +#, no-c-format +msgid "" +"<h:commandButton id=3D\"foo\" value=3D\"Foo\" action=3D\"#{manag= er.foo}" +"\">\n" +" <s:defaultAction />\n" +"</h:commandButton>" +msgstr "" + +#. Tag: title +#: Controls.xml:270 +#, no-c-format +msgid "Converters and Validators" +msgstr "" + +#. Tag: literal +#: Controls.xml:273 +#, no-c-format +msgid "<s:convertDateTime>" +msgstr "" + +#. Tag: para +#: Controls.xml:276 +#, no-c-format +msgid "Perform date or time conversions in the Seam timezone." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:282 +#, no-c-format +msgid "" +"<h:outputText value=3D\"#{item.orderDate}\">\n" +" <s:convertDateTime type=3D\"both\" dateStyle=3D\"full\"/>\n" +"</h:outputText>" +msgstr "" + +#. Tag: literal +#: Controls.xml:287 +#, no-c-format +msgid "<s:convertEntity>" +msgstr "" + +#. Tag: para +#: Controls.xml:290 +#, no-c-format +msgid "" +"Assigns an entity converter to the current component. This is primarily " +"useful for radio button and dropdown controls." +msgstr "" + +#. Tag: para +#: Controls.xml:295 +#, no-c-format +msgid "" +"The converter works with any managed entity which has an @Id annotation - either simple or composite." +msgstr "" + +#. Tag: emphasis +#: Controls.xml:304 Controls.xml:746 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Controls.xml:306 +#, no-c-format +msgid "" +"You must use Seam managed transactions (see ) with <= s:" +"convertEntity />." +msgstr "" + +#. Tag: para +#: Controls.xml:312 +#, no-c-format +msgid "" +"If your Managed Persistence Context isn't called " +"entityManager, then you need to set it in components.x= ml:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:317 +#, no-c-format +msgid "" +"<component name=3D\"org.jboss.seam.ui.EntityConverter\">\n" +" <property name=3D\"entityManager\">#{em}</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Controls.xml:319 +#, no-c-format +msgid "" +"If you are using a Managed Hibernate Session then yo= u " +"need to set it in components.xml:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:323 +#, no-c-format +msgid "" +"<component name=3D\"org.jboss.seam.ui.EntityConverter\">\n" +" <property name=3D\"session\">#{hibernateSession}</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Controls.xml:325 +#, no-c-format +msgid "" +"If you want to use more than one entity manager with the entity converter= , " +"you can create a copy of the entity converter for each entity manager in " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:331 +#, no-c-format +msgid "" +"<component name=3D\"myEntityConverter\" class=3D\"org.jboss.seam= .ui." +"converter.EntityConverter\">\n" +" <property name=3D\"entityManager\">#{em}</property>\n" +"</component>" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:333 +#, no-c-format +msgid "" +"<h:selectOneMenu value=3D\"#{person.continent}\">\n" +" <s:selectItems value=3D\"#{continents.resultList}\" var=3D\"continent\= " \n" +" label=3D\"#{continent.name}\" />\n" +" <f:converter converterId=3D\"myEntityConverter\" />\n" +"</h:selectOneMenu>" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:336 +#, no-c-format +msgid "" +"<h:selectOneMenu value=3D\"#{person.continent}\" required=3D\"tr= ue\">\n" +" <s:selectItems value=3D\"#{continents.resultList}\" var=3D\"continent\= " \n" +" label=3D\"#{continent.name}\" \n" +" noSelectionLabel=3D\"Please Select...\"/>\n" +" <s:convertEntity />\n" +"</h:selectOneMenu>" +msgstr "" + +#. Tag: literal +#: Controls.xml:340 +#, no-c-format +msgid "<s:convertEnum>" +msgstr "" + +#. Tag: para +#: Controls.xml:343 +#, no-c-format +msgid "" +"Assigns an enum converter to the current component. This is primarily use= ful " +"for radio button and dropdown controls." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:352 +#, no-c-format +msgid "" +"<h:selectOneMenu value=3D\"#{person.honorific}\">\n" +" <s:selectItems value=3D\"#{honorifics}\" var=3D\"honorific\" \n" +" label=3D\"#{honorific.label}\"\n" +" noSelectionLabel=3D\"Please select\" />\n" +" <s:convertEnum />\n" +"</h:selectOneMenu>" +msgstr "" + +#. Tag: literal +#: Controls.xml:356 +#, no-c-format +msgid "<s:validate>" +msgstr "" + +#. Tag: para +#: Controls.xml:359 +#, no-c-format +msgid "" +"A non-visual control, validates a JSF input field against the bound prope= rty " +"using Hibernate Validator." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:370 +#, no-c-format +msgid "" +"<h:inputText id=3D\"userName\" required=3D\"true\" \n" +" value=3D\"#{customer.userName}\">\n" +" <s:validate />\n" +"</h:inputText>\n" +"<h:message for=3D\"userName\" styleClass=3D\"error\" />" +msgstr "" + +#. Tag: literal +#: Controls.xml:374 +#, no-c-format +msgid "<s:validateAll>" +msgstr "" + +#. Tag: para +#: Controls.xml:377 +#, no-c-format +msgid "" +"A non-visual control, validates all child JSF input fields against their " +"bound properties using Hibernate Validator." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:388 +#, no-c-format +msgid "" +"<s:validateAll>\n" +" <div class=3D\"entry\">\n" +" <h:outputLabel for=3D\"username\">Username:</h:outputLabel>\n" +" <h:inputText id=3D\"username\" value=3D\"#{user.username}\" \n" +" required=3D\"true\"/>\n" +" <h:message for=3D\"username\" styleClass=3D\"error\" />\n" +" </div>\n" +" <div class=3D\"entry\">\n" +" <h:outputLabel for=3D\"password\">Password:</h:outputLabel>\n" +" <h:inputSecret id=3D\"password\" value=3D\"#{user.password}\" \n" +" required=3D\"true\"/>\n" +" <h:message for=3D\"password\" styleClass=3D\"error\" />\n" +" </div>\n" +" <div class=3D\"entry\">\n" +" <h:outputLabel for=3D\"verify\">Verify Password:</h:outputLabel>\n" +" <h:inputSecret id=3D\"verify\" value=3D\"#{register.verify}\" \n" +" required=3D\"true\"/>\n" +" <h:message for=3D\"verify\" styleClass=3D\"error\" />\n" +" </div>\n" +"</s:validateAll>" +msgstr "" + +#. Tag: title +#: Controls.xml:395 +#, no-c-format +msgid "Formatting" +msgstr "" + +#. Tag: literal +#: Controls.xml:398 +#, no-c-format +msgid "<s:decorate>" +msgstr "" + +#. Tag: para +#: Controls.xml:401 +#, no-c-format +msgid "" +"\"Decorate\" a JSF input field when validation fails or when " +"required=3D\"true\" is set." +msgstr "" + +#. Tag: para +#: Controls.xml:409 +#, no-c-format +msgid "" +"template — the facelets template to use to decor= ate " +"the component" +msgstr "" + +#. Tag: para +#: Controls.xml:415 +#, no-c-format +msgid "" +"#{invalid} and #{required} are " +"available inside s:decorate; #{required} evaluates to true if you have set the input " +"component being decorated as required, and #{invalid} " +"evaluates to true if a validation error occurs." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:425 +#, no-c-format +msgid "" +"<s:decorate template=3D\"edit.xhtml\">\n" +" <ui:define name=3D\"label\">Country:</ui:define>\n" +" <h:inputText value=3D\"#{location.country}\" required=3D\"true\"/>\= n" +" </s:decorate>" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:426 +#, no-c-format +msgid "" +"<ui:composition xmlns=3D\"http://www.w3.org/1999/xhtml\"\n" +" xmlns:ui=3D\"http://java.sun.com/jsf/facelets\"\n" +" xmlns:h=3D\"http://java.sun.com/jsf/html\"\n" +" xmlns:f=3D\"http://java.sun.com/jsf/core\"\n" +" xmlns:s=3D\"http://jboss.com/products/seam/taglib\">\n" +" \n" +" <div> \n" +" \n" +" <s:label styleClass=3D\"#{invalid?'error':''}\">\n" +" <ui:insert name=3D\"label\"/>\n" +" <s:span styleClass=3D\"required\" rendered=3D\"#{required}\">*</= s:" +"span>\n" +" </s:label>\n" +" \n" +" <span class=3D\"#{invalid?'error':''}\">\n" +" <s:validateAll>\n" +" <ui:insert/>\n" +" </s:validateAll>\n" +" </span>\n" +" \n" +" <s:message styleClass=3D\"error\"/> \n" +" \n" +" </div> \n" +" \n" +"</ui:composition>" +msgstr "" + +#. Tag: literal +#: Controls.xml:430 +#, no-c-format +msgid "<s:div>" +msgstr "" + +#. Tag: para +#: Controls.xml:433 +#, no-c-format +msgid "Render a HTML <div>." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:443 +#, no-c-format +msgid "" +"<s:div rendered=3D\"#{selectedMember =3D=3D null}\">\n" +" Sorry, but this member does not exist.\n" +"</s:div>" +msgstr "" + +#. Tag: literal +#: Controls.xml:447 +#, no-c-format +msgid "<s:span>" +msgstr "" + +#. Tag: para +#: Controls.xml:450 +#, no-c-format +msgid "Render a HTML <span>." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:460 +#, no-c-format +msgid "" +"<s:span styleClass=3D\"required\" rendered=3D\"#{required}\">*</= s:" +"span>" +msgstr "" + +#. Tag: literal +#: Controls.xml:465 +#, no-c-format +msgid "<s:fragment>" +msgstr "" + +#. Tag: para +#: Controls.xml:468 +#, no-c-format +msgid "" +"A non-rendering component useful for enabling/disabling rendering of it's= " +"children." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:479 +#, no-c-format +msgid "" +"<s:fragment rendered=3D\"#{auction.highBidder ne null}\">\n" +" Current bid:\n" +"</s:fragment>" +msgstr "" + +#. Tag: literal +#: Controls.xml:484 +#, no-c-format +msgid "<s:label>" +msgstr "" + +#. Tag: para +#: Controls.xml:487 +#, no-c-format +msgid "" +"\"Decorate\" a JSF input field with the label. The label is placed inside= " +"the HTML <label> tag, and is associated with the= " +"nearest JSF input component. It is often used with <s:" +"decorate>." +msgstr "" + +#. Tag: para +#: Controls.xml:496 Controls.xml:812 +#, no-c-format +msgid "style — The control's style" +msgstr "" + +#. Tag: para +#: Controls.xml:501 Controls.xml:817 +#, no-c-format +msgid "styleClass — The control's style class" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:508 +#, no-c-format +msgid "" +"<s:label styleClass=3D\"label\">\n" +" Country:\n" +"</s:label>\n" +"<h:inputText value=3D\"#{location.country}\" required=3D\"true\"/>" +msgstr "" + +#. Tag: literal +#: Controls.xml:512 +#, no-c-format +msgid "<s:message>" +msgstr "" + +#. Tag: para +#: Controls.xml:515 +#, no-c-format +msgid "\"Decorate\" a JSF input field with the validation error message." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:525 +#, no-c-format +msgid "" +"<f:facet name=3D\"afterInvalidField\">\n" +" <s:span>\n" +" &#160;Error:&#160;\n" +" <s:message/>\n" +" </s:span>\n" +"</f:facet>" +msgstr "" + +#. Tag: title +#: Controls.xml:532 +#, no-c-format +msgid "Seam Text" +msgstr "" + +#. Tag: literal +#: Controls.xml:535 +#, no-c-format +msgid "<s:validateFormattedText>" +msgstr "" + +#. Tag: para +#: Controls.xml:538 +#, no-c-format +msgid "Checks that the submitted value is valid Seam Text" +msgstr "" + +#. Tag: literal +#: Controls.xml:549 +#, no-c-format +msgid "<s:formattedText>" +msgstr "" + +#. Tag: para +#: Controls.xml:552 +#, no-c-format +msgid "" +"Outputs Seam Text, a rich text markup useful for blo= gs, " +"wikis and other applications that might use rich text. See the Seam Text " +"chapter for full usage." +msgstr "" + +#. Tag: para +#: Controls.xml:561 +#, no-c-format +msgid "" +"value — an EL expression specifying the rich tex= t " +"markup to render." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:569 +#, no-c-format +msgid "<s:formattedText value=3D\"#{blog.text}\"/>" +msgstr "" + +#. Tag: emphasis +#: Controls.xml:571 +#, no-c-format +msgid "Example" +msgstr "" + +#. Tag: title +#: Controls.xml:586 +#, no-c-format +msgid "Dropdowns" +msgstr "" + +#. Tag: literal +#: Controls.xml:589 +#, no-c-format +msgid "<s:enumItem>" +msgstr "" + +#. Tag: para +#: Controls.xml:592 +#, no-c-format +msgid "Creates a SelectItem from an enum value." +msgstr "" + +#. Tag: para +#: Controls.xml:599 +#, no-c-format +msgid "" +"enumValue — the string representation of the enu= m " +"value." +msgstr "" + +#. Tag: para +#: Controls.xml:605 +#, no-c-format +msgid "" +"label — the label to be used when rendering the " +"SelectItem." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:613 +#, no-c-format +msgid "" +"<h:selectOneRadio id=3D\"radioList\"\n" +" layout=3D\"lineDirection\"\n" +" value=3D\"#{newPayment.paymentFrequency}\">\n" +" <s:convertEnum />\n" +" <s:enumItem enumValue=3D\"ONCE\" label=3D\"Only Once\" />\n" +" <s:enumItem enumValue=3D\"EVERY_MINUTE\" label=3D\"Every Minute\" />\n" +" <s:enumItem enumValue=3D\"HOURLY\" label=3D\"Every Hour\" />\n" +" <s:enumItem enumValue=3D\"DAILY\" label=3D\"Every Day\" />\n" +" <s:enumItem enumValue=3D\"WEEKLY\" label=3D\"Every Week\" />\n" +"</h:selectOneRadio>" +msgstr "" + +#. Tag: literal +#: Controls.xml:617 +#, no-c-format +msgid "<s:selectItems>" +msgstr "" + +#. Tag: para +#: Controls.xml:620 +#, no-c-format +msgid "" +"Creates a List<SelectItem> from a List, Set, " +"DataModel or Array." +msgstr "" + +#. Tag: para +#: Controls.xml:627 +#, no-c-format +msgid "" +"value — an EL expression specifying the data tha= t " +"backs the List<SelectItem>" +msgstr "" + +#. Tag: para +#: Controls.xml:634 +#, no-c-format +msgid "" +"var— defines the name of the local variable that= " +"holds the current object during iteration" +msgstr "" + +#. Tag: para +#: Controls.xml:640 +#, no-c-format +msgid "" +"label — the label to be used when rendering the " +"SelectItem. Can reference the var " +"variable." +msgstr "" + +#. Tag: para +#: Controls.xml:647 +#, no-c-format +msgid "" +"itemValue — Value to return to the server if thi= s " +"option is selected. Optional, by default the var objec= t " +"is used. Can reference the var variable." +msgstr "" + +#. Tag: para +#: Controls.xml:656 +#, no-c-format +msgid "" +"disabled — if true the SelectItem will be rendered disabled. Can reference the var " +"variable." +msgstr "" + +#. Tag: para +#: Controls.xml:664 +#, no-c-format +msgid "" +"noSelectionLabel — specifies the (optional) labe= l " +"to place at the top of list (if required=3D\"true\" is= also " +"specified then selecting this value will cause a validation error)." +msgstr "" + +#. Tag: para +#: Controls.xml:672 +#, no-c-format +msgid "" +"hideNoSelectionLabel — if true, the " +"noSelectionLabel will be hidden when a value is select= ed" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:680 +#, no-c-format +msgid "" +"<h:selectOneMenu value=3D\"#{person.age}\" \n" +" converter=3D\"ageConverter\">\n" +" <s:selectItems value=3D\"#{ages}\" var=3D\"age\" label=3D\"#{age}\" />\= n" +"</h:selectOneMenu>" +msgstr "" + +#. Tag: title +#: Controls.xml:686 +#, no-c-format +msgid "Other" +msgstr "" + +#. Tag: literal +#: Controls.xml:689 +#, no-c-format +msgid "<s:cache>" +msgstr "" + +#. Tag: para +#: Controls.xml:692 +#, no-c-format +msgid "" +"Cache the rendered page fragment using JBoss Cache. Note that &l= t;s:" +"cache> actually uses the instance of JBoss Cache managed by = the " +"built-in pojoCache component." +msgstr "" + +#. Tag: para +#: Controls.xml:701 +#, no-c-format +msgid "" +"key — the key to cache rendered content, often a= " +"value expression. For example, if we were caching a page fragment that " +"displays a document, we might use key=3D\"Document-#{document.id= }\"." +msgstr "" + +#. Tag: para +#: Controls.xml:709 +#, no-c-format +msgid "" +"enabled — a value expression that determines if = the " +"cache should be used." +msgstr "" + +#. Tag: para +#: Controls.xml:715 +#, no-c-format +msgid "" +"region — a JBoss Cache node to use (different no= des " +"can have different expiry policies)." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:723 +#, no-c-format +msgid "" +"<s:cache key=3D\"entry-#{blogEntry.id}\" region=3D\"pageFragment= s\">\n" +" <div class=3D\"blogEntry\">\n" +" <h3>#{blogEntry.title}</h3>\n" +" <div>\n" +" <s:formattedText value=3D\"#{blogEntry.body}\"/>\n" +" </div>\n" +" <p>\n" +" [Posted on&#160;\n" +" <h:outputText value=3D\"#{blogEntry.date}\">\n" +" <f:convertDateTime timezone=3D\"#{blog.timeZone}\" locale=3D\"#{b= log." +"locale}\" \n" +" type=3D\"both\"/>\n" +" </h:outputText>]\n" +" </p>\n" +" </div>\n" +"</s:cache>" +msgstr "" + +#. Tag: literal +#: Controls.xml:728 +#, no-c-format +msgid "<s:fileUpload>" +msgstr "" + +#. Tag: para +#: Controls.xml:731 +#, no-c-format +msgid "" +"Renders a file upload control. This control must be used within a form wi= th " +"an encoding type of multipart/form-data, i.e:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:737 +#, no-c-format +msgid "<h:form enctype=3D\"multipart/form-data\">" +msgstr "" + +#. Tag: para +#: Controls.xml:739 +#, no-c-format +msgid "" +"For multipart requests, the Seam Multipart servlet filter must also be " +"configured in web.xml:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:744 +#, no-c-format +msgid "" +"<filter>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>\n" +"</filter>\n" +"\n" +"<filter-mapping>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <url-pattern>/*</url-pattern>\n" +"</filter-mapping>" +msgstr "" + +#. Tag: para +#: Controls.xml:748 +#, no-c-format +msgid "" +"The following configuration options for multipart requests may be configu= red " +"in components.xml:" +msgstr "" + +#. Tag: para +#: Controls.xml:755 +#, no-c-format +msgid "" +"createTempFiles — if this option is set to true,= " +"uploaded files are streamed to a temporary file instead of in memory." +msgstr "" + +#. Tag: para +#: Controls.xml:762 +#, no-c-format +msgid "" +"maxRequestSize — the maximum size of a file uplo= ad " +"request, in bytes." +msgstr "" + +#. Tag: para +#: Controls.xml:769 +#, no-c-format +msgid "Here's an example:" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:773 +#, no-c-format +msgid "" +"<component class=3D\"org.jboss.seam.web.MultipartFilter\">\n" +" <property name=3D\"createTempFiles\">true</property>\n" +" <property name=3D\"maxRequestSize\">1000000</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Controls.xml:778 +#, no-c-format +msgid "" +"data — this value binding receives the binary fi= le " +"data. The receiving field should be declared as a byte[] " +"or InputStream (required)." +msgstr "" + +#. Tag: para +#: Controls.xml:786 +#, no-c-format +msgid "" +"contentType — this value binding receives the " +"file's content type (optional)." +msgstr "" + +#. Tag: para +#: Controls.xml:792 +#, no-c-format +msgid "" +"fileName — this value binding receives the filen= ame " +"(optional)." +msgstr "" + +#. Tag: para +#: Controls.xml:798 +#, no-c-format +msgid "" +"fileSize — this value binding receives the file " +"size (optional)." +msgstr "" + +#. Tag: para +#: Controls.xml:804 +#, no-c-format +msgid "" +"accept — a comma-separated list of content types= to " +"accept, may not be supported by the browser. E.g. \"images/png," +"images/jpg\", \"images/*\"." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:824 +#, no-c-format +msgid "" +"<s:fileUpload id=3D\"picture\" data=3D\"#{register.picture}\" \n" +" accept=3D\"image/png\"\n" +" contentType=3D\"#{register.pictureContentType}\" />" +msgstr "" + +#. Tag: literal +#: Controls.xml:829 +#, no-c-format +msgid "<s:graphicImage>" +msgstr "" + +#. Tag: para +#: Controls.xml:832 +#, no-c-format +msgid "" +"An extended <h:graphicImage> that allows the ima= ge " +"to be created in a Seam Component; further transforms can be applied to t= he " +"image." +msgstr "" + +#. Tag: para +#: Controls.xml:837 +#, no-c-format +msgid "" +"All attributes for <h:graphicImage> are supporte= d, " +"as well as:" +msgstr "" + +#. Tag: para +#: Controls.xml:845 +#, no-c-format +msgid "" +"value — image to display. Can be a path " +"String (loaded from the classpath), a byte[]<= /" +"literal>, a java.io.File, a java.io.InputStre= am or a java.net.URL. Currently supported image " +"formats are image/png, image/jpeg a= nd " +"image/gif." +msgstr "" + +#. Tag: para +#: Controls.xml:858 +#, no-c-format +msgid "" +"fileName — if not specified the served image wil= l " +"have a generated file name. If you want to name your file, you should " +"specify it here. This name should be unique" +msgstr "" + +#. Tag: emphasis +#: Controls.xml:867 +#, no-c-format +msgid "Transformations" +msgstr "" + +#. Tag: para +#: Controls.xml:868 +#, no-c-format +msgid "" +"To apply a transform to the image, you would nest a tag specifying the " +"transform to apply. Seam currently supports these transforms:" +msgstr "" + +#. Tag: literal +#: Controls.xml:876 +#, no-c-format +msgid "<s:transformImageSize>" +msgstr "" + +#. Tag: para +#: Controls.xml:881 +#, no-c-format +msgid "width — new width of the image" +msgstr "" + +#. Tag: para +#: Controls.xml:887 +#, no-c-format +msgid "height — new height of the image" +msgstr "" + +#. Tag: para +#: Controls.xml:893 +#, no-c-format +msgid "" +"maintainRatio — if true, and " +"one of width/height are specified, the image will be resized with the dimension not " +"specified being calculated to maintain the aspect ratio." +msgstr "" + +#. Tag: para +#: Controls.xml:904 +#, no-c-format +msgid "factor — scale the image by the given fact= or" +msgstr "" + +#. Tag: literal +#: Controls.xml:914 +#, no-c-format +msgid "<s:transformImageBlur>" +msgstr "" + +#. Tag: para +#: Controls.xml:919 +#, no-c-format +msgid "" +"radius — perform a convolution blur with the giv= en " +"radius" +msgstr "" + +#. Tag: literal +#: Controls.xml:929 +#, no-c-format +msgid "<s:transformImageType>" +msgstr "" + +#. Tag: para +#: Controls.xml:934 +#, no-c-format +msgid "" +"contentType — alter the type of the image to eit= her " +"image/jpeg or image/png" +msgstr "" + +#. Tag: para +#: Controls.xml:946 +#, no-c-format +msgid "" +"It's easy to create your own transform - create a UIComponent which implements org.jboss.seam.ui.graphicImage." +"ImageTransform. Inside the applyTransform()method use image.getBufferedImage() to get the= " +"original image and image.setBufferedImage() to set you= r " +"transformed image. Transforms are applied in the order specified in the v= iew." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:957 +#, no-c-format +msgid "" +"<s:graphicImage rendered=3D\"#{auction.image ne null}\"\n" +" value=3D\"#{auction.image.data}\">\n" +" <s:transformImageSize width=3D\"200\" maintainRatio=3D\"true\"/>\n" +"</s:graphicImage>" +msgstr "" + +#. Tag: literal +#: Controls.xml:961 +#, no-c-format +msgid "<s:remote>" +msgstr "" + +#. Tag: para +#: Controls.xml:964 +#, no-c-format +msgid "Generates the Javascript stubs required to use Seam Remoting." +msgstr "" + +#. Tag: para +#: Controls.xml:971 +#, no-c-format +msgid "" +"include — a comma-separated list of the componen= t " +"names (or fully qualified class names)for which to generate Seam Remoting= " +"Javascript stubs. See for more details." +msgstr "" + +#. Tag: programlisting +#: Controls.xml:981 +#, no-c-format +msgid "" +"<s:remote include=3D\"customerAction,accountAction,com.acme.MyBe= an\"/" +">" +msgstr "" + +#. Tag: title +#: Controls.xml:988 +#, no-c-format +msgid "Annotations" +msgstr "" + +#. Tag: para +#: Controls.xml:990 +#, no-c-format +msgid "" +"Seam also provides annotations to allow you to use Seam components as JSF= " +"converters and validators:" +msgstr "" + +#. Tag: literal +#: Controls.xml:998 +#, no-c-format +msgid "@Converter" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:1001 +#, no-c-format +msgid "" +"@Name(\"itemConverter\") \n" +" @BypassInterceptors \n" +" @Converter\n" +" public class ItemConverter implements Converter {\n" +" \n" +" @Transactional\n" +" public Object getAsObject(FacesContext context, UIComponent cmp, Str= ing " +"value) {\n" +" EntityManager entityManager =3D (EntityManager) Component.getInsta= nce" +"(\"entityManager\");\n" +" entityManager.joinTransaction();\n" +" // Do the conversion\n" +" }\n" +" \n" +" public String getAsString(FacesContext context, UIComponent cmp, Obj= ect " +"value) {\n" +" // Do the conversion\n" +" }\n" +" \n" +" }" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:1003 +#, no-c-format +msgid "" +"<h:inputText value=3D\"#{shop.item}\" converter=3D\"itemConverte= r\" />]]" +">" +msgstr "" + +#. Tag: para +#: Controls.xml:1005 +#, no-c-format +msgid "" +"Registers the Seam component as a JSF converter. Shown here is a converte= r " +"which is able to access the JPA EntityManager inside a JTA transaction, w= hen " +"converting the value back to it's object representation." +msgstr "" + +#. Tag: literal +#: Controls.xml:1015 +#, no-c-format +msgid "@Validator" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:1018 +#, no-c-format +msgid "" +"<![CDATA[@Name(\"itemValidator\") \n" +" @BypassInterceptors \n" +" @Validator\n" +" public class ItemValidator implements Validator {\n" +" \n" +" public void validate(FacesContext context, UIComponent cmp, Object " +"value)\n" +" throws ValidatorException {\n" +" ItemController ItemController =3D (ItemController) Component.getIn= stance" +"(\"itemController\");\n" +" return itemController.validate(value);\n" +" }\n" +" \n" +" }" +msgstr "" + +#. Tag: programlisting +#: Controls.xml:1020 +#, no-c-format +msgid "" +"<h:inputText value=3D\"#{shop.item}\" validator=3D\"itemValidato= r\" />]]" +">" +msgstr "" + +#. Tag: para +#: Controls.xml:1021 +#, no-c-format +msgid "" +"Registers the Seam component as a JSF validator. Shown here is a validato= r " +"which injects another Seam component; the injected component is used to " +"validate the value." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Conversations.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Conversations.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Conversations.po 2008-= 04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,1663 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Conversations.xml:6 +#, no-c-format +msgid "Conversations and workspace management" +msgstr "" + +#. Tag: para +#: Conversations.xml:8 +#, no-c-format +msgid "It's time to understand Seam's conversation model in more detail." +msgstr "" + +#. Tag: para +#: Conversations.xml:12 +#, no-c-format +msgid "" +"Historically, the notion of a Seam \"conversation\" came about as a merge= r " +"of three different ideas:" +msgstr "" + +#. Tag: para +#: Conversations.xml:19 +#, no-c-format +msgid "" +"The idea of a <emphasis>workspace</emphasis>, which I encountered in a " +"project for the Victorian government in 2002. In this project I was force= d " +"to implement workspace management on top of Struts, an experience I pray " +"never to repeat." +msgstr "" + +#. Tag: para +#: Conversations.xml:28 +#, no-c-format +msgid "" +"The idea of an <emphasis>application transaction</emphasis> with optimist= ic " +"semantics, and the realization that existing frameworks based around a " +"stateless architecture could not provide effective management of extended= " +"persistence contexts. (The Hibernate team is truly fed up with copping th= e " +"blame for <literal>LazyInitializationException</literal>s, which are not " +"really Hibernate's fault, but rather the fault of the extremely limiting " +"persistence context model supported by stateless architectures such as th= e " +"Spring framework or the traditional <emphasis>stateless session facade</" +"emphasis> (anti)pattern in J2EE.)" +msgstr "" + +#. Tag: para +#: Conversations.xml:43 +#, no-c-format +msgid "The idea of a workflow <emphasis>task</emphasis>." +msgstr "" + +#. Tag: para +#: Conversations.xml:49 +#, no-c-format +msgid "" +"By unifying these ideas and providing deep support in the framework, we h= ave " +"a powerful construct that lets us build richer and more efficient " +"applications with less code than before." +msgstr "" + +#. Tag: title +#: Conversations.xml:56 +#, no-c-format +msgid "Seam's conversation model" +msgstr "" + +#. Tag: para +#: Conversations.xml:58 +#, no-c-format +msgid "" +"The examples we have seen so far make use of a very simple conversation " +"model that follows these rules:" +msgstr "" + +#. Tag: para +#: Conversations.xml:65 +#, no-c-format +msgid "" +"There is always a conversation context active during the apply request " +"values, process validations, update model values, invoke application and " +"render response phases of the JSF request lifecycle." +msgstr "" + +#. Tag: para +#: Conversations.xml:73 +#, no-c-format +msgid "" +"At the end of the restore view phase of the JSF request lifecycle, Seam " +"attempts to restore any previous long-running conversation context. If no= ne " +"exists, Seam creates a new temporary conversation context." +msgstr "" + +#. Tag: para +#: Conversations.xml:81 +#, no-c-format +msgid "" +"When an <literal>@Begin</literal> method is encountered, the temporary " +"conversation context is promoted to a long running conversation." +msgstr "" + +#. Tag: para +#: Conversations.xml:88 +#, no-c-format +msgid "" +"When an <literal>@End</literal> method is encountered, any long-running " +"conversation context is demoted to a temporary conversation." +msgstr "" + +#. Tag: para +#: Conversations.xml:95 +#, no-c-format +msgid "" +"At the end of the render response phase of the JSF request lifecycle, Sea= m " +"stores the contents of a long running conversation context or destroys th= e " +"contents of a temporary conversation context." +msgstr "" + +#. Tag: para +#: Conversations.xml:103 +#, no-c-format +msgid "" +"Any faces request (a JSF postback) will propagate the conversation contex= t. " +"By default, non-faces requests (GET requests, for example) do not propaga= te " +"the conversation context, but see below for more information on this." +msgstr "" + +#. Tag: para +#: Conversations.xml:111 +#, no-c-format +msgid "" +"If the JSF request lifecycle is foreshortened by a redirect, Seam " +"transparently stores and restores the current conversation context&#8212;" +"unless the conversation was already ended via <literal>@End" +"(beforeRedirect=3Dtrue)</literal>." +msgstr "" + +#. Tag: para +#: Conversations.xml:120 +#, no-c-format +msgid "" +"Seam transparently propagates the conversation context (including the " +"temporary conversation context) across JSF postbacks and redirects. If yo= u " +"don't do anything special, a <emphasis>non-faces request</emphasis> (a GE= T " +"request for example) will not propagate the conversation context and will= be " +"processed in a new temporary conversation. This is usually - but not alwa= ys " +"- the desired behavior." +msgstr "" + +#. Tag: para +#: Conversations.xml:129 +#, no-c-format +msgid "" +"If you want to propagate a Seam conversation across a non-faces request, = you " +"need to explicitly code the Seam <emphasis>conversation id</emphasis> as = a " +"request parameter:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:135 +#, no-c-format +msgid "" +"<![CDATA[<a href=3D\"main.jsf?conversationId=3D#{conversation.id}\">Conti= nue</" +"a>" +msgstr "" + +#. Tag: para +#: Conversations.xml:137 +#, no-c-format +msgid "Or, the more JSF-ish:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:141 +#, no-c-format +msgid "" +"<h:outputLink value=3D\"main.jsf\">\n" +" <f:param name=3D\"conversationId\" value=3D\"#{conversation.id}\"/>\n" +" <h:outputText value=3D\"Continue\"/>\n" +"</h:outputLink>" +msgstr "" + +#. Tag: para +#: Conversations.xml:143 Conversations.xml:156 +#, no-c-format +msgid "If you use the Seam tag library, this is equivalent:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:147 +#, no-c-format +msgid "" +"<h:outputLink value=3D\"main.jsf\">\n" +" <s:conversationId/>\n" +" <h:outputText value=3D\"Continue\"/>\n" +"</h:outputLink>" +msgstr "" + +#. Tag: para +#: Conversations.xml:149 +#, no-c-format +msgid "" +"If you wish to disable propagation of the conversation context for a " +"postback, a similar trick is used:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:154 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Exit\">\n" +" <f:param name=3D\"conversationPropagation\" value=3D\"none\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:160 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Exit\">\n" +" <s:conversationPropagation type=3D\"none\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: para +#: Conversations.xml:162 +#, no-c-format +msgid "" +"Note that disabling conversation context propagation is absolutely not th= e " +"same thing as ending the conversation." +msgstr "" + +#. Tag: para +#: Conversations.xml:167 +#, no-c-format +msgid "" +"The conversationPropagation request parameter, or the " +"<s:conversationPropagation> tag may even be used= to " +"begin and end conversation, or begin a nested conversation." +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:174 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Exit\">\n" +" <s:conversationPropagation type=3D\"end\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:176 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Select Child\">\n" +" <s:conversationPropagation type=3D\"nested\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:178 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Select Hotel\">\n" +" <s:conversationPropagation type=3D\"begin\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:180 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"main\" value=3D\"Select Hotel\">\n" +" <s:conversationPropagation type=3D\"join\"/>\n" +"</h:commandLink>" +msgstr "" + +#. Tag: para +#: Conversations.xml:182 +#, no-c-format +msgid "" +"This conversation model makes it easy to build applications which behave " +"correctly with respect to multi-window operation. For many applications, " +"this is all that is needed. Some complex applications have either or both= of " +"the following additional requirements:" +msgstr "" + +#. Tag: para +#: Conversations.xml:191 +#, no-c-format +msgid "" +"A conversation spans many smaller units of user interaction, which execut= e " +"serially or even concurrently. The smaller nested conversations= have their own isolated set of conversation state, and also hav= e " +"access to the state of the outer conversation." +msgstr "" + +#. Tag: para +#: Conversations.xml:200 +#, no-c-format +msgid "" +"The user is able to switch between many conversations within the same " +"browser window. This feature is called workspace management." +msgstr "" + +#. Tag: title +#: Conversations.xml:211 +#, no-c-format +msgid "Nested conversations" +msgstr "" + +#. Tag: para +#: Conversations.xml:213 +#, no-c-format +msgid "" +"A nested conversation is created by invoking a method marked @Be= gin" +"(nested=3Dtrue) inside the scope of an existing conversation. A= " +"nested conversation has its own conversation context, and also has read-o= nly " +"access to the context of the outer conversation. (It can read the outer " +"conversation's context variables, but not write to them.) When an " +"@End is subsequently encountered, the nested conversat= ion " +"will be destroyed, and the outer conversation will resume, by \"popping\"= " +"the conversation stack. Conversations may be nested to any arbitrary dept= h." +msgstr "" + +#. Tag: para +#: Conversations.xml:226 +#, no-c-format +msgid "" +"Certain user activity (workspace management, or the back button) can caus= e " +"the outer conversation to be resumed before the inner conversation is end= ed. " +"In this case it is possible to have multiple concurrent nested conversati= ons " +"belonging to the same outer conversation. If the outer conversation ends " +"before a nested conversation ends, Seam destroys all nested conversation " +"contexts along with the outer context." +msgstr "" + +#. Tag: para +#: Conversations.xml:236 +#, no-c-format +msgid "" +"A conversation may be thought of as a continuable state. Nested conversations allow the application to capture a " +"consistent continuable state at various points in a user interaction, thu= s " +"insuring truly correct behavior in the face of backbuttoning and workspac= e " +"management." +msgstr "" + +#. Tag: para +#: Conversations.xml:244 +#, no-c-format +msgid "" +"TODO: an example to show how a nested conversation prevents bad stuff " +"happening when you backbutton." +msgstr "" + +#. Tag: para +#: Conversations.xml:249 +#, no-c-format +msgid "" +"Usually, if a component exists in a parent conversation of the current " +"nested conversation, the nested conversation will use the same instance. " +"Occasionally, it is useful to have a different instance in each nested " +"conversation, so that the component instance that exists in the parent " +"conversation is invisible to its child conversations. You can achieve thi= s " +"behavior by annotating the component @PerNestedConversation." +msgstr "" + +#. Tag: title +#: Conversations.xml:262 +#, no-c-format +msgid "Starting conversations with GET requests" +msgstr "" + +#. Tag: para +#: Conversations.xml:263 +#, no-c-format +msgid "" +"JSF does not define any kind of action listener that is triggered when a " +"page is accessed via a non-faces request (for example, a HTTP GET request= ). " +"This can occur if the user bookmarks the page, or if we navigate to the p= age " +"via an <h:outputLink>." +msgstr "" + +#. Tag: para +#: Conversations.xml:270 +#, no-c-format +msgid "" +"Sometimes we want to begin a conversation immediately the page is accesse= d. " +"Since there is no JSF action method, we can't solve the problem in the us= ual " +"way, by annotating the action with @Begin." +msgstr "" + +#. Tag: para +#: Conversations.xml:276 +#, no-c-format +msgid "" +"A further problem arises if the page needs some state to be fetched into = a " +"context variable. We've already seen two ways to solve this problem. If t= hat " +"state is held in a Seam component, we can fetch the state in a " +"@Create method. If not, we can define a " +"@Factory method for the context variable." +msgstr "" + +#. Tag: para +#: Conversations.xml:284 +#, no-c-format +msgid "" +"If none of these options works for you, Seam lets you define a " +"page action in the pages.xml file= ." +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:290 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/messageList.jsp\" action=3D\"#{messageManager.list= }\"/>\n" +" ...\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Conversations.xml:292 +#, no-c-format +msgid "" +"This action method is called at the beginning of the render response phas= e, " +"any time the page is about to be rendered. If a page action returns a non= -" +"null outcome, Seam will process any appropriate JSF and Seam navigation " +"rules, possibly resulting in a completely different page being rendered." +msgstr "" + +#. Tag: para +#: Conversations.xml:300 +#, no-c-format +msgid "" +"If all you want to do before rendering the page is " +"begin a conversation, you could use a built-in action method that does ju= st " +"that:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:306 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/messageList.jsp\" action=3D\"#{conversation.begin}= \"/>\n" +" ...\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Conversations.xml:308 +#, no-c-format +msgid "" +"Note that you can also call this built-in action from a JSF control, and,= " +"similarly, you can use #{conversation.end} to end " +"conversations." +msgstr "" + +#. Tag: para +#: Conversations.xml:314 +#, no-c-format +msgid "" +"If you want more control, to join existing conversations or begin a neste= d " +"conversion, to begin a pageflow or an atomic conversation, you should use= " +"the <begin-conversation> element." +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:321 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/messageList.jsp\">\n" +" <begin-conversation nested=3D\"true\" pageflow=3D\"AddItem\"/>\n" +" <page>\n" +" ...\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Conversations.xml:323 +#, no-c-format +msgid "There is also an <end-conversation> elemen= t." +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:328 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/home.jsp\">\n" +" <end-conversation/>\n" +" <page>\n" +" ...\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Conversations.xml:330 +#, no-c-format +msgid "To solve the first problem, we now have five options:" +msgstr "" + +#. Tag: para +#: Conversations.xml:336 +#, no-c-format +msgid "" +"Annotate the @Create method with @Begin" +msgstr "" + +#. Tag: para +#: Conversations.xml:342 +#, no-c-format +msgid "" +"Annotate the @Factory method with @Begin" +msgstr "" + +#. Tag: para +#: Conversations.xml:348 +#, no-c-format +msgid "Annotate the Seam page action method with @Begin" +msgstr "" + +#. Tag: para +#: Conversations.xml:354 +#, no-c-format +msgid "" +"Use <begin-conversation> in pages.xml." +msgstr "" + +#. Tag: para +#: Conversations.xml:360 +#, no-c-format +msgid "" +"Use #{conversation.begin} as the Seam page action meth= od" +msgstr "" + +#. Tag: title +#: Conversations.xml:370 +#, no-c-format +msgid "" +"Using <s:link> and <s:button>" +msgstr "" + +#. Tag: para +#: Conversations.xml:372 +#, no-c-format +msgid "" +"JSF command links always perform a form submission via JavaScript, which " +"breaks the web browser's \"open in new window\" or \"open in new tab\" " +"feature. In plain JSF, you need to use an <h:outputLink> if you need this functionality. But there are two major limitati= ons " +"to <h:outputLink>." +msgstr "" + +#. Tag: para +#: Conversations.xml:382 +#, no-c-format +msgid "" +"JSF provides no way to attach an action listener to an <h:" +"outputLink>." +msgstr "" + +#. Tag: para +#: Conversations.xml:388 +#, no-c-format +msgid "" +"JSF does not propagate the selected row of a DataModel= " +"since there is no actual form submission." +msgstr "" + +#. Tag: para +#: Conversations.xml:395 +#, no-c-format +msgid "" +"Seam provides the notion of a page action to help so= lve " +"the first problem, but this does nothing to help us with the second probl= em. " +"We could work around this by using the RESTful appro= ach " +"of passing a request parameter and requerying for the selected object on = the " +"server side. In some cases—such as the Seam blog example " +"application—this is indeed the best approach. The RESTful style " +"supports bookmarking, since it does not require server-side state. In oth= er " +"cases, where we don't care about bookmarks, the use of @DataMode= l and @DataModelSelection is just so convenient= " +"and transparent!" +msgstr "" + +#. Tag: para +#: Conversations.xml:408 +#, no-c-format +msgid "" +"To fill in this missing functionality, and to make conversation propagati= on " +"even simpler to manage, Seam provides the <s:link> " +"JSF tag." +msgstr "" + +#. Tag: para +#: Conversations.xml:414 +#, no-c-format +msgid "The link may specify just the JSF view id:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:418 +#, no-c-format +msgid "<s:link view=3D\"/login.xhtml\" value=3D\"Login\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:420 +#, no-c-format +msgid "" +"Or, it may specify an action method (in which case the action outcome " +"determines the page that results):" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:425 +#, no-c-format +msgid "<s:link action=3D\"#{login.logout}\" value=3D\"Logout\"/>]= ]>" +msgstr "" + +#. Tag: para +#: Conversations.xml:427 +#, no-c-format +msgid "" +"If you specify <emphasis>both</emphasis> a JSF view id and an action meth= od, " +"the 'view' will be used <emphasis>unless</emphasis> the action method " +"returns a non-null outcome:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:433 +#, no-c-format +msgid "" +"<![CDATA[<s:link view=3D\"/loggedOut.xhtml\" action=3D\"#{login.logout}\= " value=3D" +"\"Logout\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:435 +#, no-c-format +msgid "" +"The link automatically propagates the selected row of a DataMode= l using inside <h:dataTable>:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:440 +#, no-c-format +msgid "" +"<s:link view=3D\"/hotel.xhtml\" action=3D\"#{hotelSearch.selectH= otel}\" " +"value=3D\"#{hotel.name}\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:442 +#, no-c-format +msgid "You can leave the scope of an existing conversation:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:446 +#, no-c-format +msgid "<s:link view=3D\"/main.xhtml\" propagation=3D\"none\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:448 +#, no-c-format +msgid "You can begin, end, or nest conversations:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:452 +#, no-c-format +msgid "" +"<s:link action=3D\"#{issueEditor.viewComment}\" propagation=3D\"= nest\"/" +">" +msgstr "" + +#. Tag: para +#: Conversations.xml:454 +#, no-c-format +msgid "" +"If the link begins a conversation, you can even specify a pageflow to be " +"used:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:458 +#, no-c-format +msgid "" +"<s:link action=3D\"#{documentEditor.getDocument}\" propagation= =3D\"begin" +"\"\n" +" pageflow=3D\"EditDocument\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:460 +#, no-c-format +msgid "" +"The taskInstance attribute if for use in jBPM task lis= ts:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:464 +#, no-c-format +msgid "" +"<s:link action=3D\"#{documentApproval.approveOrReject}\" taskIns= tance=3D" +"\"#{task}\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:466 +#, no-c-format +msgid "(See the DVD Store demo application for examples of this.)" +msgstr "" + +#. Tag: para +#: Conversations.xml:470 +#, no-c-format +msgid "" +"Finally, if you need the \"link\" to be rendered as a button, use " +"<s:button>:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:474 +#, no-c-format +msgid "<s:button action=3D\"#{login.logout}\" value=3D\"Logout\"/= >" +msgstr "" + +#. Tag: title +#: Conversations.xml:479 +#, no-c-format +msgid "Success messages" +msgstr "" + +#. Tag: para +#: Conversations.xml:480 +#, no-c-format +msgid "" +"It is quite common to display a message to the user indicating success or= " +"failure of an action. It is convenient to use a JSF FacesMessage= for this. Unfortunately, a successful action often requires a " +"browser redirect, and JSF does not propagate faces messages across " +"redirects. This makes it quite difficult to display success messages in " +"plain JSF." +msgstr "" + +#. Tag: para +#: Conversations.xml:489 +#, no-c-format +msgid "" +"The built in conversation-scoped Seam component named " +"facesMessages solves this problem. (You must have the " +"Seam redirect filter installed.)" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:495 +#, no-c-format +msgid "" +"@Name(\"editDocumentAction\")\n" +"@Stateless\n" +"public class EditDocumentBean implements EditDocument {\n" +" @In EntityManager em;\n" +" @In Document document;\n" +" @In FacesMessages facesMessages;\n" +" \n" +" public String update() {\n" +" em.merge(document);\n" +" facesMessages.add(\"Document updated\");\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Conversations.xml:497 +#, no-c-format +msgid "" +"Any message added to facesMessages is used in the very= " +"next render response phase for the current conversation. This even works " +"when there is no long-running conversation since Seam preserves even " +"temporary conversation contexts across redirects." +msgstr "" + +#. Tag: para +#: Conversations.xml:505 +#, no-c-format +msgid "You can even include JSF EL expressions in a faces message summary:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:509 +#, no-c-format +msgid "" +"facesMessages.add(\"Document #{document.title} was updated\");]]= >" +msgstr "" + +#. Tag: para +#: Conversations.xml:511 +#, no-c-format +msgid "You may display the messages in the usual way, for example:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:515 +#, no-c-format +msgid "<![CDATA[<h:messages globalOnly=3D\"true\"/>" +msgstr "" + +#. Tag: title +#: Conversations.xml:520 +#, no-c-format +msgid "Natural conversation ids" +msgstr "" + +#. Tag: para +#: Conversations.xml:521 +#, no-c-format +msgid "" +"When working with conversations that deal with persistent objects, it may= be " +"desirable to use the natural business key of the object instead of the " +"standard, \"surrogate\" conversation id:" +msgstr "" + +#. Tag: emphasis +#: Conversations.xml:528 +#, no-c-format +msgid "Easy redirect to existing conversation" +msgstr "" + +#. Tag: para +#: Conversations.xml:530 +#, no-c-format +msgid "" +"It can be useful to redirect to an existing conversation if the user " +"requests the same operation twice. Take this example: You are on " +"ebay, half way through paying for an item you just won as a Christmas " +"present for your parents. Lets say you're sending it straight to them - y= ou " +"enter your payment details but you can't remember their address. You " +"accidentally reuse the same browser window finding out their address. Now= " +"you need to return to the payment for the item. " +msgstr "" + +#. Tag: para +#: Conversations.xml:543 +#, no-c-format +msgid "" +"With a natural conversation its really easy to have the user rejoin the " +"existing conversation, and pick up where they left off - just have them t= o " +"rejoin the payForItem conversation with the itemId as the conversation id= ." +msgstr "" + +#. Tag: emphasis +#: Conversations.xml:551 +#, no-c-format +msgid "User friendly URLs" +msgstr "" + +#. Tag: para +#: Conversations.xml:554 +#, no-c-format +msgid "" +"For me this consists of a navigable hierarchy (I can navigate by editing = the " +"url) and a meaningful URL (like this Wiki uses - so don't identify things= by " +"random ids). For some applications user friendly URLs are less important,= of " +"course." +msgstr "" + +#. Tag: para +#: Conversations.xml:562 +#, no-c-format +msgid "" +"With a natural conversations, when you are building your hotel booking " +"system (or, of course, whatever your app is) you can generate a URL like " +"http://seam-hotels/book.seam?hotel=3DBestWesternAntwerpen " +"(of course, whatever parameter hotel maps to on your " +"domain model must be unique) and with URLRewrite easily transform this to= " +"http://seam-hotels/book/BestWesternAntwerpen." +msgstr "" + +#. Tag: para +#: Conversations.xml:573 +#, no-c-format +msgid "Much better!" +msgstr "" + +#. Tag: title +#: Conversations.xml:579 +#, no-c-format +msgid "Creating a natural conversation" +msgstr "" + +#. Tag: para +#: Conversations.xml:580 +#, no-c-format +msgid "Natural conversations are defined in pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:584 +#, no-c-format +msgid "" +" <conversation name=3D\"PlaceBid\"\n" +" parameter-name=3D\"auctionId\"\n" +" parameter-value=3D\"#{auction.auctionId}\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:586 +#, no-c-format +msgid "" +"The first thing to note from the above definition is that the conversatio= n " +"has a name, in this case PlaceBid. This name uniquely " +"identifies this particular named conversation, and is used by the " +"page definition to identify a named conversation to " +"participate in." +msgstr "" + +#. Tag: para +#: Conversations.xml:594 +#, no-c-format +msgid "" +"The next attribute, parameter-name defines the request= " +"parameter that will contain the natural conversation id, in place of the " +"default conversation id parameter. In this example, the paramete= r-" +"name is auctionId. This means that instead o= f a " +"conversation parameter like cid=3D123 appearing in the= URL " +"for your page, it will contain auctionId=3D765432 inst= ead." +msgstr "" + +#. Tag: para +#: Conversations.xml:603 +#, no-c-format +msgid "" +"The last attribute in the above configuration, parameter-value, defines an EL expression used to evaluate the value of the natu= ral " +"business key to use as the conversation id. In this example, the " +"conversation id will be the primary key value of the auction instance currently in scope." +msgstr "" + +#. Tag: para +#: Conversations.xml:610 +#, no-c-format +msgid "" +"Next, we define which pages will participate in the named conversation. T= his " +"is done by specifying the conversation attribute for a= " +"page definition:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:616 +#, no-c-format +msgid "" +" <page view-id=3D\"/bid.xhtml\" conversation=3D\"PlaceBid\" log= in-" +"required=3D\"true\">\n" +" <navigation from-action=3D\"#{bidAction.confirmBid}\"> \n" +" <rule if-outcome=3D\"success\">\n" +" <redirect view-id=3D\"/auction.xhtml\">\n" +" <param name=3D\"id\" value=3D\"#{bidAction.bid.auction." +"auctionId}\"/>\n" +" </redirect>\n" +" </rule> \n" +" </navigation>\n" +" </page>" +msgstr "" + +#. Tag: title +#: Conversations.xml:621 +#, no-c-format +msgid "Redirecting to a natural conversation" +msgstr "" + +#. Tag: para +#: Conversations.xml:623 +#, no-c-format +msgid "" +"When starting, or redirecting to, a natural conversation there are a numb= er " +"of options for specifying the natural conversation name. Let's start by " +"looking at the following page definition:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:629 +#, no-c-format +msgid "" +" <page view-id=3D\"/auction.xhtml\">\n" +" <param name=3D\"id\" value=3D\"#{auctionDetail.selectedAuctionId}\"/>= \n" +" \n" +" <navigation from-action=3D\"#{bidAction.placeBid}\">\n" +" <redirect view-id=3D\"/bid.xhtml\"/>\n" +" </navigation>\n" +" </page>" +msgstr "" + +#. Tag: para +#: Conversations.xml:631 +#, no-c-format +msgid "" +"From here, we can see that invoking the action #{bidAction.place= Bid}" +" from our auction view (by the way, all these examples are take= n " +"from the seamBay example in Seam), that we will be redirected to /" +"bid.xhtml, which, as we saw previously, is configured with the " +"natural conversation PlaceBid. The declaration for our= " +"action method looks like this:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:639 +#, no-c-format +msgid "" +" @Begin(join =3D true)\n" +" public void placeBid()" +msgstr "" + +#. Tag: para +#: Conversations.xml:641 +#, no-c-format +msgid "" +"When named conversations are specified in the <page/> element, redirection to the named conversation occurs as part of= " +"navigation rules, after the action method has already been invoked. This = is " +"a problem when redirecting to an existing conversation, as redirection ne= eds " +"to be occur before the action method is invoked. Therefore it is necessar= y " +"to specify the conversation name when the action is invoked. One way of " +"doing this is by using the s:conversationName tag:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:651 +#, no-c-format +msgid "" +" <h:commandButton id=3D\"placeBidWithAmount\" styleClass=3D\"pl= aceBid" +"\" action=3D\"#{bidAction.placeBid}\">\n" +" <s:conversationName value=3D\"PlaceBid\"/>\n" +" </h:commandButton>" +msgstr "" + +#. Tag: para +#: Conversations.xml:653 +#, no-c-format +msgid "" +"Another alternative is to specify the conversationName= " +"attribute when using either s:link or s:butto= n:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:658 +#, no-c-format +msgid "" +" <s:link value=3D\"Place Bid\" action=3D\"#{bidAction.placeBid}= \" " +"conversationName=3D\"PlaceBid\"/>" +msgstr "" + +#. Tag: title +#: Conversations.xml:664 +#, no-c-format +msgid "Workspace management" +msgstr "" + +#. Tag: para +#: Conversations.xml:666 +#, no-c-format +msgid "" +"Workspace management is the ability to \"switch\" conversations in a sing= le " +"window. Seam makes workspace management completely transparent at the lev= el " +"of the Java code. To enable workspace management, all you need to do is:" +msgstr "" + +#. Tag: para +#: Conversations.xml:675 +#, no-c-format +msgid "" +"Provide description text for each view id (when usin= g " +"JSF or Seam navigation rules) or page node (when using jPDL pageflows). T= his " +"description text is displayed to the user by the workspace switchers." +msgstr "" + +#. Tag: para +#: Conversations.xml:683 +#, no-c-format +msgid "" +"Include one or more of the standard workspace switcher JSP or facelets " +"fragments in your pages. The standard fragments support workspace managem= ent " +"via a drop down menu, a list of conversations, or breadcrumbs." +msgstr "" + +#. Tag: title +#: Conversations.xml:693 +#, no-c-format +msgid "Workspace management and JSF navigation" +msgstr "" + +#. Tag: para +#: Conversations.xml:694 +#, no-c-format +msgid "" +"When you use JSF or Seam navigation rules, Seam switches to a conversatio= n " +"by restoring the current view-id for that conversation= . " +"The descriptive text for the workspace is defined in a file called " +"pages.xml that Seam expects to find in the WE= B-" +"INF directory, right next to faces-config.xml:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:703 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/main.xhtml\">\n" +" <description>Search hotels: #{hotelBooking.searchString}</" +"description>\n" +" </page>\n" +" <page view-id=3D\"/hotel.xhtml\">\n" +" <description>View hotel: #{hotel.name}</description>\n" +" </page>\n" +" <page view-id=3D\"/book.xhtml\">\n" +" <description>Book hotel: #{hotel.name}</description>\n" +" </page>\n" +" <page view-id=3D\"/confirm.xhtml\">\n" +" <description>Confirm: #{booking.description}</description>\n" +" </page>\n" +" </pages>" +msgstr "" + +#. Tag: para +#: Conversations.xml:705 +#, no-c-format +msgid "" +"Note that if this file is missing, the Seam application will continue to " +"work perfectly! The only missing functionality will be the ability to swi= tch " +"workspaces." +msgstr "" + +#. Tag: title +#: Conversations.xml:714 +#, no-c-format +msgid "Workspace management and jPDL pageflow" +msgstr "" + +#. Tag: para +#: Conversations.xml:715 +#, no-c-format +msgid "" +"When you use a jPDL pageflow definition, Seam switches to a conversation = by " +"restoring the current jBPM process state. This is a more flexible model " +"since it allows the same view-id to have different " +"descriptions depending upon the current <page> " +"node. The description text is defined by the <page> " +"node:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:726 +#, no-c-format +msgid "" +"<pageflow-definition name=3D\"shopping\">\n" +"\n" +" <start-state name=3D\"start\">\n" +" <transition to=3D\"browse\"/>\n" +" </start-state>\n" +" \n" +" <page name=3D\"browse\" view-id=3D\"/browse.xhtml\">\n" +" <description>DVD Search: #{search.searchPattern}</description>\n" +" <transition to=3D\"browse\"/>\n" +" <transition name=3D\"checkout\" to=3D\"checkout\"/>\n" +" </page>\n" +" \n" +" <page name=3D\"checkout\" view-id=3D\"/checkout.xhtml\">\n" +" <description>Purchase: $#{cart.total}</description>\n" +" <transition to=3D\"checkout\"/>\n" +" <transition name=3D\"complete\" to=3D\"complete\"/>\n" +" </page>\n" +" \n" +" <page name=3D\"complete\" view-id=3D\"/complete.xhtml\">\n" +" <end-conversation />\n" +" </page>\n" +" \n" +"</pageflow-definition>" +msgstr "" + +#. Tag: title +#: Conversations.xml:731 +#, no-c-format +msgid "The conversation switcher" +msgstr "" + +#. Tag: para +#: Conversations.xml:733 +#, no-c-format +msgid "" +"Include the following fragment in your JSP or facelets page to get a drop= -" +"down menu that lets you switch to any current conversation, or to any oth= er " +"page of the application:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:739 +#, no-c-format +msgid "" +"<h:selectOneMenu value=3D\"#{switcher.conversationIdOrOutcome}\"= >\n" +" <f:selectItem itemLabel=3D\"Find Issues\" itemValue=3D\"findIssue\"/>= \n" +" <f:selectItem itemLabel=3D\"Create Issue\" itemValue=3D\"editIssue\"/= >\n" +" <f:selectItems value=3D\"#{switcher.selectItems}\"/>\n" +"</h:selectOneMenu>\n" +"<h:commandButton action=3D\"#{switcher.select}\" value=3D\"Switch\"/>" +msgstr "" + +#. Tag: para +#: Conversations.xml:741 +#, no-c-format +msgid "" +"In this example, we have a menu that includes an item for each conversati= on, " +"together with two additional items that let the user begin a new " +"conversation." +msgstr "" + +#. Tag: para +#: Conversations.xml:747 +#, no-c-format +msgid "" +"Only conversations with a description (specified in pages.xml) will be included in the drop-down menu." +msgstr "" + +#. Tag: title +#: Conversations.xml:765 +#, no-c-format +msgid "The conversation list" +msgstr "" + +#. Tag: para +#: Conversations.xml:767 +#, no-c-format +msgid "" +"The conversation list is very similar to the conversation switcher, excep= t " +"that it is displayed as a table:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:772 +#, no-c-format +msgid "" +"<h:dataTable value=3D\"#{conversationList}\" var=3D\"entry\"\n" +" rendered=3D\"#{not empty conversationList}\">\n" +" <h:column>\n" +" <f:facet name=3D\"header\">Workspace</f:facet>\n" +" <h:commandLink action=3D\"#{entry.select}\" value=3D\"#{entry." +"description}\"/>\n" +" <h:outputText value=3D\"[current]\" rendered=3D\"#{entry.current}= \"/>\n" +" </h:column>\n" +" <h:column>\n" +" <f:facet name=3D\"header\">Activity</f:facet>\n" +" <h:outputText value=3D\"#{entry.startDatetime}\">\n" +" <f:convertDateTime type=3D\"time\" pattern=3D\"hh:mm a\"/>\n" +" </h:outputText>\n" +" <h:outputText value=3D\" - \"/>\n" +" <h:outputText value=3D\"#{entry.lastDatetime}\">\n" +" <f:convertDateTime type=3D\"time\" pattern=3D\"hh:mm a\"/>\n" +" </h:outputText>\n" +" </h:column>\n" +" <h:column>\n" +" <f:facet name=3D\"header\">Action</f:facet>\n" +" <h:commandButton action=3D\"#{entry.select}\" value=3D\"#{msg.Swi= tch}\"/" +">\n" +" <h:commandButton action=3D\"#{entry.destroy}\" value=3D\"#{msg.De= stroy}" +"\"/>\n" +" </h:column>\n" +"</h:dataTable>" +msgstr "" + +#. Tag: para +#: Conversations.xml:774 +#, no-c-format +msgid "" +"We imagine that you will want to customize this for your own application." +msgstr "" + +#. Tag: para +#: Conversations.xml:787 +#, no-c-format +msgid "Only conversations with a description will be included in the list." +msgstr "" + +#. Tag: para +#: Conversations.xml:792 +#, no-c-format +msgid "Notice that the conversation list lets the user destroy workspaces." +msgstr "" + +#. Tag: title +#: Conversations.xml:799 +#, no-c-format +msgid "Breadcrumbs" +msgstr "" + +#. Tag: para +#: Conversations.xml:801 +#, no-c-format +msgid "" +"Breadcrumbs are useful in applications which use a nested conversation " +"model. The breadcrumbs are a list of links to conversations in the curren= t " +"conversation stack:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:807 +#, no-c-format +msgid "" +"<ui:repeat value=3D\"#{conversationStack}\" var=3D\"entry\">\n" +" <h:outputText value=3D\" | \"/> \n" +" <h:commandLink value=3D\"#{entry.description}\" action=3D\"#{entry.se= lect}\"/" +">\n" +"</ui:repeat" +msgstr "" + +#. Tag: title +#: Conversations.xml:822 +#, no-c-format +msgid "Conversational components and JSF component bindings" +msgstr "" + +#. Tag: para +#: Conversations.xml:824 +#, no-c-format +msgid "" +"Conversational components have one minor limitation: they cannot be used = to " +"hold bindings to JSF components. (We generally prefer not to use this " +"feature of JSF unless absolutely necessary, since it creates a hard " +"dependency from application logic to the view.) On a postback request, " +"component bindings are updated during the Restore View phase, before the " +"Seam conversation context has been restored." +msgstr "" + +#. Tag: para +#: Conversations.xml:832 +#, no-c-format +msgid "" +"To work around this use an event scoped component to store the component " +"bindings and inject it into the conversation scoped component that requir= es " +"it." +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:837 +#, no-c-format +msgid "" +"@Name(\"grid\")\n" +"@Scope(ScopeType.EVENT)\n" +"public class Grid\n" +"{\n" +" private HtmlPanelGrid htmlPanelGrid;\n" +"\n" +" // getters and setters\n" +" ...\n" +"}" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:840 +#, no-c-format +msgid "" +"@Name(\"gridEditor\")\n" +"@Scope(ScopeType.CONVERSATION)\n" +"public class GridEditor\n" +"{\n" +" @In(required=3Dfalse)\n" +" private Grid grid;\n" +" \n" +" ...\n" +"}" +msgstr "" + +#. Tag: para +#: Conversations.xml:842 +#, no-c-format +msgid "" +"Also, you can't inject a conversation scoped component into an event scop= ed " +"component which you bind a JSF control to. This includes Seam built in " +"components like facesMessages." +msgstr "" + +#. Tag: para +#: Conversations.xml:848 +#, no-c-format +msgid "" +"Alternatively, you can access the JSF component tree through the implicit= " +"uiComponent handle. The following example accesses " +"getRowIndex()of the UIData componen= t " +"which backs the data table during iteration, it prints the current row " +"number:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:855 +#, no-c-format +msgid "" +"\n" +"<h:dataTable id=3D\"lineItemTable\" var=3D\"lineItem\" value=3D\"#{orderH= ome." +"lineItems}\">\n" +" <h:column>\n" +" Row: #{uiComponent['lineItemTable'].rowIndex}\n" +" </h:column>\n" +" ...\n" +"</h:dataTable>" +msgstr "" + +#. Tag: para +#: Conversations.xml:857 +#, no-c-format +msgid "" +"JSF UI components are available with their client identifier in this map." +msgstr "" + +#. Tag: title +#: Conversations.xml:864 +#, no-c-format +msgid "Concurrent calls to conversational components" +msgstr "" + +#. Tag: para +#: Conversations.xml:866 +#, no-c-format +msgid "" +"A general discussion of concurrent calls to Seam components can be found = in " +". Here we will discuss the most common " +"situation in which you will encounter concurrency — accessing " +"conversational components from AJAX requests. We're going to discuss the " +"options that a Ajax client library should provide to control events " +"originating at the client — and we'll look at the options RichFaces= " +"gives you." +msgstr "" + +#. Tag: para +#: Conversations.xml:876 +#, no-c-format +msgid "" +"Conversational components don't allow real concurrent access therefore Se= am " +"queues each request to process them serially. This allows each request to= be " +"executed in a deterministic fashion. However, a simple queue isn't that " +"great — firstly, if a method is, for some reason, taking a very lon= g " +"time to complete, running it over and over again whenever the client " +"generates a request is bad idea (potential for Denial of Service attacks)= , " +"and, secondly, AJAX is often to used to provide a quick status update to = the " +"user, so continuing to run the action after a long time isn't useful." +msgstr "" + +#. Tag: para +#: Conversations.xml:888 +#, no-c-format +msgid "" +"Therefore Seam queues the action event for a period of time (the concurre= nt " +"request timeout); if it can't process the event in time, it creates a " +"temporary conversation and prints out a message to the user to let them k= now " +"what's going on. It's therefore very important not to flood the server wi= th " +"AJAX events!" +msgstr "" + +#. Tag: para +#: Conversations.xml:896 +#, no-c-format +msgid "" +"We can set a sensible default for the concurrent request timeout (in ms) = in " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:901 +#, no-c-format +msgid "<core:manager concurrent-request-timeout=3D\"500\" />" +msgstr "" + +#. Tag: para +#: Conversations.xml:909 +#, no-c-format +msgid "" +"So far we've discussed \"synchronous\" AJAX requests - the client tells t= he " +"server that an event has occur, and then rerenders part of the page based= on " +"the result. This approach is great when the AJAX request is lightweight (= the " +"methods called are simple e.g. calculating the sum of a column of numbers= ). " +"But what if we need to do a complex computation?" +msgstr "" + +#. Tag: para +#: Conversations.xml:916 +#, no-c-format +msgid "" +"For heavy computation we should use a truly asynchronous (poll based) " +"approach — the client sends an AJAX request to the server, which " +"causes action to be executed asynchronously on the server (so the the " +"response to the client is immediate); the client then polls the server fo= r " +"updates. This is useful when you have a long-running action for which it = is " +"important that every action executes (you don't want some to be dropped a= s " +"duplicates, or to timeout)." +msgstr "" + +#. Tag: emphasis +#: Conversations.xml:927 +#, no-c-format +msgid "How should we design our conversational AJAX application?" +msgstr "" + +#. Tag: para +#: Conversations.xml:930 +#, no-c-format +msgid "" +"Well first, you need to decide whether you want to use the simpler " +"\"synchronous\" request or whether you want to add using a poll-style " +"approach." +msgstr "" + +#. Tag: para +#: Conversations.xml:936 +#, no-c-format +msgid "" +"If you go for a \"synchronous\" approach, then you need to make an estima= te " +"of how long your AJAX request will take to complete - is it much shorter " +"than the concurrent request timeout? If not, you probably want to alter t= he " +"concurrent request timeout for this method (as discussed above). Next you= " +"probably want a queue on the client side to prevent flooding the server w= ith " +"requests. If the event occurs often (e.g. a keypress, onblur of input " +"fields) and immediate update of the client is not a priority you should s= et " +"a request delay on the client side. When working out your request delay, " +"factor in that the event may also be queued on the server side." +msgstr "" + +#. Tag: para +#: Conversations.xml:949 +#, no-c-format +msgid "" +"Finally, the client library may provide an option to abort unfinished " +"duplicate requests in favor of the most recent. You need to be careful wi= th " +"this option as it can lead to flooding of the server with requests if the= " +"server is not able to abort the unfinished request." +msgstr "" + +#. Tag: para +#: Conversations.xml:956 +#, no-c-format +msgid "" +"Using a poll-style design requires less fine-tuning. You just mark your " +"action method @Asynchronous and decide on a polling " +"interval:" +msgstr "" + +#. Tag: programlisting +#: Conversations.xml:962 +#, no-c-format +msgid "" +"int total;\n" +"\n" +"// This method is called when an event occurs on the client\n" +"// It takes a really long time to execute\n" +"@Asynchronous \n" +"public void calculateTotal() {\n" +" total =3D someReallyComplicatedCalculation();\n" +"}\n" +"\n" +"// This method is called as the result of the poll\n" +"// It's very quick to execute\n" +"public int getTotal() {\n" +" return total;\n" +"}" +msgstr "" + +#. Tag: title +#: Conversations.xml:965 +#, no-c-format +msgid "RichFaces Ajax" +msgstr "" + +#. Tag: para +#: Conversations.xml:967 +#, no-c-format +msgid "" +"RichFaces Ajax is the AJAX library most commonly used with Seam, and " +"provides all the controls discussed above:" +msgstr "" + +#. Tag: para +#: Conversations.xml:974 +#, no-c-format +msgid "" +"eventsQueue — provide a queue in which events ar= e " +"placed. All events are queued and requests are sent to the server seriall= y. " +"This is useful if the request can to the server can take some time to " +"execute (e.g. heavy computation, retrieving information from a slow sourc= e) " +"as the server isn't flooded." +msgstr "" + +#. Tag: para +#: Conversations.xml:984 +#, no-c-format +msgid "" +"ignoreDupResponses — ignore the response produce= d " +"by the request if a more recent 'similar' request is already in the queue= . " +"ignoreDupResponses=3D\"true\" does not cancel the th= e " +"processing of the request on the server side — just prevents " +"unnecessary updates on the client side." +msgstr "" + +#. Tag: para +#: Conversations.xml:991 +#, no-c-format +msgid "" +"This option should be used with care with Seam's conversations as it allo= ws " +"multiple concurrent requests to be made." +msgstr "" + +#. Tag: para +#: Conversations.xml:997 +#, no-c-format +msgid "" +"requestDelay — defines the time (in ms.) that th= e " +"request will be remain on the queue. If the request has not been processe= d " +"by after this time the request will be sent (regardless of whether a " +"response has been received) or discarded (if there is a more recent simil= ar " +"event on the queue)." +msgstr "" + +#. Tag: para +#: Conversations.xml:1004 +#, no-c-format +msgid "" +"This option should be used with care with Seam's conversations as it allo= ws " +"multiple concurrent requests to be made. You need to be sure that the del= ay " +"you set (in combination with the concurrent request timeout) is longer th= an " +"the action will take to execute." +msgstr "" + +#. Tag: para +#: Conversations.xml:1012 +#, no-c-format +msgid "" +"<a:poll reRender=3D\"total\" interval=3D\"1000\" /> " +"— Polls the server, and rerenders an area as needed" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Dependencies.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Dependencies.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Dependencies.po 2008-0= 4-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,775 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Dependencies.xml:5 +#, no-c-format +msgid "Dependencies" +msgstr "" + +#. Tag: title +#: Dependencies.xml:8 +#, no-c-format +msgid "Project Dependencies" +msgstr "" + +#. Tag: para +#: Dependencies.xml:10 +#, no-c-format +msgid "" +"This section both lists the compile-time and runtime dependencies for Sea= m. " +"Where the type is listed as ear, the library should be= " +"included in the /lib directory of your application's ear file. Where the " +"type is listed as war, the library should be placed in= " +"the /WEB-INF/lib directory of your application's war " +"file. The scope of the dependency is either all, runtime or provided (by " +"JBoss AS 4.2)." +msgstr "" + +#. Tag: para +#: Dependencies.xml:20 +#, no-c-format +msgid "" +"Up to date version information and complete dependency information is not= " +"included in the docs, but is provided in the /dependency-report." +"txt which is generated from the Maven POMs stored in /" +"build. You can generate this file by running ant " +"dependencyReport." +msgstr "" + +#. Tag: title +#: Dependencies.xml:29 +#, no-c-format +msgid "Core" +msgstr "" + +#. Tag: para +#: Dependencies.xml:42 Dependencies.xml:244 Dependencies.xml:328 +#: Dependencies.xml:426 Dependencies.xml:526 Dependencies.xml:653 +#: Dependencies.xml:709 Dependencies.xml:764 Dependencies.xml:819 +#, no-c-format +msgid "Name" +msgstr "" + +#. Tag: para +#: Dependencies.xml:45 Dependencies.xml:247 Dependencies.xml:331 +#: Dependencies.xml:432 Dependencies.xml:529 Dependencies.xml:656 +#: Dependencies.xml:712 Dependencies.xml:767 Dependencies.xml:822 +#, no-c-format +msgid "Scope" +msgstr "" + +#. Tag: para +#: Dependencies.xml:48 Dependencies.xml:250 Dependencies.xml:334 +#: Dependencies.xml:429 Dependencies.xml:532 Dependencies.xml:659 +#: Dependencies.xml:715 Dependencies.xml:770 Dependencies.xml:825 +#, no-c-format +msgid "Type" +msgstr "" + +#. Tag: para +#: Dependencies.xml:51 Dependencies.xml:253 Dependencies.xml:337 +#: Dependencies.xml:435 Dependencies.xml:535 Dependencies.xml:662 +#: Dependencies.xml:718 Dependencies.xml:773 Dependencies.xml:828 +#, no-c-format +msgid "Notes" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:60 +#, no-c-format +msgid "jboss-seam.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:63 Dependencies.xml:265 +#, no-c-format +msgid "all" +msgstr "" + +#. Tag: para +#: Dependencies.xml:66 Dependencies.xml:216 Dependencies.xml:268 +#: Dependencies.xml:352 Dependencies.xml:367 Dependencies.xml:550 +#: Dependencies.xml:565 Dependencies.xml:580 Dependencies.xml:595 +#: Dependencies.xml:610 Dependencies.xml:625 Dependencies.xml:677 +#: Dependencies.xml:787 Dependencies.xml:842 +#, no-c-format +msgid "ear" +msgstr "" + +#. Tag: para +#: Dependencies.xml:69 +#, no-c-format +msgid "The core Seam library, always required." +msgstr "" + +#. Tag: literal +#: Dependencies.xml:75 +#, no-c-format +msgid "jboss-seam-debug.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:78 Dependencies.xml:93 Dependencies.xml:108 +#: Dependencies.xml:123 Dependencies.xml:138 Dependencies.xml:183 +#: Dependencies.xml:198 Dependencies.xml:213 Dependencies.xml:283 +#: Dependencies.xml:298 Dependencies.xml:349 Dependencies.xml:364 +#: Dependencies.xml:396 Dependencies.xml:447 Dependencies.xml:462 +#: Dependencies.xml:477 Dependencies.xml:492 Dependencies.xml:547 +#: Dependencies.xml:562 Dependencies.xml:577 Dependencies.xml:592 +#: Dependencies.xml:607 Dependencies.xml:622 Dependencies.xml:674 +#: Dependencies.xml:729 Dependencies.xml:784 Dependencies.xml:839 +#, no-c-format +msgid "runtime" +msgstr "" + +#. Tag: para +#: Dependencies.xml:81 Dependencies.xml:96 Dependencies.xml:111 +#: Dependencies.xml:126 Dependencies.xml:141 Dependencies.xml:186 +#: Dependencies.xml:201 Dependencies.xml:286 Dependencies.xml:301 +#: Dependencies.xml:399 Dependencies.xml:450 Dependencies.xml:465 +#: Dependencies.xml:480 Dependencies.xml:495 Dependencies.xml:732 +#, no-c-format +msgid "war" +msgstr "" + +#. Tag: para +#: Dependencies.xml:84 +#, no-c-format +msgid "Include during development when enabling Seam's debug feature" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:90 +#, no-c-format +msgid "jboss-seam-ioc.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:99 +#, no-c-format +msgid "Required when using Seam with Spring" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:105 Dependencies.xml:489 +#, no-c-format +msgid "jboss-seam-pdf.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:114 +#, no-c-format +msgid "Required when using Seam's PDF features" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:120 +#, no-c-format +msgid "jboss-seam-remoting.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:129 +#, no-c-format +msgid "Required when using Seam Remoting" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:135 +#, no-c-format +msgid "jboss-seam-ui.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:144 +#, no-c-format +msgid "Required to use the Seam JSF controls" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:150 +#, no-c-format +msgid "jsf-api.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:153 Dependencies.xml:168 +#, no-c-format +msgid "provided" +msgstr "" + +#. Tag: para +#: Dependencies.xml:159 +#, no-c-format +msgid "JSF API" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:165 +#, no-c-format +msgid "jsf-impl.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:174 +#, no-c-format +msgid "JSF Reference Implementation" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:180 +#, no-c-format +msgid "jsf-facelets.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:189 +#, no-c-format +msgid "Facelets" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:195 +#, no-c-format +msgid "urlrewrite.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:204 +#, no-c-format +msgid "URL Rewrite library" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:210 +#, no-c-format +msgid "quartz.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:219 +#, no-c-format +msgid "Required when you wish to use Quartz with Seam's asynchronous featu= res" +msgstr "" + +#. Tag: title +#: Dependencies.xml:230 +#, no-c-format +msgid "RichFaces" +msgstr "" + +#. Tag: title +#: Dependencies.xml:233 +#, no-c-format +msgid "RichFaces dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:262 +#, no-c-format +msgid "richfaces-api.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:271 +#, no-c-format +msgid "" +"Required to use RichFaces. Provides API classes that you may wish to use " +"from your application e.g. to create a tree" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:280 +#, no-c-format +msgid "richfaces-impl.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:289 +#, no-c-format +msgid "Required to use RichFaces." +msgstr "" + +#. Tag: literal +#: Dependencies.xml:295 +#, no-c-format +msgid "richfaces-ui.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:304 +#, no-c-format +msgid "Required to use RichFaces. Provides all the UI components." +msgstr "" + +#. Tag: title +#: Dependencies.xml:314 +#, no-c-format +msgid "Seam Mail" +msgstr "" + +#. Tag: title +#: Dependencies.xml:317 +#, no-c-format +msgid "Seam Mail Dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:346 +#, no-c-format +msgid "activation.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:355 +#, no-c-format +msgid "Required for attachment support" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:361 +#, no-c-format +msgid "mail.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:370 +#, no-c-format +msgid "Required for outgoing mail support" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:376 +#, no-c-format +msgid "mail-ra.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:379 +#, no-c-format +msgid "compile only" +msgstr "" + +#. Tag: para +#: Dependencies.xml:385 +#, no-c-format +msgid "Required for incoming mail support" +msgstr "" + +#. Tag: para +#: Dependencies.xml:386 +#, no-c-format +msgid "mail-ra.rar should be deployed to the application server at runtime" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:393 +#, no-c-format +msgid "jboss-seam-mail.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:402 +#, no-c-format +msgid "Seam Mail" +msgstr "" + +#. Tag: title +#: Dependencies.xml:412 +#, no-c-format +msgid "Seam PDF" +msgstr "" + +#. Tag: title +#: Dependencies.xml:415 +#, no-c-format +msgid "Seam PDF Dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:444 +#, no-c-format +msgid "itext.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:453 +#, no-c-format +msgid "PDF Library" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:459 +#, no-c-format +msgid "jfreechart.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:468 +#, no-c-format +msgid "Charting library" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:474 +#, no-c-format +msgid "jcommon.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:483 +#, no-c-format +msgid "Required by JFreeChart" +msgstr "" + +#. Tag: para +#: Dependencies.xml:498 +#, no-c-format +msgid "Seam PDF core library" +msgstr "" + +#. Tag: title +#: Dependencies.xml:508 +#, no-c-format +msgid "JBoss Rules" +msgstr "" + +#. Tag: para +#: Dependencies.xml:510 +#, no-c-format +msgid "" +"The JBoss Rules libraries can be found in the drools/lib " +"directory in Seam." +msgstr "" + +#. Tag: title +#: Dependencies.xml:515 +#, no-c-format +msgid "JBoss Rules Dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:544 +#, no-c-format +msgid "antlr-runtime.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:553 +#, no-c-format +msgid "ANTLR Runtime Library" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:559 +#, no-c-format +msgid "core.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:568 +#, no-c-format +msgid "Eclipse JDT" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:574 +#, no-c-format +msgid "drools-compiler.jar" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:589 +#, no-c-format +msgid "drools-core.jar" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:604 +#, no-c-format +msgid "janino.jar" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:619 +#, no-c-format +msgid "mvel.jar" +msgstr "" + +#. Tag: title +#: Dependencies.xml:639 +#, no-c-format +msgid "JBPM" +msgstr "" + +#. Tag: title +#: Dependencies.xml:642 +#, no-c-format +msgid "JBPM dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:671 +#, no-c-format +msgid "jbpm-jpdl.jar" +msgstr "" + +#. Tag: title +#: Dependencies.xml:691 +#, no-c-format +msgid "GWT" +msgstr "" + +#. Tag: para +#: Dependencies.xml:693 +#, no-c-format +msgid "" +"These libraries are required if you with to use the Google Web Toolkit (G= WT) " +"with your Seam application." +msgstr "" + +#. Tag: title +#: Dependencies.xml:698 +#, no-c-format +msgid "GWT dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:726 +#, no-c-format +msgid "gwt-servlet.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:735 +#, no-c-format +msgid "The GWT Servlet libs" +msgstr "" + +#. Tag: title +#: Dependencies.xml:746 +#, no-c-format +msgid "Spring" +msgstr "" + +#. Tag: para +#: Dependencies.xml:748 +#, no-c-format +msgid "" +"These libraries are required if you with to use the Spring Framework with= " +"your Seam application." +msgstr "" + +#. Tag: title +#: Dependencies.xml:753 +#, no-c-format +msgid "Spring Framework dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:781 +#, no-c-format +msgid "spring.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:790 +#, no-c-format +msgid "The Spring Framework library" +msgstr "" + +#. Tag: title +#: Dependencies.xml:801 +#, no-c-format +msgid "Groovy" +msgstr "" + +#. Tag: para +#: Dependencies.xml:803 +#, no-c-format +msgid "" +"These libraries are required if you with to use Groovy with your Seam " +"application." +msgstr "" + +#. Tag: title +#: Dependencies.xml:808 +#, no-c-format +msgid "Groovy dependencies" +msgstr "" + +#. Tag: literal +#: Dependencies.xml:836 +#, no-c-format +msgid "groovy-all.jar" +msgstr "" + +#. Tag: para +#: Dependencies.xml:845 +#, no-c-format +msgid "The Groovy libs" +msgstr "" + +#. Tag: title +#: Dependencies.xml:857 +#, no-c-format +msgid "Dependency Management using Maven" +msgstr "" + +#. Tag: para +#: Dependencies.xml:860 +#, no-c-format +msgid "" +"Maven offers support for transitive dependency management and can be used= to " +"manage the dependencies of your Seam project. You can use Maven Ant Tasks= to " +"integrate Maven into your Ant build, or can use Maven to build and deploy= " +"your project." +msgstr "" + +#. Tag: para +#: Dependencies.xml:867 +#, no-c-format +msgid "" +"We aren't actually going to discuss how to use Maven here, but just run o= ver " +"some basic POMs you could use." +msgstr "" + +#. Tag: para +#: Dependencies.xml:872 +#, no-c-format +msgid "" +"Released versions of Seam are available in http://repository.jboss.org/" +"maven2 and nightly snapshots are available in http://snapshots.jboss.org/" +"maven2." +msgstr "" + +#. Tag: para +#: Dependencies.xml:877 +#, no-c-format +msgid "All the Seam artifacts are available in Maven:" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:881 +#, no-c-format +msgid "" +"<dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam</artifactId>\n" +"</dependency>" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:883 +#, no-c-format +msgid "" +"<dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam-ui</artifactId>\n" +"</dependency>" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:885 +#, no-c-format +msgid "" +"<dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam-pdf</artifactId>\n" +"</dependency>" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:887 +#, no-c-format +msgid "" +"<dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam-remoting</artifactId>\n" +"</dependency>" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:889 Dependencies.xml:891 +#, no-c-format +msgid "" +"<dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam-ioc</artifactId>\n" +"</dependency>" +msgstr "" + +#. Tag: para +#: Dependencies.xml:893 +#, no-c-format +msgid "" +"This sample POM will give you Seam, JPA (provided by Hibernate) and " +"Hibernate Validator:" +msgstr "" + +#. Tag: programlisting +#: Dependencies.xml:898 +#, no-c-format +msgid "" +"<?xml version=3D\"1.0\" encoding=3D\"UTF-8\"?>\n" +"<project xmlns=3D\"http://maven.apache.org/POM/4.0.0\"\n" +" xmlns:xsi=3D\"http://www.w3.org/2001/XMLSchema-instance\"\n" +" xsi:schemaLocation=3D\"http://maven.apache.org/POM/4.0.0 http://maven.a= pache." +"org/maven-v4_0_0.xsd\">\n" +" <modelVersion>4.0.0</modelVersion>\n" +" <groupId>org.jboss.seam.example/groupId>\n" +" <artifactId>my-project</artifactId>\n" +" <version>1.0</version>\n" +" <name>My Seam Project</name>\n" +" <packaging>jar</packaging>\n" +" <repositories>\n" +" <repository>\n" +" <id>repository.jboss.org</id>\n" +" <name>JBoss Repository</name>\n" +" <url>http://repository.jboss.org/maven2</url>\n" +" </repository>\n" +" </repositories>\n" +"\n" +" <dependencies>\n" +"\n" +" <dependency>\n" +" <groupId>org.hibernate</groupId>\n" +" <artifactId>hibernate-validator</artifactId>\n" +" <version>3.0.0.GA</version>\n" +" </dependency>\n" +"\n" +" <dependency>\n" +" <groupId>org.hibernate</groupId>\n" +" <artifactId>hibernate-annotations</artifactId>\n" +" <version>3.3.0.ga</version>\n" +" </dependency>\n" +"\n" +" <dependency>\n" +" <groupId>org.hibernate</groupId>\n" +" <artifactId>hibernate-entitymanager</artifactId>\n" +" <version>3.3.1.ga</version>\n" +" </dependency>\n" +"\n" +" <dependency>\n" +" <groupId>org.jboss.seam</groupId>\n" +" <artifactId>jboss-seam</artifactId>\n" +" <version>2.0.0.GA</version>\n" +" </dependency>\n" +" \n" +" </dependencies>\n" +"\n" +"</project>" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Drools.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Drools.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Drools.po 2008-04-21 0= 0:41:49 UTC (rev 7985) @@ -0,0 +1,340 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Drools.xml:5 +#, no-c-format +msgid "Seam and JBoss Rules" +msgstr "" + +#. Tag: para +#: Drools.xml:7 +#, no-c-format +msgid "" +"Seam makes it easy to call JBoss Rules (Drools) rulebases from Seam " +"components or jBPM process definitions." +msgstr "" + +#. Tag: title +#: Drools.xml:13 +#, no-c-format +msgid "Installing rules" +msgstr "" + +#. Tag: para +#: Drools.xml:15 +#, no-c-format +msgid "" +"The first step is to make an instance of org.drools.RuleBase available in a Seam context variable. For testing purposes, Seam= " +"provides a built-in component that compiles a static set of rules from th= e " +"classpath. You can install this component via components.xml:" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:22 +#, no-c-format +msgid "" +"<drools:rule-base name=3D\"policyPricingRules\">\n" +" <drools:rule-files>\n" +" <value>policyPricingRules.drl</value>\n" +" </drools:rule-files>\n" +"</drools:rule-base>" +msgstr "" + +#. Tag: para +#: Drools.xml:24 +#, no-c-format +msgid "" +"This component compiles rules from a set of .drl files= " +"and caches an instance of org.drools.RuleBase in the S= eam " +"APPLICATION context. Note that it is quite likely that= " +"you will need to install multiple rule bases in a rule-driven application= ." +msgstr "" + +#. Tag: para +#: Drools.xml:32 +#, no-c-format +msgid "" +"If you want to use a Drools DSL, you alse need to specify the DSL definit= ion:" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:37 +#, no-c-format +msgid "" +"<drools:rule-base name=3D\"policyPricingRules\" dsl-file=3D" +"\"policyPricing.dsl\">\n" +" <drools:rule-files>\n" +" <value>policyPricingRules.drl</value>\n" +" </drools:rule-files>\n" +"</drools:rule-base>" +msgstr "" + +#. Tag: para +#: Drools.xml:39 +#, no-c-format +msgid "" +"In most rules-driven applications, rules need to be dynamically deployabl= e, " +"so a production application will want to use a Drools RuleAgent to manage= " +"the RuleBase. The RuleAgent can connect to a Drools rule server (BRMS) or= " +"hot deploy rules packages from a local file repository. The RulesAgent-" +"managed RuleBase is also configurable in components.xml:" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:47 +#, no-c-format +msgid "" +"<drools:rule-agent name=3D\"insuranceRules\" \n" +" configurationFile=3D\"/WEB-INF/deployedrules.properti= es\" /" +">" +msgstr "" + +#. Tag: para +#: Drools.xml:49 +#, no-c-format +msgid "" +"The properties file contains properties specific to the RulesAgent. Here = is " +"an example configuration file from the Drools example distribution." +msgstr "" + +#. Tag: programlisting +#: Drools.xml:52 +#, no-c-format +msgid "" +"newInstance=3Dtrue\n" +"url=3Dhttp://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/or= g." +"acme.insurance/fmeyer\n" +"localCacheDir=3D/Users/fernandomeyer/projects/jbossrules/drools-examples/" +"drools-examples-brms/cache\n" +"poll=3D30\n" +"name=3Dinsuranceconfig" +msgstr "" + +#. Tag: para +#: Drools.xml:55 +#, no-c-format +msgid "" +"It is also possible to configure the options on the component directly, " +"bypassing the configuration file." +msgstr "" + +#. Tag: programlisting +#: Drools.xml:57 +#, no-c-format +msgid "" +"<drools:rule-agent name=3D\"insuranceRules\"\n" +" url=3D\"http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/packa= ge/" +"org.acme.insurance/fmeyer\"\n" +" local-cache-dir=3D\"/Users/fernandomeyer/projects/jbossrules/drools-" +"examples/drools-examples-brms/cache\"\n" +" poll=3D\"30\"\n" +" configuration-name=3D\"insuranceconfig\" />" +msgstr "" + +#. Tag: para +#: Drools.xml:59 +#, no-c-format +msgid "" +"Next, we need to make an instance of org.drools.WorkingMemory available to each conversation. (Each WorkingMemory accumulates facts relating to the current conversation.)" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:65 +#, no-c-format +msgid "" +"<drools:managed-working-memory name=3D\"policyPricingWorkingMemo= ry\" " +"auto-create=3D\"true\" rule-base=3D\"#{policyPricingRules}\"/>" +msgstr "" + +#. Tag: para +#: Drools.xml:67 +#, no-c-format +msgid "" +"Notice that we gave the policyPricingWorkingMemory a " +"reference back to our rule base via the ruleBase " +"configuration property." +msgstr "" + +#. Tag: title +#: Drools.xml:76 +#, no-c-format +msgid "Using rules from a Seam component" +msgstr "" + +#. Tag: para +#: Drools.xml:78 +#, no-c-format +msgid "" +"We can now inject our WorkingMemory into any Seam " +"component, assert facts, and fire rules:" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:83 +#, no-c-format +msgid "" +"@In WorkingMemory policyPricingWorkingMemory;\n" +"\n" +"@In Policy policy;\n" +"@In Customer customer;\n" +"\n" +"public void pricePolicy() throws FactException\n" +"{\n" +" policyPricingWorkingMemory.assertObject(policy);\n" +" policyPricingWorkingMemory.assertObject(customer);\n" +" policyPricingWorkingMemory.fireAllRules();\n" +"}" +msgstr "" + +#. Tag: title +#: Drools.xml:88 +#, no-c-format +msgid "Using rules from a jBPM process definition" +msgstr "" + +#. Tag: para +#: Drools.xml:90 +#, no-c-format +msgid "" +"You can even allow a rule base to act as a jBPM action handler, decision " +"handler, or assignment handler—in either a pageflow or business " +"process definition." +msgstr "" + +#. Tag: programlisting +#: Drools.xml:96 +#, no-c-format +msgid "" +"<decision name=3D\"approval\">\n" +" \n" +" <handler class=3D\"org.jboss.seam.drools.DroolsDecisionHandler\">\n" +" <workingMemoryName>orderApprovalRulesWorkingMemory</" +"workingMemoryName>\n" +" <assertObjects>\n" +" <element>#{customer}</element>\n" +" <element>#{order}</element>\n" +" <element>#{order.lineItems}</element>\n" +" </assertObjects>\n" +" </handler>\n" +" \n" +" <transition name=3D\"approved\" to=3D\"ship\">\n" +" <action class=3D\"org.jboss.seam.drools.DroolsActionHandler\">\n" +" <workingMemoryName>shippingRulesWorkingMemory</" +"workingMemoryName>\n" +" <assertObjects>\n" +" <element>#{customer}</element>\n" +" <element>#{order}</element>\n" +" <element>#{order.lineItems}</element>\n" +" </assertObjects>\n" +" </action>\n" +" </transition>\n" +" \n" +" <transition name=3D\"rejected\" to=3D\"cancelled\"/>\n" +" \n" +"</decision>" +msgstr "" + +#. Tag: para +#: Drools.xml:98 +#, no-c-format +msgid "" +"The <assertObjects> element specifies EL " +"expressions that return an object or collection of objects to be asserted= as " +"facts into the WorkingMemory." +msgstr "" + +#. Tag: para +#: Drools.xml:104 +#, no-c-format +msgid "There is also support for using Drools for jBPM task assignments:" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:108 +#, no-c-format +msgid "" +"<task-node name=3D\"review\">\n" +" <task name=3D\"review\" description=3D\"Review Order\">\n" +" <assignment handler=3D\"org.jboss.seam.drools.DroolsAssignmentHan= dler" +"\">\n" +" <workingMemoryName>orderApprovalRulesWorkingMemory</" +"workingMemoryName>\n" +" <assertObjects>\n" +" <element>#{actor}</element>\n" +" <element>#{customer}</element>\n" +" <element>#{order}</element>\n" +" <element>#{order.lineItems}</element>\n" +" </assertObjects>\n" +" </assignment>\n" +" </task>\n" +" <transition name=3D\"rejected\" to=3D\"cancelled\"/>\n" +" <transition name=3D\"approved\" to=3D\"approved\"/>\n" +"</task-node>" +msgstr "" + +#. Tag: para +#: Drools.xml:110 +#, no-c-format +msgid "" +"Certain objects are available to the rules as Drools globals, namely the " +"jBPM Assignable, as assignable and = a " +"Seam Decision object, as decision. " +"Rules which handle decisions should call decision.setOutcome" +"(\"result\") to determine the result of the decision. Rules whi= ch " +"perform assignments should set the actor id using the Assignable= ." +msgstr "" + +#. Tag: programlisting +#: Drools.xml:119 +#, no-c-format +msgid "" +"package org.jboss.seam.examples.shop\n" +"\n" +"import org.jboss.seam.drools.Decision\n" +"\n" +"global Decision decision\n" +"\n" +"rule \"Approve Order For Loyal Customer\"\n" +" when\n" +" Customer( loyaltyStatus =3D=3D \"GOLD\" )\n" +" Order( totalAmount <=3D 10000 )\n" +" then\n" +" decision.setOutcome(\"approved\");\n" +"end" +msgstr "" + +#. Tag: programlisting +#: Drools.xml:121 +#, no-c-format +msgid "" +"package org.jboss.seam.examples.shop\n" +"\n" +"import org.jbpm.taskmgmt.exe.Assignable\n" +"\n" +"global Assignable assignable\n" +"\n" +"rule \"Assign Review For Small Order\"\n" +" when\n" +" Order( totalAmount <=3D 100 )\n" +" then\n" +" assignable.setPooledActors( new String[] {\"reviewers\"} );\n" +"end" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Elenhancements.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Elenhancements.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Elenhancements.po 2008= -04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,438 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Elenhancements.xml:5 +#, no-c-format +msgid "JBoss EL" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:7 +#, no-c-format +msgid "" +"Seam uses JBoss EL which provides an extension to the standard Unified " +"Expression Language (EL). JBoss EL provides a number of enhancements that= " +"increase the expressiveness and power of EL expressions." +msgstr "" + +#. Tag: title +#: Elenhancements.xml:14 +#, no-c-format +msgid "Parameterized Expressions" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:16 +#, no-c-format +msgid "" +"Standard EL does not allow you to use a method with user defined paramete= rs " +"— of course, JSF listener methods (e.g. a " +"valueChangeListener) take parameters provided by JSF." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:22 +#, no-c-format +msgid "JBoss EL removes this restriction. For example:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:26 +#, no-c-format +msgid "" +"<h:commandButton action=3D\"#{hotelBooking.bookHotel(hotel)}\" v= alue=3D" +"\"Book Hotel\"/>" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:28 +#, no-c-format +msgid "" +"@Name(\"hotelBooking\")\n" +"public class HotelBooking {\n" +" \n" +" public String bookHotel(Hotel hotel) {\n" +" // Book the hotel\n" +" }\n" +"}" +msgstr "" + +#. Tag: title +#: Elenhancements.xml:31 +#, no-c-format +msgid "Usage" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:33 +#, no-c-format +msgid "" +"Just as in calls to method from Java, parameters are surrounded by " +"parentheses, and separated by commas:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:38 +#, no-c-format +msgid "" +"<h:commandButton action=3D\"#{hotelBooking.bookHotel(hotel, user= )}\" " +"value=3D\"Book Hotel\"/>" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:40 +#, no-c-format +msgid "" +"The parameters hotel and user will = be " +"evaluated as value expressions and passed to the bookHotel() method of the component." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:45 +#, no-c-format +msgid "Any value expression may be used as a parameter:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:49 +#, no-c-format +msgid "" +"<h:commandButton \n" +" action=3D\"#{hotelBooking.bookHotel(hotel.id, user.username)}\" \n" +" value=3D\"Book Hotel\"/>" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:51 +#, no-c-format +msgid "" +"It's important to fully understand how this extension to EL works. When t= he " +"page is rendered, the parameter names are stored (fo= r " +"example, hotel.id and user.username= ), " +"and evaluated (as value expressions) when the page is submitted. You can'= t " +"pass objects as parameters!" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:60 +#, no-c-format +msgid "" +"You must ensure that the parameters are available not only when the page = is " +"rendered, but also when it is submittedIf the arguments can not be resolv= ed " +"when the page is submitted the action method will be called with " +"null arguments!" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:67 +#, no-c-format +msgid "You can also pass literal strings using single quotes:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:71 +#, no-c-format +msgid "" +"<h:commandLink action=3D\"#{printer.println('Hello world!')}\" v= alue=3D" +"\"Hello\"/>" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:73 +#, no-c-format +msgid "" +"Unified EL also supports value expressions, used to bind a field to a " +"backing bean. Value expressions use JavaBean naming conventions and expec= t a " +"getter/setter pair. Often JSF expects a value expression where only " +"retrieval (get) is needed (e.g. the rendered attribute= ). " +"Many objects, however, don't have appropriately named property accessors = or " +"require parameters." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:82 +#, no-c-format +msgid "" +"JBoss EL removes this restriction by allowing values to be retrieved usin= g " +"the method syntax. For example:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:87 +#, no-c-format +msgid "" +"<h:outputText value=3D\"#{person.name}\" rendered=3D\"#{person.n= ame." +"length() > 5}\" />" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:89 +#, no-c-format +msgid "You can access the size of a collection in a similar manner:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:93 +#, no-c-format +msgid "#{searchResults.size()}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:95 +#, no-c-format +msgid "" +"In general any expression of the form #{obj.property} would be identical = to " +"the expression #{obj.getProperty()}." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:99 +#, no-c-format +msgid "" +"Parameters are also allowed. The following example calls the " +"productsByColorMethod with a literal string argument:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:105 +#, no-c-format +msgid "#{controller.productsByColor('blue')}" +msgstr "" + +#. Tag: title +#: Elenhancements.xml:110 +#, no-c-format +msgid "Limitations and Hints" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:112 +#, no-c-format +msgid "When using JBoss EL you should keep the following points in mind:" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:118 +#, no-c-format +msgid "" +"Incompatibility with JSP 2.1 — JBoss EL can't " +"currently be used with JSP 2.1 as the compiler rejects expressions with " +"parameters in. So, if you want to use this extension with JSF 1.2, you wi= ll " +"need to use Facelets. The extension works correctly with JSP 2.0." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:127 +#, no-c-format +msgid "" +"Use inside iterative components — Components l= ike " +"<c:forEach /> and <ui:repeat />iterate over a List or array, exposing each item in the list to " +"nested components. This works great if you are selecting a row using a " +"<h:commandButton /> or <h:commandLin= k /" +">:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:136 +#, no-c-format +msgid "" +"@Factory(\"items\")\n" +"public List<Item> getItems() {\n" +" return entityManager.createQuery(\"select ...\").getResultList();\n" +"}" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:137 +#, no-c-format +msgid "" +"<h:dataTable value=3D\"#{items}\" var=3D\"item\">\n" +" <h:column>\n" +" <h:commandLink value=3D\"Select #{item.name}\" action=3D\"#{itemSel= ector." +"select(item})\" />\n" +" </h:column>\n" +"</h:dataTable>" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:138 +#, no-c-format +msgid "" +"However if you want to use <s:link /> or " +"<s:button /> you must expos= e " +"the items as a DataModel, and use a <" +"dataTable /> (or equivalent from a component set like " +"<rich:dataTable /> ). Neither <s:lin= k /" +"> or <s:button /> submit the form (= and " +"therefore produce a bookmarkable link) so a \"magic\" parameter is needed= to " +"recreate the item when the action method is called. This magic parameter = can " +"only be added when a data table backed by a DataModel = is " +"used." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:154 +#, no-c-format +msgid "" +"Calling a MethodExpression from Java code — Normally, when a MethodExpression is= " +"created, the parameter types are passed in by JSF. In the case of a metho= d " +"binding, JSF assumes that there are no parameters to pass. With this " +"extension, we can't know the parameter types until after the expression h= as " +"been evaluated. This has two minor consequences:" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:167 +#, no-c-format +msgid "" +"When you invoke a MethodExpression in Java code, " +"parameters you pass may be ignored. Parameters defined in the expression " +"will take precedence." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:175 +#, no-c-format +msgid "" +"Ordinarily, it is safe to call methodExpression.getMethodInfo()." +"getParamTypes() at any time. For an expression with parameters,= " +"you must first invoke the MethodExpression before call= ing " +"getParamTypes()." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:185 +#, no-c-format +msgid "" +"Both of these cases are exceedingly rare and only apply when you want to " +"invoke the MethodExpression by hand in Java code." +msgstr "" + +#. Tag: title +#: Elenhancements.xml:196 +#, no-c-format +msgid "Projection" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:198 +#, no-c-format +msgid "" +"JBoss EL supports a limited projection syntax. A projection expression ma= ps " +"a sub-expression across a multi-valued (list, set, etc...) expression. Fo= r " +"instance, the expression:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:204 +#, no-c-format +msgid "#{company.departments}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:206 +#, no-c-format +msgid "" +"might return a list of departments. If you only need a list of department= " +"names, your only option is to iterate over the list to retrieve the value= s. " +"JBoss EL allows this with a projection expression:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:212 +#, no-c-format +msgid "#{company.departments.{d|d.name}}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:214 +#, no-c-format +msgid "" +"The subexpression is enclosed in braces. In this example, the expression " +"d.name is evaluated for each department, using " +"d as an alias to the department object. The result of " +"this expression will be a list of String values." +msgstr "" + +#. Tag: para +#: Elenhancements.xml:221 +#, no-c-format +msgid "" +"Any valid expression can be used in an expression, so it would be perfect= ly " +"valid to write the following, assuming you had a use for the lengths of a= ll " +"the department names in a company:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:227 +#, no-c-format +msgid "#{company.departments.{d|d.size()}}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:229 +#, no-c-format +msgid "" +"Projections can be nested. The following expression returns the last name= s " +"of every employee in every department:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:234 +#, no-c-format +msgid "#{company.departments.{d|d.employees.{emp|emp.lastName}}}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:236 +#, no-c-format +msgid "" +"Nested projections can be slightly tricky, however. The following express= ion " +"looks like it returns a list of all the employees in all the departments:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:242 +#, no-c-format +msgid "#{company.departments.{d|d.employees}}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:244 +#, no-c-format +msgid "" +"However, it actually returns a list containing a list of the employees fo= r " +"each individual department. To combine the values, it is necessary to use= a " +"slightly longer expression:" +msgstr "" + +#. Tag: programlisting +#: Elenhancements.xml:250 +#, no-c-format +msgid "#{company.departments.{d|d.employees.{e|e}}}" +msgstr "" + +#. Tag: para +#: Elenhancements.xml:252 +#, no-c-format +msgid "" +"It is important to note that this syntax cannot be parsed by Facelets or = JSP " +"and thus cannot be used in xhtml or JSP files. We anticipate that the " +"projection syntax will change in future versions of JBoss EL." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Events.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Events.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Events.po 2008-04-21 0= 0:41:49 UTC (rev 7985) @@ -0,0 +1,1889 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Events.xml:6 +#, no-c-format +msgid "Events, interceptors and exception handling" +msgstr "" + +#. Tag: para +#: Events.xml:8 +#, no-c-format +msgid "" +"Complementing the contextual component model, there are two further basic= " +"concepts that facilitate the extreme loose-coupling that is the distincti= ve " +"feature of Seam applications. The first is a strong event model where eve= nts " +"may be mapped to event listeners via JSF-like method binding expressions.= " +"The second is the pervasive use of annotations and interceptors to apply " +"cross-cutting concerns to components which implement business logic." +msgstr "" + +#. Tag: title +#: Events.xml:18 +#, no-c-format +msgid "Seam events" +msgstr "" + +#. Tag: para +#: Events.xml:19 +#, no-c-format +msgid "" +"The Seam component model was developed for use with event-drive= n " +"applications, specifically to enable the development of fine-" +"grained, loosely-coupled components in a fine-grained eventing model. Eve= nts " +"in Seam come in several types, most of which we have already seen:" +msgstr "" + +#. Tag: para +#: Events.xml:28 +#, no-c-format +msgid "JSF events" +msgstr "" + +#. Tag: para +#: Events.xml:31 +#, no-c-format +msgid "jBPM transition events" +msgstr "" + +#. Tag: para +#: Events.xml:34 +#, no-c-format +msgid "Seam page actions" +msgstr "" + +#. Tag: para +#: Events.xml:37 +#, no-c-format +msgid "Seam component-driven events" +msgstr "" + +#. Tag: para +#: Events.xml:40 +#, no-c-format +msgid "Seam contextual events" +msgstr "" + +#. Tag: para +#: Events.xml:44 +#, no-c-format +msgid "" +"All of these various kinds of events are mapped to Seam components via JS= F " +"EL method binding expressions. For a JSF event, this is defined in the JS= F " +"template:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:49 +#, no-c-format +msgid "" +"<h:commandButton value=3D\"Click me!\" action=3D\"#{helloWorld.s= ayHello}" +"\"/>" +msgstr "" + +#. Tag: para +#: Events.xml:53 +#, no-c-format +msgid "" +"For a jBPM transition event, it is specified in the jBPM process definiti= on " +"or pageflow definition:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:58 +#, no-c-format +msgid "" +"<start-page name=3D\"hello\" view-id=3D\"/hello.jsp\">\n" +" <transition to=3D\"hello\">\n" +" <action expression=3D\"#{helloWorld.sayHello}\"/>\n" +" </transition>\n" +"</start-page>" +msgstr "" + +#. Tag: para +#: Events.xml:60 +#, no-c-format +msgid "" +"You can find out more information about JSF events and jBPM events " +"elsewhere. Let's concentrate for now upon the two additional kinds of eve= nts " +"defined by Seam." +msgstr "" + +#. Tag: title +#: Events.xml:67 +#, no-c-format +msgid "Page actions" +msgstr "" + +#. Tag: para +#: Events.xml:69 +#, no-c-format +msgid "" +"A Seam page action is an event that occurs just before we render a page. = We " +"declare page actions in WEB-INF/pages.xml. We can defi= ne " +"a page action for either a particular JSF view id:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:75 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/hello.jsp\" action=3D\"#{helloWorld.sayHello}\"/>\= n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:77 +#, no-c-format +msgid "" +"Or we can use a * wildcard as a suffix to the " +"view-id to specify an action that applies to all view = ids " +"that match the pattern:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:83 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/hello/*\" action=3D\"#{helloWorld.sayHello}\"/>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:85 +#, no-c-format +msgid "" +"If multiple wildcarded page actions match the current view-id, Seam will " +"call all the actions, in order of least-specific to most-specific." +msgstr "" + +#. Tag: para +#: Events.xml:90 +#, no-c-format +msgid "" +"The page action method can return a JSF outcome. If the outcome is non-nu= ll, " +"Seam will use the defined navigation rules to navigate to a view." +msgstr "" + +#. Tag: para +#: Events.xml:95 +#, no-c-format +msgid "" +"Furthermore, the view id mentioned in the <page>= " +"element need not correspond to a real JSP or Facelets page! So, we can " +"reproduce the functionality of a traditional action-oriented framework li= ke " +"Struts or WebWork using page actions. For example:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:102 +#, no-c-format +msgid "TODO: translate struts action into page action" +msgstr "" + +#. Tag: para +#: Events.xml:105 +#, no-c-format +msgid "" +"This is quite useful if you want to do complex things in response to non-" +"faces requests (for example, HTTP GET requests)." +msgstr "" + +#. Tag: para +#: Events.xml:110 +#, no-c-format +msgid "" +"Multiple or conditional page actions my be specified using the &= lt;" +"action> tag:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:115 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/hello.jsp\">\n" +" <action execute=3D\"#{helloWorld.sayHello}\" if=3D\"#{not validat= ion." +"failed}\"/>\n" +" <action execute=3D\"#{hitCount.increment}\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: title +#: Events.xml:121 +#, no-c-format +msgid "Page parameters" +msgstr "" + +#. Tag: para +#: Events.xml:123 +#, no-c-format +msgid "" +"A JSF faces request (a form submission) encapsulates both an \"action\" (= a " +"method binding) and \"parameters\" (input value bindings). A page action " +"might also needs parameters!" +msgstr "" + +#. Tag: para +#: Events.xml:129 +#, no-c-format +msgid "" +"Since GET requests are bookmarkable, page parameters are passed as human-" +"readable request parameters. (Unlike JSF form inputs, which are anything " +"but!)" +msgstr "" + +#. Tag: para +#: Events.xml:135 +#, no-c-format +msgid "You can use page parameters with or without an action method." +msgstr "" + +#. Tag: title +#: Events.xml:140 +#, no-c-format +msgid "Mapping request parameters to the model" +msgstr "" + +#. Tag: para +#: Events.xml:142 +#, no-c-format +msgid "" +"Seam lets us provide a value binding that maps a named request parameter = to " +"an attribute of a model object." +msgstr "" + +#. Tag: programlisting +#: Events.xml:147 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/hello.jsp\" action=3D\"#{helloWorld.sayHello}\">= \n" +" <param name=3D\"firstName\" value=3D\"#{person.firstName}\"/>\n" +" <param name=3D\"lastName\" value=3D\"#{person.lastName}\"/>\n" +" </page>\n" +" </pages>" +msgstr "" + +#. Tag: para +#: Events.xml:149 +#, no-c-format +msgid "" +"The <param> declaration is bidirectional, just l= ike " +"a value binding for a JSF input:" +msgstr "" + +#. Tag: para +#: Events.xml:156 +#, no-c-format +msgid "" +"When a non-faces (GET) request for the view id occurs, Seam sets the valu= e " +"of the named request parameter onto the model object, after performing " +"appropriate type conversions." +msgstr "" + +#. Tag: para +#: Events.xml:163 +#, no-c-format +msgid "" +"Any <s:link> or <s:button> " +"transparently includes the request parameter. The value of the parameter = is " +"determined by evaluating the value binding during the render phase (when = the " +"<s:link> is rendered)." +msgstr "" + +#. Tag: para +#: Events.xml:171 +#, no-c-format +msgid "" +"Any navigation rule with a <redirect/> to the vi= ew " +"id transparently includes the request parameter. The value of the paramet= er " +"is determined by evaluating the value binding at the end of the invoke " +"application phase." +msgstr "" + +#. Tag: para +#: Events.xml:179 +#, no-c-format +msgid "" +"The value is transparently propagated with any JSF form submission for th= e " +"page with the given view id. This means that view parameters behave like " +"PAGE-scoped context variables for faces requests." +msgstr "" + +#. Tag: para +#: Events.xml:188 +#, no-c-format +msgid "" +"The essential idea behind all this is that however w= e " +"get from any other page to /hello.jsp (or from /" +"hello.jsp back to /hello.jsp), the value of = the " +"model attribute referred to in the value binding is \"remembered\", witho= ut " +"the need for a conversation (or other server-side state)." +msgstr "" + +#. Tag: title +#: Events.xml:201 +#, no-c-format +msgid "Propagating request parameters" +msgstr "" + +#. Tag: para +#: Events.xml:203 +#, no-c-format +msgid "" +"If just the name attribute is specified then the reque= st " +"parameter is propagated using the PAGE context (it isn= 't " +"mapped to model property)." +msgstr "" + +#. Tag: programlisting +#: Events.xml:209 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/hello.jsp\" action=3D\"#{helloWorld.sayHello}\">= \n" +" <param name=3D\"firstName\" />\n" +" <param name=3D\"lastName\" />\n" +" </page>\n" +" </pages>" +msgstr "" + +#. Tag: para +#: Events.xml:212 +#, no-c-format +msgid "" +"Propagation of page parameters is especially useful if you want to build " +"multi-layer master-detail CRUD pages. You can use it to \"remember\" whic= h " +"view you were previously on (e.g. when pressing the Save button), and whi= ch " +"entity you were editing." +msgstr "" + +#. Tag: para +#: Events.xml:219 +#, no-c-format +msgid "" +"Any <s:link> or <s:button> " +"transparently propagates the request parameter if that parameter is liste= d " +"as a page parameter for the view." +msgstr "" + +#. Tag: para +#: Events.xml:226 +#, no-c-format +msgid "" +"The value is transparently propagated with any JSF form submission for th= e " +"page with the given view id. (This means that view parameters behave like= " +"PAGE-scoped context variables for faces requests." +msgstr "" + +#. Tag: para +#: Events.xml:235 +#, no-c-format +msgid "" +"This all sounds pretty complex, and you're probably wondering if such an " +"exotic construct is really worth the effort. Actually, the idea is very " +"natural once you \"get it\". It is definitely worth taking the time to " +"understand this stuff. Page parameters are the most elegant way to propag= ate " +"state across a non-faces request. They are especially cool for problems l= ike " +"search screens with bookmarkable results pages, where we would like to be= " +"able to write our application code to handle both POST and GET requests w= ith " +"the same code. Page parameters eliminate repetitive listing of request " +"parameters in the view definition and make redirects much easier to code." +msgstr "" + +#. Tag: title +#: Events.xml:252 +#, no-c-format +msgid "Conversion and Validation" +msgstr "" + +#. Tag: para +#: Events.xml:254 +#, no-c-format +msgid "You can specify a JSF converter for complex model propreties:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:258 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/calculator.jsp\" action=3D\"#{calculator.calculate}= \">\n" +" <param name=3D\"x\" value=3D\"#{calculator.lhs}\"/>\n" +" <param name=3D\"y\" value=3D\"#{calculator.rhs}\"/>\n" +" <param name=3D\"op\" converterId=3D\"com.my.calculator.OperatorConv= erter\" " +"value=3D\"#{calculator.op}\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:260 Events.xml:273 +#, no-c-format +msgid "Alternatively:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:264 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/calculator.jsp\" action=3D\"#{calculator.calculate}= \">\n" +" <param name=3D\"x\" value=3D\"#{calculator.lhs}\"/>\n" +" <param name=3D\"y\" value=3D\"#{calculator.rhs}\"/>\n" +" <param name=3D\"op\" converter=3D\"#{operatorConverter}\" value=3D\= "#" +"{calculator.op}\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:267 +#, no-c-format +msgid "" +"JSF validators, and required=3D\"true\" may also be us= ed:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:271 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/blog.xhtml\">\n" +" <param name=3D\"date\" \n" +" value=3D\"#{blog.date}\" \n" +" validatorId=3D\"com.my.blog.PastDate\" \n" +" required=3D\"true\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: programlisting +#: Events.xml:277 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/blog.xhtml\">\n" +" <param name=3D\"date\" \n" +" value=3D\"#{blog.date}\" \n" +" validator=3D\"#{pastDateValidator}\" \n" +" required=3D\"true\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:279 +#, no-c-format +msgid "" +"Even better, model-based Hibernate validator annotations are automaticall= y " +"recognized and validated." +msgstr "" + +#. Tag: para +#: Events.xml:284 +#, no-c-format +msgid "" +"When type conversion or validation fails, a global FacesMessage<= /" +"literal> is added to the FacesContext." +msgstr "" + +#. Tag: title +#: Events.xml:292 +#, no-c-format +msgid "Navigation" +msgstr "" + +#. Tag: para +#: Events.xml:294 +#, no-c-format +msgid "" +"You can use standard JSF navigation rules defined in faces-confi= g." +"xml in a Seam application. However, JSF navigation rules have a= " +"number of annoying limitations:" +msgstr "" + +#. Tag: para +#: Events.xml:302 +#, no-c-format +msgid "" +"It is not possible to specify request parameters to be used when redirect= ing." +msgstr "" + +#. Tag: para +#: Events.xml:307 +#, no-c-format +msgid "It is not possible to begin or end conversations from a rule." +msgstr "" + +#. Tag: para +#: Events.xml:312 +#, no-c-format +msgid "" +"Rules work by evaluating the return value of the action method; it is not= " +"possible to evaluate an arbitrary EL expression." +msgstr "" + +#. Tag: para +#: Events.xml:319 +#, no-c-format +msgid "" +"A further problem is that \"orchestration\" logic gets scattered between " +"pages.xml and faces-config.xml. It'= s " +"better to unify this logic into pages.xml." +msgstr "" + +#. Tag: para +#: Events.xml:324 +#, no-c-format +msgid "This JSF navigation rule:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:328 +#, no-c-format +msgid "" +"<navigation-rule>\n" +" <from-view-id>/editDocument.xhtml</from-view-id>\n" +" \n" +" <navigation-case>\n" +" <from-action>#{documentEditor.update}</from-action>\n" +" <from-outcome>success</from-outcome>\n" +" <to-view-id>/viewDocument.xhtml</to-view-id>\n" +" <redirect/>\n" +" </navigation-case>\n" +" \n" +"</navigation-rule>" +msgstr "" + +#. Tag: para +#: Events.xml:330 +#, no-c-format +msgid "Can be rewritten as follows:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:334 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <rule if-outcome=3D\"success\">\n" +" <redirect view-id=3D\"/viewDocument.xhtml\"/>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:336 +#, no-c-format +msgid "" +"But it would be even nicer if we didn't have to pollute our " +"DocumentEditor component with string-valued return val= ues " +"(the JSF outcomes). So Seam lets us write:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:341 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\" \n" +" evaluate=3D\"#{documentEditor.errors.size}\">\n" +" <rule if-outcome=3D\"0\">\n" +" <redirect view-id=3D\"/viewDocument.xhtml\"/>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:343 +#, no-c-format +msgid "Or even:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:347 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <rule if=3D\"#{documentEditor.errors.empty}\">\n" +" <redirect view-id=3D\"/viewDocument.xhtml\"/>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:349 +#, no-c-format +msgid "" +"The first form evaluates a value binding to determine the outcome value t= o " +"be used by the subsequent rules. The second approach ignores the outcome = and " +"evaluates a value binding for each possible rule." +msgstr "" + +#. Tag: para +#: Events.xml:356 +#, no-c-format +msgid "" +"Of course, when an update succeeds, we probably want to end the current " +"conversation. We can do that like this:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:361 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <rule if=3D\"#{documentEditor.errors.empty}\">\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/viewDocument.xhtml\"/>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:363 +#, no-c-format +msgid "" +"As we've ended conversation any subsequent requests won't know which " +"document we are interested in. We can pass the document id as a request " +"parameter which also makes the view bookmarkable:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:369 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <rule if=3D\"#{documentEditor.errors.empty}\">\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/viewDocument.xhtml\">\n" +" <param name=3D\"documentId\" value=3D\"#{documentEditor." +"documentId}\"/>\n" +" </redirect>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:371 +#, no-c-format +msgid "" +"Null outcomes are a special case in JSF. The null outcome is interpreted = to " +"mean \"redisplay the page\". The following navigation rule matches any no= n-" +"null outcome, but not the null outcome:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:377 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <rule>\n" +" <render view-id=3D\"/viewDocument.xhtml\"/>\n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:379 +#, no-c-format +msgid "" +"If you want to perform navigation when a null outcome occurs, use the " +"following form instead:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:384 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +" \n" +" <navigation from-action=3D\"#{documentEditor.update}\">\n" +" <render view-id=3D\"/viewDocument.xhtml\"/>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: para +#: Events.xml:386 +#, no-c-format +msgid "The view-id may be given as a JSF EL expression:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:390 +#, no-c-format +msgid "" +"<page view-id=3D\"/editDocument.xhtml\">\n" +"\n" +" <navigation>\n" +" <rule if-outcome=3D\"success\">\n" +" <redirect view-id=3D\"/#{userAgent}/displayDocument.xhtml\"/>= \n" +" </rule>\n" +" </navigation>\n" +" \n" +"</page>" +msgstr "" + +#. Tag: title +#: Events.xml:395 +#, no-c-format +msgid "" +"Fine-grained files for definition of navigation, page actions and paramet= ers" +msgstr "" + +#. Tag: para +#: Events.xml:397 +#, no-c-format +msgid "" +"If you have a lot of different page actions and page parameters, or even " +"just a lot of navigation rules, you will almost certainly want to split t= he " +"declarations up over multiple files. You can define actions and parameter= s " +"for a page with the view id /calc/calculator.jsp in a " +"resource named calc/calculator.page.xml. The root elem= ent " +"in this case is the <page> element, and the view= id " +"is implied:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:408 +#, no-c-format +msgid "" +"<page action=3D\"#{calculator.calculate}\">\n" +" <param name=3D\"x\" value=3D\"#{calculator.lhs}\"/>\n" +" <param name=3D\"y\" value=3D\"#{calculator.rhs}\"/>\n" +" <param name=3D\"op\" converter=3D\"#{operatorConverter}\" value=3D\"#" +"{calculator.op}\"/>\n" +"</page>" +msgstr "" + +#. Tag: title +#: Events.xml:415 +#, no-c-format +msgid "Component-driven events" +msgstr "" + +#. Tag: para +#: Events.xml:417 +#, no-c-format +msgid "" +"Seam components can interact by simply calling each others methods. State= ful " +"components may even implement the observer/observable pattern. But to ena= ble " +"components to interact in a more loosely-coupled fashion than is possible= " +"when the components call each others methods directly, Seam provides " +"component-driven events." +msgstr "" + +#. Tag: para +#: Events.xml:425 +#, no-c-format +msgid "" +"We specify event listeners (observers) in components.xml." +msgstr "" + +#. Tag: programlisting +#: Events.xml:429 +#, no-c-format +msgid "" +"<components>\n" +" <event type=3D\"hello\">\n" +" <action execute=3D\"#{helloListener.sayHelloBack}\"/>\n" +" <action execute=3D\"#{logger.logHello}\"/>\n" +" </event>\n" +"</components>" +msgstr "" + +#. Tag: para +#: Events.xml:431 +#, no-c-format +msgid "Where the event type is just an arbitrary stri= ng." +msgstr "" + +#. Tag: para +#: Events.xml:435 +#, no-c-format +msgid "" +"When an event occurs, the actions registered for that event will be calle= d " +"in the order they appear in components.xml. How does a= " +"component raise an event? Seam provides a built-in component for this." +msgstr "" + +#. Tag: programlisting +#: Events.xml:441 +#, no-c-format +msgid "" +"@Name(\"helloWorld\")\n" +"public class HelloWorld {\n" +" public void sayHello() {\n" +" FacesMessages.instance().add(\"Hello World!\");\n" +" Events.instance().raiseEvent(\"hello\");\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:443 +#, no-c-format +msgid "Or you can use an annotation." +msgstr "" + +#. Tag: programlisting +#: Events.xml:447 +#, no-c-format +msgid "" +"@Name(\"helloWorld\")\n" +"public class HelloWorld {\n" +" @RaiseEvent(\"hello\")\n" +" public void sayHello() {\n" +" FacesMessages.instance().add(\"Hello World!\");\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:449 +#, no-c-format +msgid "" +"Notice that this event producer has no dependency upon event consumers. T= he " +"event listener may now be implemented with absolutely no dependency upon = the " +"producer:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:455 +#, no-c-format +msgid "" +"@Name(\"helloListener\")\n" +"public class HelloListener {\n" +" public void sayHelloBack() {\n" +" FacesMessages.instance().add(\"Hello to you too!\");\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:457 +#, no-c-format +msgid "" +"The method binding defined in components.xml above tak= es " +"care of mapping the event to the consumer. If you don't like futzing abou= t " +"in the components.xml file, you can use an annotation " +"instead:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:464 +#, no-c-format +msgid "" +"@Name(\"helloListener\")\n" +"public class HelloListener {\n" +" @Observer(\"hello\")\n" +" public void sayHelloBack() {\n" +" FacesMessages.instance().add(\"Hello to you too!\");\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:466 +#, no-c-format +msgid "" +"You might wonder why I've not mentioned anything about event objects in t= his " +"discussion. In Seam, there is no need for an event object to propagate st= ate " +"between event producer and listener. State is held in the Seam contexts, = and " +"is shared between components. However, if you really want to pass an even= t " +"object, you can:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:474 +#, no-c-format +msgid "" +"@Name(\"helloWorld\")\n" +"public class HelloWorld {\n" +" private String name;\n" +" public void sayHello() {\n" +" FacesMessages.instance().add(\"Hello World, my name is #0.\", " +"name);\n" +" Events.instance().raiseEvent(\"hello\", name);\n" +" }\n" +"}" +msgstr "" + +#. Tag: programlisting +#: Events.xml:476 +#, no-c-format +msgid "" +"@Name(\"helloListener\")\n" +"public class HelloListener {\n" +" @Observer(\"hello\")\n" +" public void sayHelloBack(String name) {\n" +" FacesMessages.instance().add(\"Hello #0!\", name);\n" +" }\n" +"}" +msgstr "" + +#. Tag: title +#: Events.xml:481 +#, no-c-format +msgid "Contextual events" +msgstr "" + +#. Tag: para +#: Events.xml:482 +#, no-c-format +msgid "" +"Seam defines a number of built-in events that the application can use to " +"perform special kinds of framework integration. The events are:" +msgstr "" + +#. Tag: para +#: Events.xml:488 +#, no-c-format +msgid "" +"org.jboss.seam.validationFailed — called when JS= F " +"validation fails" +msgstr "" + +#. Tag: para +#: Events.xml:489 +#, no-c-format +msgid "" +"org.jboss.seam.noConversation — called when ther= e " +"is no long running conversation and a long running conversation is requir= ed" +msgstr "" + +#. Tag: para +#: Events.xml:490 +#, no-c-format +msgid "" +"org.jboss.seam.preSetVariable.<name> — cal= led " +"when the context variable <name> is set" +msgstr "" + +#. Tag: para +#: Events.xml:491 +#, no-c-format +msgid "" +"org.jboss.seam.postSetVariable.<name> — " +"called when the context variable <name> is set" +msgstr "" + +#. Tag: para +#: Events.xml:492 +#, no-c-format +msgid "" +"org.jboss.seam.preRemoveVariable.<name> — " +"called when the context variable <name> is unset" +msgstr "" + +#. Tag: para +#: Events.xml:493 +#, no-c-format +msgid "" +"org.jboss.seam.postRemoveVariable.<name> —= " +"called when the context variable <name> is unset" +msgstr "" + +#. Tag: para +#: Events.xml:494 +#, no-c-format +msgid "" +"org.jboss.seam.preDestroyContext.<SCOPE> —= " +"called before the <SCOPE> context is destroyed" +msgstr "" + +#. Tag: para +#: Events.xml:495 +#, no-c-format +msgid "" +"org.jboss.seam.postDestroyContext.<SCOPE> —= ; " +"called after the <SCOPE> context is destroyed" +msgstr "" + +#. Tag: para +#: Events.xml:496 +#, no-c-format +msgid "" +"org.jboss.seam.beginConversation — called whenev= er " +"a long-running conversation begins" +msgstr "" + +#. Tag: para +#: Events.xml:497 +#, no-c-format +msgid "" +"org.jboss.seam.endConversation — called whenever= a " +"long-running conversation ends" +msgstr "" + +#. Tag: para +#: Events.xml:498 +#, no-c-format +msgid "" +"org.jboss.seam.conversationTimeout— called when = a " +"conversation timeout occurs. The conversation id is passed as a parameter= ." +msgstr "" + +#. Tag: para +#: Events.xml:499 +#, no-c-format +msgid "" +"org.jboss.seam.beginPageflow — called when a " +"pageflow begins" +msgstr "" + +#. Tag: para +#: Events.xml:500 +#, no-c-format +msgid "" +"org.jboss.seam.beginPageflow.<name> — call= ed " +"when the pageflow <name> begins" +msgstr "" + +#. Tag: para +#: Events.xml:501 +#, no-c-format +msgid "" +"org.jboss.seam.endPageflow — called when a pagef= low " +"ends" +msgstr "" + +#. Tag: para +#: Events.xml:502 +#, no-c-format +msgid "" +"org.jboss.seam.endPageflow.<name> — called= " +"when the pageflow <name> ends" +msgstr "" + +#. Tag: para +#: Events.xml:503 +#, no-c-format +msgid "" +"org.jboss.seam.createProcess.<name> — call= ed " +"when the process <name> is created" +msgstr "" + +#. Tag: para +#: Events.xml:504 +#, no-c-format +msgid "" +"org.jboss.seam.endProcess.<name> — called " +"when the process <name> ends" +msgstr "" + +#. Tag: para +#: Events.xml:505 +#, no-c-format +msgid "" +"org.jboss.seam.initProcess.<name> — called= " +"when the process <name> is associated with the conversation" +msgstr "" + +#. Tag: para +#: Events.xml:506 +#, no-c-format +msgid "" +"org.jboss.seam.initTask.<name> — called wh= en " +"the task <name> is associated with the conversation" +msgstr "" + +#. Tag: para +#: Events.xml:507 +#, no-c-format +msgid "" +"org.jboss.seam.startTask.<name> — called w= hen " +"the task <name> is started" +msgstr "" + +#. Tag: para +#: Events.xml:508 +#, no-c-format +msgid "" +"org.jboss.seam.endTask.<name> — called whe= n " +"the task <name> is ended" +msgstr "" + +#. Tag: para +#: Events.xml:509 +#, no-c-format +msgid "" +"org.jboss.seam.postCreate.<name> — called " +"when the component <name> is created" +msgstr "" + +#. Tag: para +#: Events.xml:510 +#, no-c-format +msgid "" +"org.jboss.seam.preDestroy.<name> — called " +"when the component <name> is destroyed" +msgstr "" + +#. Tag: para +#: Events.xml:511 +#, no-c-format +msgid "" +"org.jboss.seam.beforePhase — called before the " +"start of a JSF phase" +msgstr "" + +#. Tag: para +#: Events.xml:512 +#, no-c-format +msgid "" +"org.jboss.seam.afterPhase — called after the end= of " +"a JSF phase" +msgstr "" + +#. Tag: para +#: Events.xml:513 +#, no-c-format +msgid "" +"org.jboss.seam.postInitialization — called when " +"Seam has initialized and started up all components" +msgstr "" + +#. Tag: para +#: Events.xml:514 +#, no-c-format +msgid "" +"org.jboss.seam.postAuthenticate.<name> — " +"called after a user is authenticated" +msgstr "" + +#. Tag: para +#: Events.xml:515 +#, no-c-format +msgid "" +"org.jboss.seam.preAuthenticate.<name> — " +"called before attempting to authenticate a user" +msgstr "" + +#. Tag: para +#: Events.xml:516 +#, no-c-format +msgid "" +"org.jboss.seam.notLoggedIn — called there is no " +"authenticated user and authentication is required" +msgstr "" + +#. Tag: para +#: Events.xml:517 +#, no-c-format +msgid "" +"org.jboss.seam.rememberMe — occurs when Seam " +"security detects the username in a cookie" +msgstr "" + +#. Tag: para +#: Events.xml:518 +#, no-c-format +msgid "" +"org.jboss.seam.exceptionHandled.<type> — " +"called when an uncaught exception is handled by Seam" +msgstr "" + +#. Tag: para +#: Events.xml:519 +#, no-c-format +msgid "" +"org.jboss.seam.exceptionHandled — called when an= " +"uncaught exception is handled by Seam" +msgstr "" + +#. Tag: para +#: Events.xml:520 +#, no-c-format +msgid "" +"org.jboss.seam.exceptionNotHandled — called when= " +"there was no handler for an uncaught exception" +msgstr "" + +#. Tag: para +#: Events.xml:521 +#, no-c-format +msgid "" +"org.jboss.seam.afterTransactionSuccess — called " +"when a transaction succeeds in the Seam Application Framework" +msgstr "" + +#. Tag: para +#: Events.xml:522 +#, no-c-format +msgid "" +"org.jboss.seam.afterTransactionSuccess.<name> " +"— called when a transaction succeeds in the Seam Application Framew= ork " +"which manages an entity called <name>" +msgstr "" + +#. Tag: para +#: Events.xml:525 +#, no-c-format +msgid "" +"Seam components may observe any of these events in just the same way they= " +"observe any other component-driven events." +msgstr "" + +#. Tag: title +#: Events.xml:534 +#, no-c-format +msgid "Seam interceptors" +msgstr "" + +#. Tag: para +#: Events.xml:536 +#, no-c-format +msgid "" +"EJB 3.0 introduced a standard interceptor model for session bean componen= ts. " +"To add an interceptor to a bean, you need to write a class with a method " +"annotated @AroundInvoke and annotate the bean with an " +"@Interceptors annotation that specifies the name of th= e " +"interceptor class. For example, the following interceptor checks that the= " +"user is logged in before allowing invoking an action listener method:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:545 +#, no-c-format +msgid "" +"public class LoggedInInterceptor {\n" +"\n" +" @AroundInvoke\n" +" public Object checkLoggedIn(InvocationContext invocation) throws " +"Exception {\n" +" \n" +" boolean isLoggedIn =3D Contexts.getSessionContext().get(\"loggedIn\= ")!" +"=3Dnull;\n" +" if (isLoggedIn) {\n" +" //the user is already logged in\n" +" return invocation.proceed();\n" +" }\n" +" else {\n" +" //the user is not logged in, fwd to login page\n" +" return \"login\";\n" +" }\n" +" }\n" +"\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:547 +#, no-c-format +msgid "" +"To apply this interceptor to a session bean which acts as an action " +"listener, we must annotate the session bean @Interceptors" +"(LoggedInInterceptor.class). This is a somewhat ugly annotation= . " +"Seam builds upon the interceptor framework in EJB3 by allowing you to use= " +"@Interceptors as a meta-annotation for class level " +"interceptors (those annotated @Target(TYPE)). In our " +"example, we would create an @LoggedIn annotation, as " +"follows:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:556 +#, no-c-format +msgid "" +"@Target(TYPE)\n" +"@Retention(RUNTIME)\n" +"@Interceptors(LoggedInInterceptor.class)\n" +"public @interface LoggedIn {}" +msgstr "" + +#. Tag: para +#: Events.xml:558 +#, no-c-format +msgid "" +"We can now simply annotate our action listener bean with @Logged= In to apply the interceptor." +msgstr "" + +#. Tag: programlisting +#: Events.xml:563 +#, no-c-format +msgid "" +"@Stateless\n" +"@Name(\"changePasswordAction\")\n" +"@LoggedIn\n" +"@Interceptors(SeamInterceptor.class)\n" +"public class ChangePasswordAction implements ChangePassword { \n" +" \n" +" ...\n" +" \n" +" public String changePassword() { ... }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:565 +#, no-c-format +msgid "" +"If interceptor ordering is important (it usually is), you can add " +"@Interceptor annotations to your interceptor classes t= o " +"specify a partial order of interceptors." +msgstr "" + +#. Tag: programlisting +#: Events.xml:571 +#, no-c-format +msgid "" +"@Interceptor(around=3D{BijectionInterceptor.class,\n" +" ValidationInterceptor.class,\n" +" ConversationInterceptor.class},\n" +" within=3DRemoveInterceptor.class)\n" +"public class LoggedInInterceptor\n" +"{\n" +" ...\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:573 +#, no-c-format +msgid "" +"You can even have a \"client-side\" interceptor, that runs around any of = the " +"built-in functionality of EJB3:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:578 +#, no-c-format +msgid "" +"@Interceptor(type=3DCLIENT)\n" +"public class LoggedInInterceptor\n" +"{\n" +" ...\n" +"}" +msgstr "" + +#. Tag: para +#: Events.xml:580 +#, no-c-format +msgid "" +"EJB interceptors are stateful, with a lifecycle that is the same as the " +"component they intercept. For interceptors which do not need to maintain " +"state, Seam lets you get a performance optimization by specifying " +"@Interceptor(stateless=3Dtrue)." +msgstr "" + +#. Tag: para +#: Events.xml:587 +#, no-c-format +msgid "" +"Much of the functionality of Seam is implemented as a set of built-in Sea= m " +"interceptors, including the interceptors named in the previous example. Y= ou " +"don't have to explicitly specify these interceptors by annotating your " +"components; they exist for all interceptable Seam components." +msgstr "" + +#. Tag: para +#: Events.xml:594 +#, no-c-format +msgid "" +"You can even use Seam interceptors with JavaBean components, not just EJB= 3 " +"beans!" +msgstr "" + +#. Tag: para +#: Events.xml:598 +#, no-c-format +msgid "" +"EJB defines interception not only for business methods (using " +"@AroundInvoke), but also for the lifecycle methods " +"@PostConstruct, @PreDestroy, " +"@PrePassivate and @PostActive. Seam= " +"supports all these lifecycle methods on both component and interceptor no= t " +"only for EJB3 beans, but also for JavaBean components (except " +"@PreDestroy which is not meaningful for JavaBean " +"components)." +msgstr "" + +#. Tag: title +#: Events.xml:610 +#, no-c-format +msgid "Managing exceptions" +msgstr "" + +#. Tag: para +#: Events.xml:612 +#, no-c-format +msgid "" +"JSF is surprisingly limited when it comes to exception handling. As a " +"partial workaround for this problem, Seam lets you define how a particula= r " +"class of exception is to be treated by annotating the exception class, or= " +"declaring the exception class in an XML file. This facility is meant to b= e " +"combined with the EJB 3.0-standard @ApplicationException " +"annotation which specifies whether the exception should cause a transacti= on " +"rollback." +msgstr "" + +#. Tag: title +#: Events.xml:622 +#, no-c-format +msgid "Exceptions and transactions" +msgstr "" + +#. Tag: para +#: Events.xml:624 +#, no-c-format +msgid "" +"EJB specifies well-defined rules that let us control whether an exception= " +"immediately marks the current transaction for rollback when it is thrown = by " +"a business method of the bean: system exceptions alw= ays " +"cause a transaction rollback, application exceptions= do " +"not cause a rollback by default, but they do if " +"@ApplicationException(rollback=3Dtrue) is specified. (= An " +"application exception is any checked exception, or any unchecked exceptio= n " +"annotated @ApplicationException. A system exception is= " +"any unchecked exception without an @ApplicationException " +"annotation.)" +msgstr "" + +#. Tag: para +#: Events.xml:637 +#, no-c-format +msgid "" +"Note that there is a difference between marking a transaction for rollbac= k, " +"and actually rolling it back. The exception rules say that the transactio= n " +"should be marked rollback only, but it may still be active after the " +"exception is thrown." +msgstr "" + +#. Tag: para +#: Events.xml:644 +#, no-c-format +msgid "" +"Seam applies the EJB 3.0 exception rollback rules also to Seam JavaBean " +"components." +msgstr "" + +#. Tag: para +#: Events.xml:649 +#, no-c-format +msgid "" +"But these rules only apply in the Seam component layer. What about an " +"exception that is uncaught and propagates out of the Seam component layer= , " +"and out of the JSF layer? Well, it is always wrong to leave a dangling " +"transaction open, so Seam rolls back any active transaction when an " +"exception occurs and is uncaught in the Seam component layer." +msgstr "" + +#. Tag: title +#: Events.xml:659 +#, no-c-format +msgid "Enabling Seam exception handling" +msgstr "" + +#. Tag: para +#: Events.xml:661 +#, no-c-format +msgid "" +"To enable Seam's exception handling, we need to make sure we have the mas= ter " +"servlet filter declared in web.xml:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:666 +#, no-c-format +msgid "" +"<filter>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>\n" +"</filter>\n" +"\n" +"<filter-mapping>\n" +" <filter-name>Seam Filter</filter-name>\n" +" <url-pattern>*.seam</url-pattern>\n" +"</filter-mapping>" +msgstr "" + +#. Tag: para +#: Events.xml:668 +#, no-c-format +msgid "" +"You may also need to disable Facelets development mode in web.xm= l and Seam debug mode in components.xml if you " +"want your exception handlers to fire." +msgstr "" + +#. Tag: title +#: Events.xml:677 +#, no-c-format +msgid "Using annotations for exception handling" +msgstr "" + +#. Tag: para +#: Events.xml:679 +#, no-c-format +msgid "" +"The following exception results in a HTTP 404 error whenever it propagate= s " +"out of the Seam component layer. It does not roll back the current " +"transaction immediately when thrown, but the transaction will be rolled b= ack " +"if it the exception is not caught by another Seam component." +msgstr "" + +#. Tag: programlisting +#: Events.xml:686 +#, no-c-format +msgid "" +"@HttpError(errorCode=3D404)\n" +"public class ApplicationException extends Exception { ... }" +msgstr "" + +#. Tag: para +#: Events.xml:688 +#, no-c-format +msgid "" +"This exception results in a browser redirect whenever it propagates out o= f " +"the Seam component layer. It also ends the current conversation. It cause= s " +"an immediate rollback of the current transaction." +msgstr "" + +#. Tag: programlisting +#: Events.xml:694 +#, no-c-format +msgid "" +"@Redirect(viewId=3D\"/failure.xhtml\", end=3Dtrue)\n" +"@ApplicationException(rollback=3Dtrue)\n" +"public class UnrecoverableApplicationException extends RuntimeException " +"{ ... }" +msgstr "" + +#. Tag: para +#: Events.xml:696 +#, no-c-format +msgid "" +"Note that @Redirect does not work for exceptions which= " +"occur during the render phase of the JSF lifecycle." +msgstr "" + +#. Tag: para +#: Events.xml:701 +#, no-c-format +msgid "" +"You can also use EL to specify the viewId to redirect = to." +msgstr "" + +#. Tag: para +#: Events.xml:705 +#, no-c-format +msgid "" +"This exception results in a redirect, along with a message to the user, w= hen " +"it propagates out of the Seam component layer. It also immediately rolls " +"back the current transaction." +msgstr "" + +#. Tag: programlisting +#: Events.xml:711 +#, no-c-format +msgid "" +"@Redirect(viewId=3D\"/error.xhtml\", message=3D\"Unexpected erro= r\")\n" +"public class SystemException extends RuntimeException { ... }" +msgstr "" + +#. Tag: title +#: Events.xml:716 +#, no-c-format +msgid "Using XML for exception handling" +msgstr "" + +#. Tag: para +#: Events.xml:718 +#, no-c-format +msgid "" +"Since we can't add annotations to all the exception classes we are " +"interested in, Seam also lets us specify this functionality in " +"pages.xml." +msgstr "" + +#. Tag: programlisting +#: Events.xml:723 +#, no-c-format +msgid "" +"<pages>\n" +" \n" +" <exception class=3D\"javax.persistence.EntityNotFoundException\">\n" +" <http-error error-code=3D\"404\"/>\n" +" </exception>\n" +" \n" +" <exception class=3D\"javax.persistence.PersistenceException\">\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Database access failed</message>\n" +" </redirect>\n" +" </exception>\n" +" \n" +" <exception>\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Unexpected failure</message>\n" +" </redirect>\n" +" </exception>\n" +" \n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:725 +#, no-c-format +msgid "" +"The last <exception> declaration does not specif= y a " +"class, and is a catch-all for any exception for which handling is not " +"otherwise specified via annotations or in pages.xml." +msgstr "" + +#. Tag: para +#: Events.xml:731 +#, no-c-format +msgid "" +"You can also use EL to specify the view-id to redirect= to." +msgstr "" + +#. Tag: para +#: Events.xml:735 +#, no-c-format +msgid "" +"You can also access the handled exception instance through EL, Seam place= s " +"it in the conversation context, e.g. to access the message of the excepti= on:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:740 +#, no-c-format +msgid "" +"...\n" +"throw new AuthorizationException(\"You are not allowed to do this!\");\n" +"\n" +"<pages>\n" +"\n" +" <exception class=3D\"org.jboss.seam.security.AuthorizationException\"= >\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message severity=3D\"WARN\">#{org.jboss.seam.handledExceptio= n." +"message}</message>\n" +" </redirect>\n" +" </exception>\n" +"\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Events.xml:742 +#, no-c-format +msgid "" +"org.jboss.seam.handledException holds the nested " +"exception that was actually handled by an exception handler. The outermos= t " +"(wrapper) exception is also available, as org.jboss.seam.excepti= on." +msgstr "" + +#. Tag: title +#: Events.xml:749 +#, no-c-format +msgid "Suppressing exception logging" +msgstr "" + +#. Tag: para +#: Events.xml:751 +#, no-c-format +msgid "" +"For the exception handlers defined in pages.xml, it is= " +"possible to declare the logging level at which the exception will be logg= ed, " +"or to even suppress the exception being logged altogether. The attributes= " +"log and logLevel can be used to " +"control exception logging. By setting log=3D\"false\" = as " +"per the following example, then no log message will be generated when the= " +"specified exception occurs:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:760 +#, no-c-format +msgid "" +" <exception class=3D\"org.jboss.seam.security.NotLoggedInExce= ption" +"\" log=3D\"false\">\n" +" <redirect view-id=3D\"/register.xhtml\">\n" +" <message severity=3D\"warn\">You must be a member to use this= " +"feature</message>\n" +" </redirect>\n" +" </exception>" +msgstr "" + +#. Tag: para +#: Events.xml:762 +#, no-c-format +msgid "" +"If the log attribute is not specified, then it default= s " +"to true (i.e. the exception will be logged). " +"Alternatively, you can specify the logLevel to control= at " +"which log level the exception will be logged:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:768 +#, no-c-format +msgid "" +" <exception class=3D\"org.jboss.seam.security.NotLoggedInExce= ption" +"\" logLevel=3D\"info\">\n" +" <redirect view-id=3D\"/register.xhtml\">\n" +" <message severity=3D\"warn\">You must be a member to use this= " +"feature</message>\n" +" </redirect>\n" +" </exception>" +msgstr "" + +#. Tag: para +#: Events.xml:770 +#, no-c-format +msgid "" +"The acceptable values for logLevel are: fatal= , " +"error, warn, info, debug or trace. If the " +"logLevel is not specified, or if an invalid value is " +"configured, then it will default to error." +msgstr "" + +#. Tag: title +#: Events.xml:781 +#, no-c-format +msgid "Some common exceptions" +msgstr "" + +#. Tag: para +#: Events.xml:783 +#, no-c-format +msgid "If you are using JPA:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:787 +#, no-c-format +msgid "" +"<exception class=3D\"javax.persistence.EntityNotFoundException\"= >\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Not found</message>\n" +" </redirect>\n" +"</exception>\n" +"\n" +"<exception class=3D\"javax.persistence.OptimisticLockException\">\n" +" <end-conversation/>\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Another user changed the same data, please try again</" +"message>\n" +" </redirect>\n" +"</exception>" +msgstr "" + +#. Tag: para +#: Events.xml:789 +#, no-c-format +msgid "If you are using the Seam Application Framework:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:793 +#, no-c-format +msgid "" +"<exception class=3D\"org.jboss.seam.framework.EntityNotFoundExce= ption" +"\">\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Not found</message>\n" +" </redirect>\n" +"</exception>" +msgstr "" + +#. Tag: para +#: Events.xml:795 +#, no-c-format +msgid "If you are using Seam Security:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:799 +#, no-c-format +msgid "" +"<exception class=3D\"org.jboss.seam.security.AuthorizationExcept= ion" +"\">\n" +" <redirect>\n" +" <message>You don't have permission to do this</message>\n" +" </redirect>\n" +"</exception>\n" +" \n" +"<exception class=3D\"org.jboss.seam.security.NotLoggedInException\">\n" +" <redirect view-id=3D\"/login.xhtml\">\n" +" <message>Please log in first</message>\n" +" </redirect>\n" +"</exception>" +msgstr "" + +#. Tag: para +#: Events.xml:801 +#, no-c-format +msgid "And, for JSF:" +msgstr "" + +#. Tag: programlisting +#: Events.xml:805 +#, no-c-format +msgid "" +"<exception class=3D\"javax.faces.application.ViewExpiredExceptio= n\">\n" +" <redirect view-id=3D\"/error.xhtml\">\n" +" <message>Your session has timed out, please try again</message>\n" +" </redirect>\n" +"</exception>" +msgstr "" + +#. Tag: para +#: Events.xml:807 +#, no-c-format +msgid "" +"A ViewExpiredException occurs if the user posts back t= o a " +"page once their session has expired. no-conversation-view-id and conversation-required give you finer grai= ned " +"control over session expiration if you are inside a conversation." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Feedback.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Feedback.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Feedback.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,28 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Feedback.xml:6 +#, no-c-format +msgid "Contribute to Seam" +msgstr "" + +#. Tag: para +#: Feedback.xml:7 +#, no-c-format +msgid "" +"Visit = " +"SeamFramework.org to find out how to contribute to Seam!" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Framework.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Framework.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Framework.po 2008-04-2= 1 00:41:49 UTC (rev 7985) @@ -0,0 +1,870 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Framework.xml:6 +#, no-c-format +msgid "The Seam Application Framework" +msgstr "" + +#. Tag: para +#: Framework.xml:8 +#, no-c-format +msgid "" +"Seam makes it really easy to create applications by writing plain Java " +"classes with annotations, which don't need to extend any special interfac= es " +"or superclasses. But we can simplify some common programming tasks even " +"further, by providing a set of pre-built components which can be re-used " +"either by configuration in components.xml (for very " +"simple cases) or extension." +msgstr "" + +#. Tag: para +#: Framework.xml:18 +#, no-c-format +msgid "" +"The Seam Application Framework can reduce the amount= of " +"code you need to write when doing basic database access in a web " +"application, using either Hibernate or JPA." +msgstr "" + +#. Tag: para +#: Framework.xml:24 +#, no-c-format +msgid "" +"We should emphasize that the framework is extremely simple, just a handfu= l " +"of simple classes that are easy to understand and extend. The \"magic\" i= s " +"in Seam itself—the same magic you use when creating any Seam " +"application even without using this framework." +msgstr "" + +#. Tag: title +#: Framework.xml:33 +#, no-c-format +msgid "Introduction" +msgstr "" + +#. Tag: para +#: Framework.xml:35 +#, no-c-format +msgid "" +"The components provided by the Seam application framework may be used in = one " +"of two different approaches. The first way is to install and configure an= " +"instance of the component in components.xml, just like= we " +"have done with other kinds of built-in Seam components. For example, the " +"following fragment from components.xml installs a " +"component which can perform basic CRUD operations for a Person entity:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:47 +#, no-c-format +msgid "" +"<framework:entity-home name=3D\"personHome\" \n" +" entity-class=3D\"eg.Person\" \n" +" entity-manager=3D\"#{personDatabase}\">\n" +" <framework:id>#{param.personId}</framework:id>\n" +"</framework:entity-home>" +msgstr "" + +#. Tag: para +#: Framework.xml:49 +#, no-c-format +msgid "" +"If that looks a bit too much like \"programming in XML\" for your taste, = you " +"can use extension instead:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:54 +#, no-c-format +msgid "" +"@Stateful\n" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> implements " +"LocalPersonHome {\n" +" @RequestParameter String personId;\n" +" @In EntityManager personDatabase;\n" +" \n" +" public Object getId() { return personId; }\n" +" public EntityManager getEntityManager() { return personDatabase; }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:56 +#, no-c-format +msgid "" +"The second approach has one huge advantage: you can easily add extra " +"functionality, and override the built-in functionality (the framework " +"classes were carefully designed for extension and customization)." +msgstr "" + +#. Tag: para +#: Framework.xml:63 +#, no-c-format +msgid "" +"A second advantage is that your classes may be EJB stateful session beans= , " +"if you like. (They do not have to be, they can be plain JavaBean componen= ts " +"if you prefer.) If you are using JBoss AS, you'll need 4.2.2.GA or later." +msgstr "" + +#. Tag: para +#: Framework.xml:70 +#, no-c-format +msgid "" +"At this time, the Seam Application Framework provides four main built-in " +"components: EntityHome and HibernateEntityHom= e for CRUD, along with EntityQuery and " +"HibernateEntityQuery for queries." +msgstr "" + +#. Tag: para +#: Framework.xml:78 +#, no-c-format +msgid "" +"The Home and Query components are written so that they can function with = a " +"scope of session, event or conversation. Which scope you use depends upon= " +"the state model you wish to use in your application." +msgstr "" + +#. Tag: para +#: Framework.xml:84 +#, no-c-format +msgid "" +"The Seam Application Framework only works with Seam-managed persistence " +"contexts. By default, the components will look for a persistence context " +"named entityManager." +msgstr "" + +#. Tag: title +#: Framework.xml:93 +#, no-c-format +msgid "Home objects" +msgstr "" + +#. Tag: para +#: Framework.xml:95 +#, no-c-format +msgid "" +"A Home object provides persistence operations for a particular entity cla= ss. " +"Suppose we have our trusty Person class:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:100 +#, no-c-format +msgid "" +"@Entity\n" +"public class Person {\n" +" @Id private Long id;\n" +" private String firstName;\n" +" private String lastName;\n" +" private Country nationality;\n" +" \n" +" //getters and setters...\n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:102 +#, no-c-format +msgid "" +"We can define a personHome component either via " +"configuration:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:107 +#, no-c-format +msgid "" +"<framework:entity-home name=3D\"personHome\" entity-class=3D\"eg= .Person" +"\" />" +msgstr "" + +#. Tag: para +#: Framework.xml:109 +#, no-c-format +msgid "Or via extension:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:113 +#, no-c-format +msgid "" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> {}" +msgstr "" + +#. Tag: para +#: Framework.xml:115 +#, no-c-format +msgid "" +"A Home object provides the following operations: persist(), remove(), update() and " +"getInstance(). Before you can call the remove= (), or update() operations, you must first set t= he " +"identifier of the object you are interested in, using the setId(= ) method." +msgstr "" + +#. Tag: para +#: Framework.xml:124 +#, no-c-format +msgid "We can use a Home directly from a JSF page, for example:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:128 +#, no-c-format +msgid "" +"<h1>Create Person</h1>\n" +"<h:form>\n" +" <div>First name: <h:inputText value=3D\"#{personHome.instance.firstNa= me}\"/" +"></div>\n" +" <div>Last name: <h:inputText value=3D\"#{personHome.instance.lastName= }\"/" +"></div>\n" +" <div>\n" +" <h:commandButton value=3D\"Create Person\" action=3D\"#{personHom= e." +"persist}\"/>\n" +" </div>\n" +"</h:form>" +msgstr "" + +#. Tag: para +#: Framework.xml:130 +#, no-c-format +msgid "" +"Usually, it is much nicer to be able to refer to the Person merely as person, so let's make that possible= by " +"adding a line to components.xml:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:136 +#, no-c-format +msgid "" +"<factory name=3D\"person\" \n" +" value=3D\"#{personHome.instance}\"/>\n" +"\n" +"<framework:entity-home name=3D\"personHome\" \n" +" entity-class=3D\"eg.Person\" />" +msgstr "" + +#. Tag: para +#: Framework.xml:138 +#, no-c-format +msgid "" +"(If we are using configuration.) Or by adding a @Factory " +"method to PersonHome:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:143 +#, no-c-format +msgid "" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> {\n" +" \n" +" @Factory(\"person\")\n" +" public Person initPerson() { return getInstance(); }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:145 +#, no-c-format +msgid "" +"(If we are using extension.) This change simplifies our JSF page to the " +"following:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:150 +#, no-c-format +msgid "" +"<h1>Create Person</h1>\n" +"<h:form>\n" +" <div>First name: <h:inputText value=3D\"#{person.firstName}\"/></div>= \n" +" <div>Last name: <h:inputText value=3D\"#{person.lastName}\"/></div>\n" +" <div>\n" +" <h:commandButton value=3D\"Create Person\" action=3D\"#{personHom= e." +"persist}\"/>\n" +" </div>\n" +"</h:form>" +msgstr "" + +#. Tag: para +#: Framework.xml:152 +#, no-c-format +msgid "" +"Well, that lets us create new Person entries. Yes, tha= t " +"is all the code that is required! Now, if we want to be able to display, " +"update and delete pre-existing Person entries in the " +"database, we need to be able to pass the entry identifier to the " +"PersonHome. Page parameters are a great way to do that= :" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:161 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/editPerson.jsp\">\n" +" <param name=3D\"personId\" value=3D\"#{personHome.id}\"/>\n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Framework.xml:163 +#, no-c-format +msgid "Now we can add the extra operations to our JSF page:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:167 +#, no-c-format +msgid "" +"<h1>\n" +" <h:outputText rendered=3D\"#{!personHome.managed}\" value=3D\"Create = Person" +"\"/>\n" +" <h:outputText rendered=3D\"#{personHome.managed}\" value=3D\"Edit Per= son\"/" +">\n" +"</h1>\n" +"<h:form>\n" +" <div>First name: <h:inputText value=3D\"#{person.firstName}\"/></div>= \n" +" <div>Last name: <h:inputText value=3D\"#{person.lastName}\"/></div>\n" +" <div>\n" +" <h:commandButton value=3D\"Create Person\" action=3D\"#{personHom= e." +"persist}\" rendered=3D\"#{!personHome.managed}\"/>\n" +" <h:commandButton value=3D\"Update Person\" action=3D\"#{personHom= e." +"update}\" rendered=3D\"#{personHome.managed}\"/>\n" +" <h:commandButton value=3D\"Delete Person\" action=3D\"#{personHom= e." +"remove}\" rendered=3D\"#{personHome.managed}\"/>\n" +" </div>\n" +"</h:form>" +msgstr "" + +#. Tag: para +#: Framework.xml:169 +#, no-c-format +msgid "" +"When we link to the page with no request parameters, the page will be " +"displayed as a \"Create Person\" page. When we provide a value for the " +"personId request parameter, it will be an \"Edit Perso= n\" " +"page." +msgstr "" + +#. Tag: para +#: Framework.xml:176 +#, no-c-format +msgid "" +"Suppose we need to create Person entries with their " +"nationality initialized. We can do that easily, via configuration:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:181 +#, no-c-format +msgid "" +"<factory name=3D\"person\" \n" +" value=3D\"#{personHome.instance}\"/>\n" +"\n" +"<framework:entity-home name=3D\"personHome\" \n" +" entity-class=3D\"eg.Person\" \n" +" new-instance=3D\"#{newPerson}\"/>\n" +"\n" +"<component name=3D\"newPerson\" \n" +" class=3D\"eg.Person\">\n" +" <property name=3D\"nationality\">#{country}</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Framework.xml:183 +#, no-c-format +msgid "Or by extension:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:187 +#, no-c-format +msgid "" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> {\n" +" \n" +" @In Country country;\n" +" \n" +" @Factory(\"person\")\n" +" public Person initPerson() { return getInstance(); }\n" +" \n" +" protected Person createInstance() {\n" +" return new Person(country);\n" +" }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:189 +#, no-c-format +msgid "" +"Of course, the Country could be an object managed by " +"another Home object, for example, CountryHome." +msgstr "" + +#. Tag: para +#: Framework.xml:194 +#, no-c-format +msgid "" +"To add more sophisticated operations (association management, etc), we ca= n " +"just add methods to PersonHome." +msgstr "" + +#. Tag: programlisting +#: Framework.xml:199 +#, no-c-format +msgid "" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> {\n" +" \n" +" @In Country country;\n" +" \n" +" @Factory(\"person\")\n" +" public Person initPerson() { return getInstance(); }\n" +" \n" +" protected Person createInstance() {\n" +" return new Person(country);\n" +" }\n" +" \n" +" public void migrate()\n" +" {\n" +" getInstance().setCountry(country);\n" +" update();\n" +" }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:201 +#, no-c-format +msgid "" +"The Home object raises an org.jboss.seam.afterTransactionSuccess= event when a transaction succeeds (a call to persist()<= /" +"literal>, update() or remove() " +"succeeds). By observing this event we can refresh our queries when the " +"underlying entities are changed. If we only want to refresh certain queri= es " +"when a particular entity is persited, updated or removed we can observe t= he " +"org.jboss.seam.afterTransactionSuccess.<name> ev= ent " +"(where <name> is the name of the entity)." +msgstr "" + +#. Tag: para +#: Framework.xml:212 +#, no-c-format +msgid "" +"The Home object automatically displays faces messages when an operation i= s " +"successful. To customize these messages we can, again, use configuration:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:217 +#, no-c-format +msgid "" +"<factory name=3D\"person\" \n" +" value=3D\"#{personHome.instance}\"/>\n" +"\n" +"<framework:entity-home name=3D\"personHome\"\n" +" entity-class=3D\"eg.Person\"\n" +" new-instance=3D\"#{newPerson}\">\n" +" <framework:created-message>New person #{person.firstName} #{person." +"lastName} created</framework:created-message>\n" +" <framework:deleted-message>Person #{person.firstName} #{person.lastNa= me} " +"deleted</framework:deleted-message>\n" +" <framework:updated-message>Person #{person.firstName} #{person.lastNa= me} " +"updated</framework:updated-message>\n" +"</framework:entity-home>\n" +"\n" +"<component name=3D\"newPerson\" \n" +" class=3D\"eg.Person\">\n" +" <property name=3D\"nationality\">#{country}</property>\n" +"</component>" +msgstr "" + +#. Tag: para +#: Framework.xml:219 +#, no-c-format +msgid "Or extension:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:223 +#, no-c-format +msgid "" +"@Name(\"personHome\")\n" +"public class PersonHome extends EntityHome<Person> {\n" +" \n" +" @In Country country;\n" +" \n" +" @Factory(\"person\")\n" +" public Person initPerson() { return getInstance(); }\n" +" \n" +" protected Person createInstance() {\n" +" return new Person(country);\n" +" }\n" +" \n" +" protected String getCreatedMessage() { return \"New person #{person." +"firstName} #{person.lastName} created\"; }\n" +" protected String getUpdatedMessage() { return \"Person #{person." +"firstName} #{person.lastName} updated\"; }\n" +" protected String getDeletedMessage() { return \"Person #{person." +"firstName} #{person.lastName} deleted\"; }\n" +" \n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:225 +#, no-c-format +msgid "" +"But the best way to specify the messages is to put them in a resource bun= dle " +"known to Seam (the bundle named messages, by default)." +msgstr "" + +#. Tag: programlisting +#: Framework.xml:231 +#, no-c-format +msgid "" +"Person_created=3DNew person #{person.firstName} #{person.lastNam= e} " +"created\n" +"Person_deleted=3DPerson #{person.firstName} #{person.lastName} deleted\n" +"Person_updated=3DPerson #{person.firstName} #{person.lastName} updated" +msgstr "" + +#. Tag: para +#: Framework.xml:233 +#, no-c-format +msgid "" +"This enables internationalization, and keeps your code and configuration " +"clean of presentation concerns." +msgstr "" + +#. Tag: para +#: Framework.xml:238 +#, no-c-format +msgid "" +"The final step is to add validation functionality to the page, using " +"<s:validateAll> and <s:decorate><= /" +"literal>, but I'll leave that for you to figure out." +msgstr "" + +#. Tag: title +#: Framework.xml:247 +#, no-c-format +msgid "Query objects" +msgstr "" + +#. Tag: para +#: Framework.xml:249 +#, no-c-format +msgid "" +"If we need a list of all Person instance in the databa= se, " +"we can use a Query object. For example:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:254 +#, no-c-format +msgid "" +"<framework:entity-query name=3D\"people\" \n" +" ejbql=3D\"select p from Person p\"/>" +msgstr "" + +#. Tag: para +#: Framework.xml:256 +#, no-c-format +msgid "We can use it from a JSF page:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:260 +#, no-c-format +msgid "" +"<h1>List of people</h1>\n" +"<h:dataTable value=3D\"#{people.resultList}\" var=3D\"person\">\n" +" <h:column>\n" +" <s:link view=3D\"/editPerson.jsp\" value=3D\"#{person.firstName} = #" +"{person.lastName}\">\n" +" <f:param name=3D\"personId\" value=3D\"#{person.id}\"/>\n" +" </s:link>\n" +" </h:column>\n" +"</h:dataTable>" +msgstr "" + +#. Tag: para +#: Framework.xml:262 +#, no-c-format +msgid "We probably need to support pagination:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:266 +#, no-c-format +msgid "" +"<framework:entity-query name=3D\"people\" \n" +" ejbql=3D\"select p from Person p\" \n" +" order=3D\"lastName\" \n" +" max-results=3D\"20\"/>" +msgstr "" + +#. Tag: para +#: Framework.xml:268 +#, no-c-format +msgid "We'll use a page parameter to determine the page to display:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:273 +#, no-c-format +msgid "" +"<pages>\n" +" <page view-id=3D\"/searchPerson.jsp\">\n" +" <param name=3D\"firstResult\" value=3D\"#{people.firstResult}\"/>= \n" +" </page>\n" +"</pages>" +msgstr "" + +#. Tag: para +#: Framework.xml:275 +#, no-c-format +msgid "The JSF code for a pagination control is a bit verbose, but managea= ble:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:279 +#, no-c-format +msgid "" +"<h1>Search for people</h1>\n" +"<h:dataTable value=3D\"#{people.resultList}\" var=3D\"person\">\n" +" <h:column>\n" +" <s:link view=3D\"/editPerson.jsp\" value=3D\"#{person.firstName} = #" +"{person.lastName}\">\n" +" <f:param name=3D\"personId\" value=3D\"#{person.id}\"/>\n" +" </s:link>\n" +" </h:column>\n" +"</h:dataTable>\n" +"\n" +"<s:link view=3D\"/search.xhtml\" rendered=3D\"#{people.previousExists}\" = value=3D" +"\"First Page\">\n" +" <f:param name=3D\"firstResult\" value=3D\"0\"/>\n" +"</s:link>\n" +"\n" +"<s:link view=3D\"/search.xhtml\" rendered=3D\"#{people.previousExists}\" = value=3D" +"\"Previous Page\">\n" +" <f:param name=3D\"firstResult\" value=3D\"#{people.previousFirstResul= t}\"/>\n" +"</s:link>\n" +"\n" +"<s:link view=3D\"/search.xhtml\" rendered=3D\"#{people.nextExists}\" valu= e=3D" +"\"Next Page\">\n" +" <f:param name=3D\"firstResult\" value=3D\"#{people.nextFirstResult}\"= />\n" +"</s:link>\n" +"\n" +"<s:link view=3D\"/search.xhtml\" rendered=3D\"#{people.nextExists}\" valu= e=3D" +"\"Last Page\">\n" +" <f:param name=3D\"firstResult\" value=3D\"#{people.lastFirstResult}\"= />\n" +"</s:link>" +msgstr "" + +#. Tag: para +#: Framework.xml:281 +#, no-c-format +msgid "" +"Real search screens let the user enter a bunch of optional search criteri= a " +"to narrow the list of results returned. The Query object lets you specify= " +"optional \"restrictions\" to support this important usecase:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:287 +#, no-c-format +msgid "" +"<component name=3D\"examplePerson\" class=3D\"Person\"/>\n" +" \n" +"<framework:entity-query name=3D\"people\" \n" +" ejbql=3D\"select p from Person p\" \n" +" order=3D\"lastName\" \n" +" max-results=3D\"20\">\n" +" <framework:restrictions>\n" +" <value>lower(firstName) like lower( concat(#{examplePerson." +"firstName},'%') )</value>\n" +" <value>lower(lastName) like lower( concat(#{examplePerson." +"lastName},'%') )</value>\n" +" </framework:restrictions>\n" +"</framework:entity-query>" +msgstr "" + +#. Tag: para +#: Framework.xml:289 +#, no-c-format +msgid "Notice the use of an \"example\" object." +msgstr "" + +#. Tag: programlisting +#: Framework.xml:293 +#, no-c-format +msgid "" +"<h1>Search for people</h1>\n" +"<h:form>\n" +" <div>First name: <h:inputText value=3D\"#{examplePerson.firstName}\"/= ></" +"div>\n" +" <div>Last name: <h:inputText value=3D\"#{examplePerson.lastName}\"/><= /" +"div>\n" +" <div><h:commandButton value=3D\"Search\" action=3D\"/search.jsp\"/></= div>\n" +"</h:form>\n" +"\n" +"<h:dataTable value=3D\"#{people.resultList}\" var=3D\"person\">\n" +" <h:column>\n" +" <s:link view=3D\"/editPerson.jsp\" value=3D\"#{person.firstName} = #" +"{person.lastName}\">\n" +" <f:param name=3D\"personId\" value=3D\"#{person.id}\"/>\n" +" </s:link>\n" +" </h:column>\n" +"</h:dataTable>" +msgstr "" + +#. Tag: para +#: Framework.xml:295 +#, no-c-format +msgid "" +"To refresh the query when the underlying entities change we observe the " +"org.jboss.seam.afterTransactionSuccess event:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:300 +#, no-c-format +msgid "" +"<event type=3D\"org.jboss.seam.afterTransactionSuccess\">\n" +" <action execute=3D\"#{people.refresh}\" />\n" +"</event>" +msgstr "" + +#. Tag: para +#: Framework.xml:302 +#, no-c-format +msgid "" +"Or, to just refresh the query when the person entity is persisted, update= d " +"or removed through PersonHome:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:307 +#, no-c-format +msgid "" +"<event type=3D\"org.jboss.seam.afterTransactionSuccess.Person\">= \n" +" <action execute=3D\"#{people.refresh}\" />\n" +" </event>" +msgstr "" + +#. Tag: para +#: Framework.xml:309 +#, no-c-format +msgid "" +"Unfortunately Query objects don't work well with join fetch queries - the use of pagination with these queries is not " +"recomended, and you'll have to implement your own method of calculating t= he " +"total number of results (by overriding getCountEjbql()= ." +msgstr "" + +#. Tag: para +#: Framework.xml:317 +#, no-c-format +msgid "" +"The examples in this section have all shown reuse by configuration. Howev= er, " +"reuse by extension is equally possible for Query objects." +msgstr "" + +#. Tag: title +#: Framework.xml:325 +#, no-c-format +msgid "Controller objects" +msgstr "" + +#. Tag: para +#: Framework.xml:326 +#, no-c-format +msgid "" +"A totally optional part of the Seam Application Framework is the class " +"Controller and its subclasses EntityControlle= r HibernateEntityController and " +"BusinessProcessController. These classes provide nothi= ng " +"more than some convenience methods for access to commonly used built-in " +"components and methods of built-in components. They help save a few " +"keystrokes (characters can add up!) and provide a great launchpad for new= " +"users to explore the rich functionality built in to Seam." +msgstr "" + +#. Tag: para +#: Framework.xml:338 +#, no-c-format +msgid "" +"For example, here is what RegisterAction from the Seam= " +"registration example would look like:" +msgstr "" + +#. Tag: programlisting +#: Framework.xml:343 +#, no-c-format +msgid "" +"@Stateless\n" +"@Name(\"register\")\n" +"public class RegisterAction extends EntityController implements Register\= n" +"{\n" +"\n" +" @In private User user;\n" +" \n" +" public String register()\n" +" {\n" +" List existing =3D createQuery(\"select u.username from User u where= u." +"username=3D:username\")\n" +" .setParameter(\"username\", user.getUsername())\n" +" .getResultList();\n" +" \n" +" if ( existing.size()=3D=3D0 )\n" +" {\n" +" persist(user);\n" +" info(\"Registered new user #{user.username}\");\n" +" return \"/registered.jspx\";\n" +" }\n" +" else\n" +" {\n" +" addFacesMessage(\"User #{user.username} already exists\");\n" +" return null;\n" +" }\n" +" }\n" +"\n" +"}" +msgstr "" + +#. Tag: para +#: Framework.xml:345 +#, no-c-format +msgid "As you can see, its not an earthshattering improvement..." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Getting_Started_Wit= h_JBoss_Tools.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Getting_Started_With_J= Boss_Tools.po (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Getting_Started_With_J= Boss_Tools.po 2008-04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,567 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:5 +#, no-c-format +msgid "Getting started with Seam, using JBoss Tools" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:7 +#, no-c-format +msgid "" +"JBoss Tools is a collection of Eclipse plugins. JBoss Tools a project " +"creation wizard for Seam, Content Assist for the Unified Expression Langu= age " +"(EL) in both facelets and Java code, a graphical editor for jPDL, a " +"graphical editor for Seam configuration files, support for running Seam " +"integration tests from within Eclipse, and much more." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:15 +#, no-c-format +msgid "In short, if you are an Eclipse user, then you'll want JBoss Tools!" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:19 +#, no-c-format +msgid "" +"JBoss Tools, as with seam-gen, works best with JBoss AS, but it's possibl= e " +"with a few tweaks to get your app running on other application servers. T= he " +"changes are much like those described for seam-gen later in this referenc= e " +"manual." +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:27 +#, no-c-format +msgid "Before you start" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:29 +#, no-c-format +msgid "" +"Make sure you have JDK 5, JBoss AS 4.2, Eclipse 3.3, the JBoss Tools plug= ins " +"(at least Seam Tools, the Visual Page Editor, jBPM Tools and JBoss AS Too= ls) " +"and the TestNG plugin for Eclipse correctly installed before starting." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:36 +#, no-c-format +msgid "TODO - detail where the update sites are." +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:41 +#, no-c-format +msgid "Setting up a new Seam project" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:43 +#, no-c-format +msgid "Start up Eclipse and select the Seam perspecti= ve." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:47 +#, no-c-format +msgid "" +"Go to File -> New -> " +"Seam Web Project." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:63 +#, no-c-format +msgid "" +"First, enter a name for your new project. For this tutorial, we're going = to " +"use helloworld ." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:71 +#, no-c-format +msgid "" +"Now, we need to tell JBoss Tools about JBoss AS. This is a two stage " +"process, first we need to define a runtime, make sure you select JBoss AS= " +"4.2:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:88 +#, no-c-format +msgid "Enter a name for the runtime, and locate it on your hard drive:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:103 +#, no-c-format +msgid "" +"Next, we need to define a server JBoss Tools can deploy the project to. M= ake " +"sure to again select JBoss AS 4.2, and also the runtime you just defined:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:118 +#, no-c-format +msgid "" +"On the next screen give the server a name, and hit Finish:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:134 +#, no-c-format +msgid "" +"Make sure the runtime and server you just created are selected, select " +"Dynamic Web Project with Seam 2.0 (technology preview) " +"and hit Next:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:151 +#, no-c-format +msgid "" +"The next 3 screens allow you to further customize your new project, but f= or " +"us the defaults are fine. So just hit Next until you= " +"reach the final screen." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:157 +#, no-c-format +msgid "" +"The first step here is to tell JBoss Tools about the Seam download you wa= nt " +"to use. Add a new Seam Runtime = - " +"make sure to give it a name, and select 2.0 as the " +"version:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:175 +#, no-c-format +msgid "" +"The most important choice you need to make is between EAR deployment and = WAR " +"deployment of your project. EAR projects support EJB 3.0 and require Java= EE " +"5. WAR projects do not support EJB 3.0, but may be deployed to a J2EE " +"environment. The packaging of a WAR is also simpler to understand. If you= " +"installed an EJB3-ready application server like JBoss, choose E= AR. Otherwise, choose WAR. We'll assume that " +"you've chosen a WAR deployment for the rest of the tutorial, but you can " +"follow exactly the same steps for a EAR deployment." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:187 +#, no-c-format +msgid "" +"Next, select your database type. We'll assume you have MySQL installed, w= ith " +"an existing schema. You'll need to tell JBoss Tools about the database, " +"select MySQL as the database, and create a new " +"connection profile. Select Generic JDBC Connection:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:206 +#, no-c-format +msgid "Give it a name:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:221 +#, no-c-format +msgid "" +"JBoss Tools doesn't come with drivers for any databases, so you need to t= ell " +"JBoss Tools where the MySQL JDBC driver is. Tell it about the driver by " +"clicking ...." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:227 +#, no-c-format +msgid "Locate MySQL 5, and hit Add...:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:242 +#, no-c-format +msgid "Choose the MySQL JDBC Driver template:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:257 +#, no-c-format +msgid "" +"Locate the jar on your computer by choosing Edit Jar/Zip:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:273 +#, no-c-format +msgid "" +"Review the username and password used to connect, and if correct, hit " +"Ok." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:278 +#, no-c-format +msgid "Finally, choose the newly created driver:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:293 +#, no-c-format +msgid "" +"If you are working with an existing data model, make sure you tell JBoss " +"Tools that the tables already exist in the database." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:298 +#, no-c-format +msgid "" +"Review the username and password used to connect, test the connection usi= ng " +"the Test Connection button, and if it works, hit " +"Finish:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:304 +#, no-c-format +msgid "" +"Finally, review the package names for your generated beans, and if you ar= e " +"happy, click Finish:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:320 +#, no-c-format +msgid "" +"JBoss has sophisticated support for hot re-deployment of WARs and EARs. " +"Unfortunately, due to bugs in the JVM, repeated redeployment of an EAR=E2= =80=94which " +"is common during development=E2=80=94eventually causes the JVM to run out= of perm " +"gen space. For this reason, we recommend running JBoss in a JVM with a la= rge " +"perm gen space at development time. We suggest the following values:" +msgstr "" + +#. Tag: programlisting +#: Getting_Started_With_JBoss_Tools.xml:329 +#, no-c-format +msgid "-Xms512m -Xmx1024m -XX:PermSize=3D256m -XX:MaxPermSize=3D512" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:331 +#, no-c-format +msgid "" +"If you don't have so much memory available, the following is our minimum " +"recommendation:" +msgstr "" + +#. Tag: programlisting +#: Getting_Started_With_JBoss_Tools.xml:336 +#, no-c-format +msgid "-Xms256m -Xmx512m -XX:PermSize=3D128m -XX:MaxPermSize=3D256" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:338 +#, no-c-format +msgid "" +"Locate the server in the JBoss Server View, right cl= ick " +"on the server and select Edit Launch Configuration:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:355 +#, no-c-format +msgid "Then, alter the VM arguements:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:370 +#, no-c-format +msgid "" +"If you don't want to bother with this stuff now, you don't have to=E2=80= =94come back " +"to it later, when you get your first OutOfMemoryException." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:376 +#, no-c-format +msgid "" +"To start JBoss, and deploy the project, just right click on the server yo= u " +"created, and click Start, (or Debug to start in debug mode):" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:393 +#, no-c-format +msgid "" +"Don't get scared by the XML configuration documents that were generated i= nto " +"the project directory. They are mostly standard Java EE stuff, the stuff = you " +"need to create once and then never look at again, and they are 90% the sa= me " +"between all Seam projects." +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:403 +#, no-c-format +msgid "Creating a new action" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:405 +#, no-c-format +msgid "" +"If you're used to traditional action-style web frameworks, you're probabl= y " +"wondering how you can create a simple web page with a stateless action " +"method in Java." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:411 +#, no-c-format +msgid "" +"First, select New -> Seam Action:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:426 +#: Getting_Started_With_JBoss_Tools.xml:492 +#, no-c-format +msgid "" +"Now, enter the name of the Seam component. JBoss Tools selects sensible " +"defaults for other fields:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:442 +#, no-c-format +msgid "Finally, hit Finish." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:446 +#, no-c-format +msgid "" +"Now go to http://localhost:8080/helloworld/ping.seam a= nd " +"click the button. You can see the code behind this action by looking in t= he " +"project src directory. Put a breakpoint in the " +"ping() method, and click the button again." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:454 +#, no-c-format +msgid "" +"Finally, open the helloworld-test project, locate " +"PingTest class, right click on it, and choose " +"Run As -> TestNG Test:" +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:474 +#, no-c-format +msgid "Creating a form with an action" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:476 +#, no-c-format +msgid "" +"The first step is to create a form. Select New -> " +"Seam Form:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:508 +#, no-c-format +msgid "" +"Go to http://localhost:8080/helloworld/hello.seam. The= n " +"take a look at the generated code. Run the test. Try adding some new fiel= ds " +"to the form and Seam component (note, you don't need to restart the app " +"server each time you change the code in src/action as " +"Seam hot reloads the component for you )." +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:519 +#, no-c-format +msgid "Generating an application from an existing database" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:521 +#, no-c-format +msgid "" +"Manually create some tables in your database. (If you need to switch to a= " +"different database, create a new project, and select the correct database= ). " +"Then, select New -> Seam Generate Entities= :" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:539 +#, no-c-format +msgid "" +"JBoss Tools gives you the option to either reverse engineer entities, " +"components and views from a database schema or to reverse engineer " +"components and views from existing JPA entities. We're going to do " +"Reverse engieneer from database." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:546 +#, no-c-format +msgid "Restart the deployment:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:561 +#, no-c-format +msgid "" +"Then go to http://localhost:8080/helloworld. You can " +"browse the database, edit existing objects, and create new objects. If yo= u " +"look at the generated code, you'll probably be amazed how simple it is! S= eam " +"was designed so that data access code is easy to write by hand, even for " +"people who don't want to cheat by using reverse engineering." +msgstr "" + +#. Tag: title +#: Getting_Started_With_JBoss_Tools.xml:572 +#, no-c-format +msgid "Seam and incremental hot deployment with JBoss Tools" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:574 +#, no-c-format +msgid "JBoss Tools supports incremental hot deployment of:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:580 +#, no-c-format +msgid "any facelets page" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:584 +#, no-c-format +msgid "any pages.xml file" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:590 +#, no-c-format +msgid "out of the box." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:594 +#, no-c-format +msgid "" +"But if we want to change any Java code, we still need to do a full restar= t " +"of the application by doing a Full Publish." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:600 +#, no-c-format +msgid "" +"But if you really want a fast edit/compile/test cycle, Seam supports " +"incremental redeployment of JavaBean components. To make use of this " +"functionality, you must deploy the JavaBean components into the = WEB-" +"INF/dev directory, so that they will be loaded by a special Sea= m " +"classloader, instead of by the WAR or EAR classloader." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:609 +#, no-c-format +msgid "You need to be aware of the following limitations:" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:613 +#, no-c-format +msgid "" +"the components must be JavaBean components, they cannot be EJB3 beans (we= " +"are working on fixing this limitation)" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:620 +#, no-c-format +msgid "entities can never be hot-deloyed" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:626 +#, no-c-format +msgid "" +"components deployed via components.xml may not be hot-" +"deployed" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:633 +#, no-c-format +msgid "" +"the hot-deployable components will not be visible to any classes deployed= " +"outside of WEB-INF/dev" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:640 +#, no-c-format +msgid "" +"Seam debug mode must be enabled and jboss-seam-debug.jar " +"must be in WEB-INF/lib" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:648 +#, no-c-format +msgid "You must have the Seam filter installed in web.xml" +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:654 +#, no-c-format +msgid "" +"You may see errors if the system is placed under any load and debug is " +"enabled." +msgstr "" + +#. Tag: para +#: Getting_Started_With_JBoss_Tools.xml:662 +#, no-c-format +msgid "" +"If you create a WAR project using JBoss Tools, incremental hot deployment= is " +"available out of the box for classes in the src/action= " +"source directory. However, JBoss Tools does not support incremental hot " +"deployment for EAR projects." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gettingstarted.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gettingstarted.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gettingstarted.po 2008= -04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,870 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Gettingstarted.xml:5 +#, no-c-format +msgid "Getting started with Seam, using seam-gen" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:7 +#, no-c-format +msgid "" +"The Seam distribution includes a command line utility that makes it reall= y " +"easy to set up an Eclipse project, generate some simple Seam skeleton cod= e, " +"and reverse engineer an application from a preexisting database." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:10 +#, no-c-format +msgid "" +"This is the easy way to get your feet wet with Seam, and gives you some " +"ammunition for next time you find yourself trapped in an elevator with on= e " +"of those tedious Ruby guys ranting about how great and wonderful his new = toy " +"is for building totally trivial applications that put things in databases= ." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:14 +#, no-c-format +msgid "" +"In this release, seam-gen works best for people with JBoss AS. You can us= e " +"the generated project with other J2EE or Java EE 5 application servers by= " +"making a few manual changes to the project configuration." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:17 +#, no-c-format +msgid "" +"You can use seam-gen without Eclipse, but in this " +"tutorial, we want to show you how to use it in conjunction with Eclipse f= or " +"debugging and integration testing. If you don't want to install Eclipse, = you " +"can still follow along with this tutorial=E2=80=94all steps can be perfor= med from " +"the command line." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:21 +#, no-c-format +msgid "" +"Seam-gen is basically just a big ugly Ant script wrapped around Hibernate= " +"Tools, together with some templates. That makes it easy to customize if y= ou " +"need to." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:25 +#, no-c-format +msgid "Before you start" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:27 +#, no-c-format +msgid "" +"Make sure you have JDK 5 or JDK 6, JBoss AS 4.2 and Ant 1.6, along with " +"recent versions of Eclipse, the JBoss IDE plugin for Eclipse and the Test= NG " +"plugin for Eclipse correctly installed before starting. Add your JBoss " +"installation to the JBoss Server View in Eclipse. Start JBoss in debug mo= de. " +"Finally, start a command prompt in the directory where you unzipped the S= eam " +"distribution." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:32 +#, no-c-format +msgid "" +"JBoss has sophisticated support for hot re-deployment of WARs and EARs. " +"Unfortunately, due to bugs in the JVM, repeated redeployment of an EAR=E2= =80=94which " +"is common during development=E2=80=94eventually causes the JVM to run out= of perm " +"gen space. For this reason, we recommend running JBoss in a JVM with a la= rge " +"perm gen space at development time. If you're running JBoss from JBoss ID= E, " +"you can configure this in the server launch configuration, under \"VM " +"arguments\". We suggest the following values:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:38 +#, no-c-format +msgid "-Xms512m -Xmx1024m -XX:PermSize=3D256m -XX:MaxPermSize=3D512" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:40 +#, no-c-format +msgid "" +"If you don't have so much memory available, the following is our minimum " +"recommendation:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:42 +#, no-c-format +msgid "-Xms256m -Xmx512m -XX:PermSize=3D128m -XX:MaxPermSize=3D256" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:44 +#, no-c-format +msgid "" +"If you're running JBoss from the command line, you can configure the JVM " +"options in bin/run.conf." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:47 +#, no-c-format +msgid "" +"If you don't want to bother with this stuff now, you don't have to=E2=80= =94come back " +"to it later, when you get your first OutOfMemoryException." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:52 +#, no-c-format +msgid "Setting up a new Eclipse project" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:54 +#, no-c-format +msgid "" +"The first thing we need to do is configure seam-gen for your environment:= " +"JBoss AS installation directory, Eclipse workspace, and database connecti= on. " +"It's easy, just type:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:57 +#, no-c-format +msgid "" +"cd jboss-seam-2.0.x\n" +"seam setup" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:59 +#, no-c-format +msgid "And you will be prompted for the needed information:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:61 +#, no-c-format +msgid "" +"~/workspace/jboss-seam$ ./seam setup\n" +"Buildfile: build.xml\n" +"\n" +"init:\n" +"\n" +"setup:\n" +" [echo] Welcome to seam-gen :-)\n" +" [input] Enter your Java project workspace (the directory that contain= s " +"your Seam projects) [C:/Projects] [C:/Projects]\n" +"/Users/pmuir/workspace\n" +" [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2= ." +"GA] [C:/Program Files/jboss-4.2.2.GA]\n" +"/Applications/jboss-4.2.2.GA\n" +" [input] Enter the project name [myproject] [myproject]\n" +"helloworld\n" +" [echo] Accepted project name as: helloworld\n" +" [input] Select a RichFaces skin (not applicable if using ICEFaces) " +"[blueSky] ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakur= a, " +"DEFAULT)\n" +"\n" +" [input] Is this project deployed as an EAR (with EJB components) or a= " +"WAR (with no EJB support) [ear] ([ear], war, )\n" +"\n" +" [input] Enter the Java package name for your session beans [com.mydom= ain." +"helloworld] [com.mydomain.helloworld]\n" +"org.jboss.helloworld\n" +" [input] Enter the Java package name for your entity beans [org.jboss." +"helloworld] [org.jboss.helloworld]\n" +"\n" +" [input] Enter the Java package name for your test cases [org.jboss." +"helloworld.test] [org.jboss.helloworld.test]\n" +"\n" +" [input] What kind of database are you using? [hsql] ([hsql], mysql, " +"oracle, postgres, mssql, db2, sybase, enterprisedb, h2)\n" +"mysql\n" +" [input] Enter the Hibernate dialect for your database [org.hibernate." +"dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect]\n" +"\n" +" [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb." +"jar] [lib/hsqldb.jar]\n" +"/Users/pmuir/java/mysql.jar\n" +" [input] Enter JDBC driver class for your database [com.mysql.jdbc." +"Driver] [com.mysql.jdbc.Driver]\n" +"\n" +" [input] Enter the JDBC URL for your database [jdbc:mysql:///test] [jd= bc:" +"mysql:///test]\n" +"jdbc:mysql:///helloworld\n" +" [input] Enter database username [sa] [sa]\n" +"pmuir\n" +" [input] Enter database password [] []\n" +"\n" +" [input] skipping input as property hibernate.default_schema.new has " +"already been set.\n" +" [input] Enter the database catalog name (it is OK to leave this blank= ) " +"[] []\n" +"\n" +" [input] Are you working with tables that already exist in the databas= e? " +"[n] (y, [n], )\n" +"y\n" +" [input] Do you want to drop and recreate the database tables and data= in " +"import.sql each time you deploy? [n] (y, [n], )\n" +"n\n" +" [input] Enter your ICEfaces home directory (leave blank to omit " +"ICEfaces) [] []\n" +"\n" +"[propertyfile] Creating new property file: /Users/pmuir/workspace/jboss-s= eam/" +"seam-gen/build.properties\n" +" [echo] Installing JDBC driver jar to JBoss server\n" +" [echo] Type 'seam create-project' to create the new project\n" +"\n" +"BUILD SUCCESSFUL\n" +"Total time: 1 minute 32 seconds\n" +"~/workspace/jboss-seam $" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:63 +#, no-c-format +msgid "" +"The tool provides sensible defaults, which you can accept by just pressin= g " +"enter at the prompt." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:65 +#, no-c-format +msgid "" +"The most important choice you need to make is between EAR deployment and = WAR " +"deployment of your project. EAR projects support EJB 3.0 and require Java= EE " +"5. WAR projects do not support EJB 3.0, but may be deployed to a J2EE " +"environment. The packaging of a WAR is also simpler to understand. If you= " +"installed an EJB3-ready application server like JBoss, choose ea= r. Otherwise, choose war. We'll assume that you= 've " +"chosen an EAR deployment for the rest of the tutorial, but you can follow= " +"exactly the same steps for a WAR deployment." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:72 +#, no-c-format +msgid "" +"If you are working with an existing data model, make sure you tell seam-g= en " +"that the tables already exist in the database." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:75 +#, no-c-format +msgid "" +"The settings are stored in seam-gen/build.properties, = but " +"you can also modify them simply by running seam setup = a " +"second time." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:78 +#, no-c-format +msgid "" +"Now we can create a new project in our Eclipse workspace directory, by " +"typing:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:80 +#, no-c-format +msgid "seam new-project" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:82 +#, no-c-format +msgid "" +"C:\\Projects\\jboss-seam>seam new-project\n" +"Buildfile: build.xml\n" +"\n" +"...\n" +"\n" +"new-project:\n" +" [echo] A new Seam project named 'helloworld' was created in the C:" +"\\Projects directory\n" +" [echo] Type 'seam explode' and go to http://localhost:8080/helloworl= d\n" +" [echo] Eclipse Users: Add the project into Eclipse using File > N= ew " +"> Project and select General > Project (not Java Project)\n" +" [echo] NetBeans Users: Open the project in NetBeans\n" +"\n" +"BUILD SUCCESSFUL\n" +"Total time: 7 seconds\n" +"C:\\Projects\\jboss-seam>" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:84 +#, no-c-format +msgid "" +"This copies the Seam jars, dependent jars and the JDBC driver jar to a ne= w " +"Eclipse project, and generates all needed resources and configuration fil= es, " +"a facelets template file and stylesheet, along with Eclipse metadata and = an " +"Ant build script. The Eclipse project will be automatically deployed to a= n " +"exploded directory structure in JBoss AS as soon as you add the project " +"using New -> Project... -> General -> Project -> Nex= t, typing the Project name (helloworld= in this case), and then clicking Finish. Do n= ot " +"select Java Project from the New Project wizard." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:92 +#, no-c-format +msgid "" +"If your default JDK in Eclipse is not a Java SE 5 or Java SE 6 JDK, you w= ill " +"need to select a Java SE 5 compliant JDK using Project -> " +"Properties -> Java Compiler." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:95 +#, no-c-format +msgid "" +"Alternatively, you can deploy the project from outside Eclipse by typing " +"seam explode." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:97 +#, no-c-format +msgid "" +"Go to http://localhost:8080/helloworld to see a welcom= e " +"page. This is a facelets page, view/home.xhtml, using = the " +"template view/layout/template.xhtml. You can edit this= " +"page, or the template, in eclipse, and see the results " +"immediately, by clicking refresh in your browser." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:102 +#, no-c-format +msgid "" +"Don't get scared by the XML configuration documents that were generated i= nto " +"the project directory. They are mostly standard Java EE stuff, the stuff = you " +"need to create once and then never look at again, and they are 90% the sa= me " +"between all Seam projects. (They are so easy to write that even seam-gen = can " +"do it.)" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:106 +#, no-c-format +msgid "" +"The generated project includes three database and persistence " +"configurations. The persistence-test.xml and " +"import-test.sql files are used when running the TestNG= " +"unit tests against HSQLDB. The database schema and the test data in " +"import-test.sql is always exported to the database bef= ore " +"running tests. The myproject-dev-ds.xml, " +"persistence-dev.xmland import-dev.sql " +"files are for use when deploying the application to your development " +"database. The schema might be exported automatically at deployment, " +"depending upon whether you told seam-gen that you are working with an " +"existing database. The myproject-prod-ds.xml, " +"persistence-prod.xmland import-prod.sql files are for use when deploying the application to your product= ion " +"database. The schema is not exported automatically at deployment." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:120 +#, no-c-format +msgid "Creating a new action" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:122 +#, no-c-format +msgid "" +"If you're used to traditional action-style web frameworks, you're probabl= y " +"wondering how you can create a simple web page with a stateless action " +"method in Java. If you type:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:125 +#, no-c-format +msgid "seam new-action" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:127 +#, no-c-format +msgid "" +"Seam will prompt for some information, and generate a new facelets page a= nd " +"Seam component for your project." +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:130 +#, no-c-format +msgid "" +"C:\\Projects\\jboss-seam>seam new-action\n" +"Buildfile: build.xml\n" +"\n" +"validate-workspace:\n" +"\n" +"validate-project:\n" +"\n" +"action-input:\n" +" [input] Enter the Seam component name\n" +"ping\n" +" [input] Enter the local interface name [Ping]\n" +"\n" +" [input] Enter the bean class name [PingBean]\n" +"\n" +" [input] Enter the action method name [ping]\n" +"\n" +" [input] Enter the page name [ping]\n" +"\n" +"\n" +"setup-filters:\n" +"\n" +"new-action:\n" +" [echo] Creating a new stateless session bean component with an actio= n " +"method\n" +" [copy] Copying 1 file to C:\\Projects\\helloworld\\src\\action\\org" +"\\jboss\\helloworld\n" +" [copy] Copying 1 file to C:\\Projects\\helloworld\\src\\action\\org" +"\\jboss\\helloworld\n" +" [copy] Copying 1 file to C:\\Projects\\helloworld\\src\\action\\org" +"\\jboss\\helloworld\\test\n" +" [copy] Copying 1 file to C:\\Projects\\helloworld\\src\\action\\org" +"\\jboss\\helloworld\\test\n" +" [copy] Copying 1 file to C:\\Projects\\helloworld\\view\n" +" [echo] Type 'seam restart' and go to http://localhost:8080/helloworl= d/" +"ping.seam\n" +"\n" +"BUILD SUCCESSFUL\n" +"Total time: 13 seconds\n" +"C:\\Projects\\jboss-seam>" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:132 +#, no-c-format +msgid "" +"Because we've added a new Seam component, we need to restart the exploded= " +"directory deployment. You can do this by typing seam restart, or by running the restart target in the " +"generated project build.xml file from inside Eclipse. " +"Another way to force a restart is to edit the file resources/MET= A-" +"INF/application.xml in Eclipse. Note that you do not " +"need to restart JBoss each time you change the application." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:138 +#, no-c-format +msgid "" +"Now go to http://localhost:8080/helloworld/ping.seam a= nd " +"click the button. You can see the code behind this action by looking in t= he " +"project src directory. Put a breakpoint in the " +"ping() method, and click the button again." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:142 +#, no-c-format +msgid "" +"Finally, locate the PingTest.xml file in the test pack= age " +"and run the integration tests using the TestNG plugin for Eclipse. " +"Alternatively, run the tests using seam test or the " +"test target of the generated build." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:148 +#, no-c-format +msgid "Creating a form with an action" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:150 +#, no-c-format +msgid "The next step is to create a form. Type:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:152 +#, no-c-format +msgid "seam new-form" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:154 +#, no-c-format +msgid "" +"C:\\Projects\\jboss-seam>seam new-form\n" +"Buildfile: C:\\Projects\\jboss-seam\\seam-gen\\build.xml\n" +"\n" +"validate-workspace:\n" +"\n" +"validate-project:\n" +"\n" +"action-input:\n" +" [input] Enter the Seam component name\n" +"hello\n" +" [input] Enter the local interface name [Hello]\n" +"\n" +" [input] Enter the bean class name [HelloBean]\n" +"\n" +" [input] Enter the action method name [hello]\n" +"\n" +" [input] Enter the page name [hello]\n" +"\n" +"\n" +"setup-filters:\n" +"\n" +"new-form:\n" +" [echo] Creating a new stateful session bean component with an action= " +"method\n" +" [copy] Copying 1 file to C:\\Projects\\hello\\src\\com\\hello\n" +" [copy] Copying 1 file to C:\\Projects\\hello\\src\\com\\hello\n" +" [copy] Copying 1 file to C:\\Projects\\hello\\src\\com\\hello\\test\= n" +" [copy] Copying 1 file to C:\\Projects\\hello\\view\n" +" [copy] Copying 1 file to C:\\Projects\\hello\\src\\com\\hello\\test\= n" +" [echo] Type 'seam restart' and go to http://localhost:8080/hello/hel= lo." +"seam\n" +"\n" +"BUILD SUCCESSFUL\n" +"Total time: 5 seconds\n" +"C:\\Projects\\jboss-seam>" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:156 +#, no-c-format +msgid "" +"Restart the application again, and go to http://localhost:8080/" +"helloworld/hello.seam. Then take a look at the generated code. = Run " +"the test. Try adding some new fields to the form and Seam component " +"(remember to restart the deployment each time you change the Java code)." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:162 +#, no-c-format +msgid "Generating an application from an existing database" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:164 +#, no-c-format +msgid "" +"Manually create some tables in your database. (If you need to switch to a= " +"different database, just run seam setup again.) Now ty= pe:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:167 +#, no-c-format +msgid "seam generate-entities" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:169 +#, no-c-format +msgid "" +"Restart the deployment, and go to http://localhost:8080/hellowor= ld. You can browse the database, edit existing objects, and create = new " +"objects. If you look at the generated code, you'll probably be amazed how= " +"simple it is! Seam was designed so that data access code is easy to write= by " +"hand, even for people who don't want to cheat by using seam-gen." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:176 +#, no-c-format +msgid "Generating an application from existing JPA/EJB3 entities" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:178 +#, no-c-format +msgid "" +"Place your existing, valid entity classes inside the src/model. Now type" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:180 +#, no-c-format +msgid "seam generate-ui" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:182 +#, no-c-format +msgid "" +"Restart the deployment, and go to http://localhost:8080/hellowor= ld." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:186 +#, no-c-format +msgid "Deploying the application as an EAR" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:188 +#, no-c-format +msgid "" +"Finally, we want to be able to deploy the application using standard Java= EE " +"5 packaging. First, we need to remove the exploded directory by running " +"seam unexplode. To deploy the EAR, we can type " +"seam deploy at the command prompt, or run the " +"deploy target of the generated project build script. Y= ou " +"can undeploy using seam undeploy or the " +"undeploy target." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:194 +#, no-c-format +msgid "" +"By default, the application will be deployed with the dev profi= le. The EAR will include the persistence-dev.xml " +"and import-dev.sql files, and the myproject-d= ev-" +"ds.xml file will be deployed. You can change the profile, and u= se " +"the prod profile, by typing" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:199 +#, no-c-format +msgid "seam -Dprofile=3Dprod deploy" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:201 +#, no-c-format +msgid "" +"You can even define new deployment profiles for your application. Just ad= d " +"appropriately named files to your project=E2=80=94for example, p= ersistence-" +"staging.xml, import-staging.sql and " +"myproject-staging-ds.xml=E2=80=94and select the name o= f the " +"profile using -Dprofile=3Dstaging." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:208 +#, no-c-format +msgid "Seam and incremental hot deployment" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:210 +#, no-c-format +msgid "" +"When you deploy your Seam application as an exploded directory, you'll ge= t " +"some support for incremental hot deployment at development time. You need= to " +"enable debug mode in both Seam and Facelets, by adding this line to " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Gettingstarted.xml:214 +#, no-c-format +msgid "<core:init debug=3D\"true\">" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:216 +#, no-c-format +msgid "" +"Now, the following files may be redeployed without requiring a full resta= rt " +"of the web application:" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:220 +#, no-c-format +msgid "any facelets page" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:224 +#, no-c-format +msgid "any pages.xml file" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:228 +#, no-c-format +msgid "" +"But if we want to change any Java code, we still need to do a full restar= t " +"of the application. (In JBoss this may be accomplished by touching the to= p " +"level deployment descriptor: application.xml for an EA= R " +"deployment, or web.xml for a WAR deployment.)" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:232 +#, no-c-format +msgid "" +"But if you really want a fast edit/compile/test cycle, Seam supports " +"incremental redeployment of JavaBean components. To make use of this " +"functionality, you must deploy the JavaBean components into the = WEB-" +"INF/dev directory, so that they will be loaded by a special Sea= m " +"classloader, instead of by the WAR or EAR classloader." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:237 +#, no-c-format +msgid "You need to be aware of the following limitations:" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:241 +#, no-c-format +msgid "" +"the components must be JavaBean components, they cannot be EJB3 beans (we= " +"are working on fixing this limitation)" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:246 +#, no-c-format +msgid "entities can never be hot-deloyed" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:250 +#, no-c-format +msgid "" +"components deployed via components.xml may not be hot-" +"deployed" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:254 +#, no-c-format +msgid "" +"the hot-deployable components will not be visible to any classes deployed= " +"outside of WEB-INF/dev" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:259 +#, no-c-format +msgid "" +"Seam debug mode must be enabled and jboss-seam-debug.jar " +"must be in WEB-INF/lib" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:264 +#, no-c-format +msgid "You must have the Seam filter installed in web.xml" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:268 +#, no-c-format +msgid "" +"You may see errors if the system is placed under any load and debug is " +"enabled." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:273 +#, no-c-format +msgid "" +"If you create a WAR project using seam-gen, incremental hot deployment is= " +"available out of the box for classes in the src/action= " +"source directory. However, seam-gen does not support incremental hot " +"deployment for EAR projects." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:279 +#, no-c-format +msgid "Using Seam with JBoss 4.0" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:281 +#, no-c-format +msgid "" +"Seam 2.0 was developed for JavaServer Faces 1.2. When using JBoss AS, we " +"recommend using JBoss 4.2, which bundles the JSF 1.2 reference " +"implementation. However, it is still possible to use Seam 2.0 on the JBos= s " +"4.0 platform. There are two basic steps required to do this: install an E= JB3-" +"enabled version of JBoss 4.0 and replace MyFaces with the JSF 1.2 referen= ce " +"implementation. Once you complete these steps, Seam 2.0 applications can = be " +"deployed to JBoss 4.0." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:288 +#, no-c-format +msgid "Install JBoss 4.0" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:289 +#, no-c-format +msgid "" +"JBoss 4.0 does not ship a default configuration compatible with Seam. To = run " +"Seam, you must install JBoss 4.0.5 using the JEMS 1.2 installer with the " +"ejb3 profile selected. Seam will not run with an installation that doesn'= t " +"include EJB3 support. The JEMS installer can be downloaded from http://labs.jboss.com/" +"jemsinstaller/downloads." +msgstr "" + +#. Tag: title +#: Gettingstarted.xml:296 +#, no-c-format +msgid "Install the JSF 1.2 RI" +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:298 +#, no-c-format +msgid "" +"The web configuration for JBoss 4.0 can be found in the server/" +"default/deploy/jbossweb-tomcat55.sar. You'll need to delete " +"myfaces-api.jar any myfaces-impl.jar " +"from the jsf-libs directory. Then, you'll need to copy= " +"jsf-api.jar, jsf-impl.jar, el-" +"api.jar, and el-ri.jar to that directory. Th= e " +"JSF JARs can be found in the Seam lib directory. The e= l " +"JARs can be obtained from the Seam 1.2 release." +msgstr "" + +#. Tag: para +#: Gettingstarted.xml:306 +#, no-c-format +msgid "" +"You'll also need to edit the conf/web.xml, replacing " +"myfaces-impl.jar with jsf-impl.jar." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Groovy.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Groovy.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Groovy.po 2008-04-21 0= 0:41:49 UTC (rev 7985) @@ -0,0 +1,364 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Groovy.xml:5 +#, no-c-format +msgid "Groovy integration" +msgstr "" + +#. Tag: para +#: Groovy.xml:7 +#, no-c-format +msgid "" +"One aspect of JBoss Seam is its RAD (Rapid Application Development) " +"capability. While not synonymous with RAD, one interesting tool in this " +"space is dynamic languages. Until recently, choosing a dynamic language w= as " +"required choosing a completely different development platform (a developm= ent " +"platform with a set of APIs and a runtime so great that you would no long= er " +"want to use you old legacy Java [sic] APIs anymore, which would be lucky " +"because you would be forced to use those proprietary APIs anyway). Dynami= c " +"languages built on top of the Java Virtual Machine, and Groovy in particular broke this approach in= " +"silos." +msgstr "" + +#. Tag: para +#: Groovy.xml:15 +#, no-c-format +msgid "" +"JBoss Seam now unites the dynamic language world with the Java EE world b= y " +"seamlessly integrating both static and dynamic languages. JBoss Seam lets= " +"the application developer use the best tool for the task, without context= " +"switching. Writing dynamic Seam components is exactly like writing regula= r " +"Seam components. You use the same annotations, the same APIs, the same " +"everything." +msgstr "" + +#. Tag: title +#: Groovy.xml:21 +#, no-c-format +msgid "Groovy introduction" +msgstr "" + +#. Tag: para +#: Groovy.xml:23 +#, no-c-format +msgid "" +"Groovy is an agile dynamic language based on the Java language but with " +"additional features inspired by Python, Ruby and Smalltalk. The strengths= of " +"Groovy are twofold:" +msgstr "" + +#. Tag: para +#: Groovy.xml:28 +#, no-c-format +msgid "" +"Java syntax is supported in Groovy: Java code is Groovy code, making the " +"learning curve very smooth" +msgstr "" + +#. Tag: para +#: Groovy.xml:33 +#, no-c-format +msgid "" +"Groovy objects are Java objects, and Groovy classes are Java classes: Gro= ovy " +"integrates smoothly with existing Java libraries and frameworks." +msgstr "" + +#. Tag: para +#: Groovy.xml:38 +#, no-c-format +msgid "TODO: write a quick overview of the Groovy syntax add-on" +msgstr "" + +#. Tag: title +#: Groovy.xml:42 +#, no-c-format +msgid "Writing Seam applications in Groovy" +msgstr "" + +#. Tag: para +#: Groovy.xml:44 +#, no-c-format +msgid "" +"There is not much to say about it. Since a Groovy object is a Java object= , " +"you can virtually write any Seam component, or any class for what it wort= h, " +"in Groovy and deploy it. You can also mix Groovy classes and Java classes= in " +"the same application." +msgstr "" + +#. Tag: title +#: Groovy.xml:49 +#, no-c-format +msgid "Writing Groovy components" +msgstr "" + +#. Tag: para +#: Groovy.xml:51 +#, no-c-format +msgid "" +"As you should have noticed by now, Seam uses annotations heavily. Be sure= to " +"use Groovy 1.1 or above for annotation support. Here are some example of " +"groovy code used in a Seam application." +msgstr "" + +#. Tag: title +#: Groovy.xml:55 +#, no-c-format +msgid "Entity" +msgstr "" + +#. Tag: programlisting +#: Groovy.xml:57 +#, no-c-format +msgid "" +"@Entity\n" +" @Name(\"hotel\")\n" +" class Hotel implements Serializable\n" +" {\n" +" @Id @GeneratedValue\n" +" Long id\n" +"\n" +" @Length(max=3D50) @NotNull\n" +" String name\n" +"\n" +" @Length(max=3D100) @NotNull\n" +" String address\n" +"\n" +" @Length(max=3D40) @NotNull\n" +" String city\n" +"\n" +" @Length(min=3D2, max=3D10) @NotNull\n" +" String state\n" +"\n" +" @Length(min=3D4, max=3D6) @NotNull\n" +" String zip\n" +"\n" +" @Length(min=3D2, max=3D40) @NotNull\n" +" String country\n" +"\n" +" @Column(precision=3D6, scale=3D2)\n" +" BigDecimal price\n" +"\n" +" @Override\n" +" String toString()\n" +" {\n" +" return \"Hotel(${name},${address},${city},${zip})\"\n" +" }\n" +" }" +msgstr "" + +#. Tag: para +#: Groovy.xml:59 +#, no-c-format +msgid "" +"Groovy natively support the notion of properties (getter/setter), so ther= e " +"is no need to explicitly write verbose getters and setters: in the previo= us " +"example, the hotel class can be accessed from Java as hotel.getCity= (), the getters and setters being generated by the Groovy compiler. Th= is " +"type of syntactic sugar makes the entity code very concise." +msgstr "" + +#. Tag: title +#: Groovy.xml:67 +#, no-c-format +msgid "Seam component" +msgstr "" + +#. Tag: para +#: Groovy.xml:69 +#, no-c-format +msgid "" +"Writing Seam components in Groovy is in no way different than in Java: " +"annotations are used to mark the class as a Seam component." +msgstr "" + +#. Tag: programlisting +#: Groovy.xml:72 +#, no-c-format +msgid "" +"@Scope(ScopeType.SESSION)\n" +"@Name(\"bookingList\")\n" +"class BookingListAction implements Serializable\n" +"{\n" +" @In EntityManager em\n" +" @In User user\n" +" @DataModel List<Booking> bookings\n" +" @DataModelSelection Booking booking\n" +" @Logger Log log\n" +"\n" +" @Factory public void getBookings()\n" +" {\n" +" bookings =3D em.createQuery('''\n" +" select b from Booking b\n" +" where b.user.username =3D :username\n" +" order by b.checkinDate''')\n" +" .setParameter(\"username\", user.username)\n" +" .getResultList()\n" +" }\n" +" \n" +" public void cancel()\n" +" {\n" +" log.info(\"Cancel booking: #{bookingList.booking.id} for #{user." +"username}\")\n" +" Booking cancelled =3D em.find(Booking.class, booking.id)\n" +" if (cancelled !=3D null) em.remove( cancelled )\n" +" getBookings()\n" +" FacesMessages.instance().add(\"Booking cancelled for confirmation= " +"number #{bookingList.booking.id}\", new Object[0])\n" +" }\n" +"}" +msgstr "" + +#. Tag: title +#: Groovy.xml:79 Groovy.xml:146 +#, no-c-format +msgid "seam-gen" +msgstr "" + +#. Tag: para +#: Groovy.xml:81 +#, no-c-format +msgid "" +"Seam gen has a transparent integration with Groovy. You can write Groovy " +"code in seam-gen backed projects without any additional infrastructure " +"requirement. When writing a Groovy entity, simply place your ." +"groovy files in src/model. Unsurprisingly= , " +"when writing an action, simply place your .groovy fi= les " +"in src/action." +msgstr "" + +#. Tag: title +#: Groovy.xml:90 +#, no-c-format +msgid "Deployment" +msgstr "" + +#. Tag: para +#: Groovy.xml:92 +#, no-c-format +msgid "" +"Deploying Groovy classes is very much like deploying Java classes " +"(surprisingly, no need to write nor comply with a 3-letter composite " +"specification to support a multi-language component framework)." +msgstr "" + +#. Tag: para +#: Groovy.xml:95 +#, no-c-format +msgid "" +"Beyond standard deployments, JBoss Seam has the ability, at development " +"time, to redeploy JavaBeans Seam component classes without having to rest= art " +"the application, saving a lot of time in the development / test cycle. Th= e " +"same support is provided for GroovyBeans Seam components when the ." +"groovy files are deployed." +msgstr "" + +#. Tag: title +#: Groovy.xml:101 +#, no-c-format +msgid "Deploying Groovy code" +msgstr "" + +#. Tag: para +#: Groovy.xml:103 +#, no-c-format +msgid "" +"A Groovy class is a Java class, with a bytecode " +"representation just like a Java class. To deploy, a Groovy entity, a Groo= vy " +"Session bean or a Groovy Seam component, a compilation step is necessary.= A " +"common approach is to use the groovyc ant task. Once " +"compiles, a Groovy class is in no way different than a Java class and the= " +"application server will treat them equally. Note that this allow a seamle= ss " +"mix of Groovy and Java code." +msgstr "" + +#. Tag: title +#: Groovy.xml:111 +#, no-c-format +msgid "Native .groovy file deployment at development time" +msgstr "" + +#. Tag: para +#: Groovy.xml:113 +#, no-c-format +msgid "" +"JBoss Seam natively supports the deployment of .groovy= " +"files (ie without compilation) in incremental hotdeployment mode " +"(development only). This enables a very fast edit/test cycle. To set up ." +"groovy deployments, follow the configuration at and deploy your Groovy code (." +"groovy files) into the WEB-INF/dev " +"directory. The GroovyBean components will be picked up incrementally with= no " +"need to restart the application (and obviously not the application server= " +"either)." +msgstr "" + +#. Tag: para +#: Groovy.xml:120 +#, no-c-format +msgid "" +"Be aware that the native .groovy file deployment suffers the same " +"limitations as the regular Seam hotdeployment:" +msgstr "" + +#. Tag: para +#: Groovy.xml:125 +#, no-c-format +msgid "" +"The components must be JavaBeans or GroovyBeans. They cannot be EJB3 bean" +msgstr "" + +#. Tag: para +#: Groovy.xml:129 +#, no-c-format +msgid "Entities cannot be hotdeployed" +msgstr "" + +#. Tag: para +#: Groovy.xml:133 +#, no-c-format +msgid "" +"The hot-deployable components will not be visible to any classes deployed= " +"outside of WEB-INF/dev" +msgstr "" + +#. Tag: para +#: Groovy.xml:138 +#, no-c-format +msgid "Seam debug mode must be enabled" +msgstr "" + +#. Tag: para +#: Groovy.xml:148 +#, no-c-format +msgid "" +"Seam-gen transparently supports Groovy files deployment and compilation. " +"This includes the native .groovy file deployment in " +"development mode (compilation-less). If you create a seam-gen project of " +"type WAR, Java and Groovy classes in src/action will= " +"automatically be candidate for the incremental hot deployment. If you are= in " +"production mode, the Groovy files will simply be compiled before deployme= nt." +msgstr "" + +#. Tag: para +#: Groovy.xml:154 +#, no-c-format +msgid "" +"You will find a live example of the Booking demo written completely in " +"Groovy and supporting incremental hot deployment in examples/" +"groovybooking." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gwt.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gwt.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Gwt.po 2008-04-21 00:4= 1:49 UTC (rev 7985) @@ -0,0 +1,355 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Gwt.xml:5 +#, no-c-format +msgid "Seam and the Google Web Toolkit" +msgstr "" + +#. Tag: para +#: Gwt.xml:7 +#, no-c-format +msgid "" +"For those that prefer to use the Google Web Toolkit (GWT) to develop dyna= mic " +"AJAX applications, Seam provides an integration layer that allows GWT " +"widgets to interact directly with Seam components." +msgstr "" + +#. Tag: para +#: Gwt.xml:12 +#, no-c-format +msgid "" +"To use GWT, we assume that you are already familiar with the GWT tools - " +"more information can be found at http://code.google.com/webtoolkit/. This chapter do= es " +"not attempt to explain how GWT works or how to use it." +msgstr "" + +#. Tag: title +#: Gwt.xml:19 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Gwt.xml:21 +#, no-c-format +msgid "" +"There is no special configuration required to use GWT in a Seam applicati= on, " +"however the Seam resource servlet must be installed. See for details." +msgstr "" + +#. Tag: title +#: Gwt.xml:29 +#, no-c-format +msgid "Preparing your component" +msgstr "" + +#. Tag: para +#: Gwt.xml:31 +#, no-c-format +msgid "" +"The first step in preparing a Seam component to be called via GWT, is to " +"create both synchronous and asynchronous service interfaces for the metho= ds " +"you wish to call. Both of these interfaces should extend the GWT interfac= e " +"com.google.gwt.user.client.rpc.RemoteService:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:37 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Gwt.xml:39 +#, no-c-format +msgid "" +"The asynchronous interface should be identical, except that it also conta= ins " +"an additional AsyncCallback parameter for each of the " +"methods it declares:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:44 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Gwt.xml:46 +#, no-c-format +msgid "" +"The asynchronous interface, in this example MyServiceAsync, will be implemented by GWT and should never be implemented " +"directly." +msgstr "" + +#. Tag: para +#: Gwt.xml:51 +#, no-c-format +msgid "" +"The next step, is to create a Seam component that implements the synchron= ous " +"interface:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:55 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Gwt.xml:57 +#, no-c-format +msgid "" +"The methods that should be made accessible via GWT need to be annotated w= ith " +"the @WebRemote annotation, which is required for all w= eb-" +"remoteable methods." +msgstr "" + +#. Tag: title +#: Gwt.xml:64 +#, no-c-format +msgid "Hooking up a GWT widget to the Seam component" +msgstr "" + +#. Tag: para +#: Gwt.xml:66 +#, no-c-format +msgid "" +"The next step, is to write a method that returns the asynchronous interfa= ce " +"to the component. This method can be located inside the widget class, and= " +"will be used by the widget to obtain a reference to the asynchronous clie= nt " +"stub:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:72 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Gwt.xml:74 +#, no-c-format +msgid "" +"The final step is to write the widget code that invokes the method on the= " +"client stub. The following example creates a simple user interface with a= " +"label, text input and a button:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:79 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Gwt.xml:82 +#, no-c-format +msgid "" +"When clicked, the button invokes the askServer() metho= d " +"passing the contents of the input text (in this example, validation is al= so " +"performed to ensure that the input is a valid question). The " +"askServer() method acquires a reference to the " +"asynchronous client stub (returned by the getService()= " +"method) and invokes the askIt() method. The result (or= " +"error message if the call fails) is shown in an alert window." +msgstr "" + +#. Tag: para +#: Gwt.xml:99 +#, no-c-format +msgid "" +"The complete code for this example can be found in the Seam distribution = in " +"the examples/remoting/gwt directory." +msgstr "" + +#. Tag: title +#: Gwt.xml:106 +#, no-c-format +msgid "GWT Ant Targets" +msgstr "" + +#. Tag: para +#: Gwt.xml:108 +#, no-c-format +msgid "" +"For deployment of GWT apps, there is a compile-to-Javascript step (which " +"compacts and obfuscates the code). There is an ant utility which can be u= sed " +"instead of the command line or GUI utility that GWT provides. To use this= , " +"you will need to have the ant task jar in your ant classpath, as well as = GWT " +"downloaded (which you will need for hosted mode anyway)." +msgstr "" + +#. Tag: para +#: Gwt.xml:114 +#, no-c-format +msgid "Then, in your ant file, place (near the top of your ant file):" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:118 +#, no-c-format +msgid "" +"\n" +" \n" +" ]]>" +msgstr "" + +#. Tag: para +#: Gwt.xml:120 +#, no-c-format +msgid "" +"Create a build.properties file, which has the contents= :" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:124 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: Gwt.xml:126 +#, no-c-format +msgid "" +"This of course should point to the directory where GWT is installed. Then= to " +"use it, create a target:" +msgstr "" + +#. Tag: programlisting +#: Gwt.xml:130 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" ]]>" +msgstr "" + +#. Tag: para +#: Gwt.xml:132 +#, no-c-format +msgid "" +"This target when called will compile the GWT application, and copy it to = the " +"specified directory (which would be in the webapp part= of " +"your war - remember GWT generates HTML and Javascript artifacts). You nev= er " +"edit the resulting code that gwt-compile generates - y= ou " +"always edit in the GWT source directory." +msgstr "" + +#. Tag: para +#: Gwt.xml:139 +#, no-c-format +msgid "" +"Remember that GWT comes with a hosted mode browser - you should be using " +"that if you are developing with GWT. If you aren't using that, and are ju= st " +"compiling it each time, you aren't getting the most out of the toolkit (i= n " +"fact, if you can't or won't use the hosted mode browser, I would go far a= s " +"to say you should NOT be using GWT at all - it's that valuable!)." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Hsearch.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Hsearch.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Hsearch.po 2008-04-21 = 00:41:49 UTC (rev 7985) @@ -0,0 +1,339 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Hsearch.xml:5 +#, no-c-format +msgid "Hibernate Search" +msgstr "" + +#. Tag: title +#: Hsearch.xml:8 +#, no-c-format +msgid "Introduction" +msgstr "" + +#. Tag: para +#: Hsearch.xml:10 +#, no-c-format +msgid "" +"Full text search engines like Apache Lucene=E2=84=A2 are a very powerful = technology " +"that bring full text and efficient queries to applications. Hibernate " +"Search, which uses Apache Lucene under the covers, indexes your domain mo= del " +"with the addition of a few annotations, takes care of the database / inde= x " +"synchronization and returns regular managed objects that are matched by f= ull " +"text queries. Keep in mind, thought, that there are mismatches that arise= " +"when dealing with an object domain model over a text index (keeping the " +"index up to date, mismatch between the index structure and the domain mod= el, " +"and querying mismatch). But the benefits of speed and efficiency far " +"outweigh these limitations." +msgstr "" + +#. Tag: para +#: Hsearch.xml:21 +#, no-c-format +msgid "" +"Hibernate Search has been designed to integrates nicely and as naturally = as " +"possible with JPA and Hibernate. As a natural extension, JBoss Seam provi= des " +"an Hibernate Search integration." +msgstr "" + +#. Tag: para +#: Hsearch.xml:25 +#, no-c-format +msgid "" +"Please refer to the Hibernate Search documentation for " +"information specific to the Hibernate Search project." +msgstr "" + +#. Tag: title +#: Hsearch.xml:33 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Hsearch.xml:35 +#, no-c-format +msgid "" +"Hibernate Search is configured either in the META-INF/persisten= ce." +"xml or hibernate.cfg.xml file." +msgstr "" + +#. Tag: para +#: Hsearch.xml:39 +#, no-c-format +msgid "" +"Hibernate Search configuration has sensible defaults for most configurati= on " +"parameters. Here is a minimal persistence unit configuration to get start= ed." +msgstr "" + +#. Tag: programlisting +#: Hsearch.xml:43 +#, no-c-format +msgid "" +"\n" +" java:/DefaultDS\n" +" \n" +" [...]\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Hsearch.xml:45 +#, no-c-format +msgid "" +"If you plan to target Hibernate Annotations or EntityManager 3.2.x (embed= ded " +"into JBoss AS 4.2.GA), you also need to configure the appropriate event " +"listeners." +msgstr "" + +#. Tag: programlisting +#: Hsearch.xml:49 +#, no-c-format +msgid "" +"\n" +" java:/DefaultDS\n" +" \n" +" [...]\n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Hsearch.xml:52 +#, no-c-format +msgid "" +"This step is no longer necessary if Hibernate Annotation or EntityManager= " +"3.3.x are used." +msgstr "" + +#. Tag: para +#: Hsearch.xml:56 +#, no-c-format +msgid "" +"In addition to the configuration file, the following jars have to be " +"deployed:" +msgstr "" + +#. Tag: para +#: Hsearch.xml:61 +#, no-c-format +msgid "hibernate-search.jar" +msgstr "" + +#. Tag: para +#: Hsearch.xml:65 +#, no-c-format +msgid "hibernate-commons-annotations.jar" +msgstr "" + +#. Tag: para +#: Hsearch.xml:69 +#, no-c-format +msgid "lucene-core.jar" +msgstr "" + +#. Tag: para +#: Hsearch.xml:74 +#, no-c-format +msgid "" +"If you deploy those in a EAR, don't forget to update applicatio= n." +"xml" +msgstr "" + +#. Tag: title +#: Hsearch.xml:80 +#, no-c-format +msgid "Usage" +msgstr "" + +#. Tag: para +#: Hsearch.xml:82 +#, no-c-format +msgid "" +"Hibernate Search uses annotations to map entities to a Lucene index, chec= k " +"the reference documentation for more informations." +msgstr "" + +#. Tag: para +#: Hsearch.xml:87 +#, no-c-format +msgid "" +"Hibernate Search is fully integrated with the API and semantic of JPA / " +"Hibernate. Switching from a HQL or Criteria based query requires just a f= ew " +"lines of code. The main API the application interacts with is the " +"FullTextSession API (subclass of Hibernate's " +"Session)." +msgstr "" + +#. Tag: para +#: Hsearch.xml:93 +#, no-c-format +msgid "" +"When Hibernate Search is present, JBoss Seam injects a " +"FullTextSession." +msgstr "" + +#. Tag: programlisting +#: Hsearch.xml:96 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Hsearch.xml:99 +#, no-c-format +msgid "" +"FullTextSession extends org.hibernate." +"Session so that it can be used as a regular Hibernate Session" +msgstr "" + +#. Tag: para +#: Hsearch.xml:104 +#, no-c-format +msgid "" +"If the Java Persistence API is used, a smoother integration is proposed." +msgstr "" + +#. Tag: programlisting +#: Hsearch.xml:107 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Hsearch.xml:109 +#, no-c-format +msgid "" +"When Hibernate Search is present, a FulltextEntityManager is injected. FullTextEntityManager exte= nds " +"EntityManager with search specific methods, the sa= me " +"way FullTextSession extends Session." +msgstr "" + +#. Tag: para +#: Hsearch.xml:116 +#, no-c-format +msgid "" +"When an EJB 3.0 Session or Message Driven Bean injection is used (i.e. vi= a " +"the @PersistenceContext annotation), it is not possible to replace the " +"EntityManager interface by the " +"FullTextEntityManager interface in the declaration= " +"statement. However, the implementation injected will be a " +"FullTextEntityManager implementation: downcasting = is " +"then possible." +msgstr "" + +#. Tag: programlisting +#: Hsearch.xml:124 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Hsearch.xml:129 +#, no-c-format +msgid "" +"For people accustomed to Hibernate Search out of Seam, note that using " +"Search.createFullTextSession is not necessary." +msgstr "" + +#. Tag: para +#: Hsearch.xml:134 +#, no-c-format +msgid "" +"Check the DVDStore or the blog examples of the JBoss Seam distribution fo= r a " +"concrete use of Hibernate Search." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/I18n.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/I18n.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/I18n.po 2008-04-21 00:= 41:49 UTC (rev 7985) @@ -0,0 +1,552 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: I18n.xml:5 +#, no-c-format +msgid "Internationalization and themes" +msgstr "" + +#. Tag: para +#: I18n.xml:6 +#, no-c-format +msgid "" +"Seam makes it easy to build internationalized applications by providing " +"several built-in components for handling multi-language UI messages." +msgstr "" + +#. Tag: title +#: I18n.xml:13 +#, no-c-format +msgid "Locales" +msgstr "" + +#. Tag: para +#: I18n.xml:14 +#, no-c-format +msgid "" +"Each user login session has an associated instance of java.util." +"Locale (available to the application as a component named " +"locale). Under normal circumstances, you won't need to= do " +"any special configuration to set the locale. Seam just delegates to JSF t= o " +"determine the active locale:" +msgstr "" + +#. Tag: para +#: I18n.xml:26 +#, no-c-format +msgid "" +"If there is a locale associated with the HTTP request (the browser locale= ), " +"and that locale is in the list of supported locales from faces-" +"config.xml, use that locale for the rest of the session." +msgstr "" + +#. Tag: para +#: I18n.xml:32 +#, no-c-format +msgid "" +"Otherwise, if a default locale was specified in the faces-config= ." +"xml, use that locale for the rest of the session." +msgstr "" + +#. Tag: para +#: I18n.xml:37 +#, no-c-format +msgid "Otherwise, use the default locale of the server." +msgstr "" + +#. Tag: para +#: I18n.xml:41 +#, no-c-format +msgid "" +"It is possible to set the locale manually via the Se= am " +"configuration properties org.jboss.seam.international." +"localeSelector.language, org.jboss.seam.international." +"localeSelector.country and org.jboss.seam.internationa= l." +"localeSelector.variant, but we can't think of any good reason t= o " +"ever do this." +msgstr "" + +#. Tag: para +#: I18n.xml:50 +#, no-c-format +msgid "" +"It is, however, useful to allow the user to set the locale manually via t= he " +"application user interface. Seam provides built-in functionality for " +"overriding the locale determined by the algorithm above. All you have to = do " +"is add the following fragment to a form in your JSP or Facelets page:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:59 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:61 +#, no-c-format +msgid "" +"Or, if you want a list of all supported locales from faces-confi= g." +"xml, just use:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:66 +#, no-c-format +msgid "" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:68 +#, no-c-format +msgid "" +"When this use selects an item from the drop-down, and clicks the button, = the " +"Seam and JSF locales will be overridden for the rest of the session." +msgstr "" + +#. Tag: title +#: I18n.xml:77 +#, no-c-format +msgid "Labels" +msgstr "" + +#. Tag: para +#: I18n.xml:78 +#, no-c-format +msgid "" +"JSF supports internationalization of user interface labels and descriptiv= e " +"text via the use of <f:loadBundle />. You can us= e " +"this approach in Seam applications. Alternatively, you can take advantage= of " +"the Seam messages component to display templated label= s " +"with embedded EL expressions." +msgstr "" + +#. Tag: title +#: I18n.xml:87 +#, no-c-format +msgid "Defining labels" +msgstr "" + +#. Tag: para +#: I18n.xml:88 +#, no-c-format +msgid "" +"Seam provides a java.util.ResourceBundle (available to= " +"the application as a org.jboss.seam.core.resourceBundle). " +"You'll need to make your internationalized labels available via this spec= ial " +"resource bundle. By default, the resource bundle used by Seam is named " +"messages and so you'll need to define your labels in " +"files named messages.properties, messages_en." +"properties, messages_en_AU.properties, etc. " +"These files usually belong in the WEB-INF/classes " +"directory." +msgstr "" + +#. Tag: para +#: I18n.xml:101 +#, no-c-format +msgid "So, in messages_en.properties:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:105 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: I18n.xml:107 +#, no-c-format +msgid "And in messages_en_AU.properties:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:111 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: I18n.xml:113 +#, no-c-format +msgid "" +"You can select a different name for the resource bundle by setting the Se= am " +"configuration property named org.jboss.seam.core.resourceLoader." +"bundleNames. You can even specify a list of resource bundle nam= es " +"to be searched (depth first) for messages." +msgstr "" + +#. Tag: programlisting +#: I18n.xml:121 +#, no-c-format +msgid "" +"\n" +" \n" +" mycompany_messages\n" +" standard_messages \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:123 +#, no-c-format +msgid "" +"If you want to define a message just for a particular page, you can speci= fy " +"it in a resource bundle with the same name as the JSF view id, with the " +"leading / and trailing file extension removed. So we " +"could put our message in welcome/hello_en.properties i= f " +"we only needed to display the message on /welcome/hello.jsp." +msgstr "" + +#. Tag: para +#: I18n.xml:132 +#, no-c-format +msgid "" +"You can even specify an explicit bundle name in pages.xml:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:136 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:138 +#, no-c-format +msgid "" +"Then we could use messages defined in HelloMessages.properties on /welcome/hello.jsp." +msgstr "" + +#. Tag: title +#: I18n.xml:145 +#, no-c-format +msgid "Displaying labels" +msgstr "" + +#. Tag: para +#: I18n.xml:147 +#, no-c-format +msgid "" +"If you define your labels using the Seam resource bundle, you'll be able = to " +"use them without having to type <f:loadBundle ... /> on every page. Instead, you can simply type:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:153 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:155 +#, no-c-format +msgid "or:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:159 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:161 +#, no-c-format +msgid "Even better, the messages themselves may contain EL expressions:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:165 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:166 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: I18n.xml:168 +#, no-c-format +msgid "You can even use the messages in your code:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:172 +#, no-c-format +msgid " messages;]]>" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:173 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: title +#: I18n.xml:178 +#, no-c-format +msgid "Faces messages" +msgstr "" + +#. Tag: para +#: I18n.xml:179 +#, no-c-format +msgid "" +"The facesMessages component is a super-convenient way = to " +"display success or failure messages to the user. The functionality we jus= t " +"described also works for faces messages:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:185 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: I18n.xml:187 +#, no-c-format +msgid "" +"This will display Hello, Gavin King or G'day,= " +"Gavin, depending upon the user's locale." +msgstr "" + +#. Tag: title +#: I18n.xml:196 +#, no-c-format +msgid "Timezones" +msgstr "" + +#. Tag: para +#: I18n.xml:197 +#, no-c-format +msgid "" +"There is also a session-scoped instance of java.util.Timezone, named org.jboss.seam.international.timezone,= " +"and a Seam component for changing the timezone named org.jboss.s= eam." +"international.timezoneSelector. By default, the timezone is the= " +"default timezone of the server. Unfortunately, the JSF specification says= " +"that all dates and times should be assumed to be UTC, and displayed as UT= C, " +"unless a timezone is explicitly specified using <f:" +"convertDateTime>. This is an extremely inconvenient default " +"behavior." +msgstr "" + +#. Tag: para +#: I18n.xml:206 +#, no-c-format +msgid "" +"Seam overrides this behavior, and defaults all dates and times to the Sea= m " +"timezone. In addition, Seam provides the <s:convertDateTime&g= t; tag which always performs conversions in the Seam timezone." +msgstr "" + +#. Tag: title +#: I18n.xml:214 +#, no-c-format +msgid "Themes" +msgstr "" + +#. Tag: para +#: I18n.xml:215 +#, no-c-format +msgid "" +"Seam applications are also very easily skinnable. The theme API is very " +"similar to the localization API, but of course these two concerns are " +"orthogonal, and some applications support both localization and themes." +msgstr "" + +#. Tag: para +#: I18n.xml:221 +#, no-c-format +msgid "First, configure the set of supported themes:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:225 +#, no-c-format +msgid "" +"\n" +" \n" +" default\n" +" accessible\n" +" printable\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:227 +#, no-c-format +msgid "Note that the first theme listed is the default theme." +msgstr "" + +#. Tag: para +#: I18n.xml:231 +#, no-c-format +msgid "" +"Themes are defined in a properties file with the same name as the theme. = For " +"example, the default theme is defined as a set of entr= ies " +"in default.properties. For example, default." +"properties might define:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:238 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: I18n.xml:240 +#, no-c-format +msgid "" +"Usually the entries in a theme resource bundle will be paths to CSS style= s " +"or images and names of facelets templates (unlike localization resource " +"bundles which are usually text)." +msgstr "" + +#. Tag: para +#: I18n.xml:246 +#, no-c-format +msgid "" +"Now we can use these entries in our JSP or facelets pages. For example, t= o " +"theme the stylesheet in a facelets page:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:251 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:253 +#, no-c-format +msgid "Or, when the page definition resides in a subdirectory:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:255 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:257 +#, no-c-format +msgid "" +"Most powerfully, facelets lets us theme the template used by a &= lt;" +"ui:composition>:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:261 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: I18n.xml:263 +#, no-c-format +msgid "" +"Just like the locale selector, there is a built-in theme selector to allo= w " +"the user to freely switch themes:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:268 +#, no-c-format +msgid "" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: title +#: I18n.xml:273 +#, no-c-format +msgid "Persisting locale and theme preferences via cookies" +msgstr "" + +#. Tag: para +#: I18n.xml:274 +#, no-c-format +msgid "" +"The locale selector, theme selector and timezone selector all support " +"persistence of locale and theme preference to a cookie. Simply set the " +"cookie-enabled property in components.xml:" +msgstr "" + +#. Tag: programlisting +#: I18n.xml:280 +#, no-c-format +msgid "" +"\n" +" \n" +" default\n" +" accessible\n" +" printable\n" +" \n" +"\n" +"\n" +"]]>" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Itext.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Itext.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Itext.po 2008-04-21 00= :41:49 UTC (rev 7985) @@ -0,0 +1,2353 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Itext.xml:2 +#, no-c-format +msgid "iText PDF generation" +msgstr "" + +#. Tag: para +#: Itext.xml:3 +#, no-c-format +msgid "" +"Seam now includes a component set for generating documents using iText. T= he " +"primary focus of Seam's iText document support is for the generation of P= DF " +"doucuments, but Seam also offers basic support for RTF document generatio= n." +msgstr "" + +#. Tag: title +#: Itext.xml:8 +#, no-c-format +msgid "Using PDF Support" +msgstr "" + +#. Tag: para +#: Itext.xml:9 +#, no-c-format +msgid "" +"iText support is provided by jboss-seam-pdf.jar. This = JAR " +"contains the iText JSF controls, which are used to construct views that c= an " +"render to PDF, and the DocumentStore component, which serves the rendered= " +"documents to the user. To include PDF support in your application, includ= ed " +"jboss-seam-pdf.jar in your WEB-INF/lib " +"directory along with the iText JAR file. There is no further configuratio= n " +"needed to use Seam's ciText supportfon." +msgstr "" + +#. Tag: para +#: Itext.xml:14 +#, no-c-format +msgid "" +"The Seam iText module requires the use of Facelets as the view technology= . " +"Future versions of the library may also support the use of JSP. " +"Additionally, it requires the use of the seam-ui package." +msgstr "" + +#. Tag: para +#: Itext.xml:17 +#, no-c-format +msgid "" +"The examples/itext project contains an example of the = PDF " +"support in action. It demonstrates proper deployment packaging, and it " +"contains a number examples that demonstrate the key PDF generation featur= es " +"current supported." +msgstr "" + +#. Tag: title +#: Itext.xml:22 +#, no-c-format +msgid "Creating a document" +msgstr "" + +#. Tag: literal +#: Itext.xml:34 +#, no-c-format +msgid "<p:document>" +msgstr "" + +#. Tag: emphasis +#: Itext.xml:39 Itext.xml:175 Itext.xml:247 Itext.xml:282 Itext.xml:315 +#: Itext.xml:365 Itext.xml:388 Itext.xml:519 Itext.xml:583 Itext.xml:647 +#: Itext.xml:687 Itext.xml:742 Itext.xml:845 Itext.xml:932 Itext.xml:1073 +#: Itext.xml:1324 Itext.xml:1514 Itext.xml:1704 Itext.xml:1847 Itext.xml:1= 918 +#: Itext.xml:1979 Itext.xml:2026 Itext.xml:2106 Itext.xml:2219 +#, no-c-format +msgid "Description" +msgstr "" + +#. Tag: para +#: Itext.xml:41 +#, no-c-format +msgid "" +"Documents are generated by facelet XHTML files using tags in the " +"http://jboss.com/products/seam/pdf namespace. Document= s " +"should always have the document tag at the root of the= " +"document. The document tag prepares Seam to generate a= " +"document into the DocumentStore and renders an HTML redirect to that stor= ed " +"content." +msgstr "" + +#. Tag: emphasis +#: Itext.xml:48 Itext.xml:181 Itext.xml:255 Itext.xml:289 Itext.xml:321 +#: Itext.xml:406 Itext.xml:526 Itext.xml:592 Itext.xml:697 Itext.xml:789 +#: Itext.xml:850 Itext.xml:937 Itext.xml:1078 Itext.xml:1328 Itext.xml:1518 +#: Itext.xml:1708 Itext.xml:1852 Itext.xml:1922 Itext.xml:1984 Itext.xml:2= 030 +#: Itext.xml:2111 Itext.xml:2224 +#, no-c-format +msgid "Attributes" +msgstr "" + +#. Tag: para +#: Itext.xml:53 +#, no-c-format +msgid "" +"type — The type of the document to be produced. " +"Valid values are PDF, RTF and " +"HTML modes. Seam defaults to PDF generation, and many = of " +"the features only work correctly when generating PDF documents." +msgstr "" + +#. Tag: para +#: Itext.xml:62 +#, no-c-format +msgid "" +"pageSize — The size of the page to be generate. = The " +"most commonly used values would be LETTER and " +"A4. A full list of supported pages sizes can be found = in " +"com.lowagie.text.PageSize class. Alternatively, pageSi= ze " +"can provide the width and height of the page directly. The value \"612 79= 2" +"\", for example, is equivalent to the LETTER page size." +msgstr "" + +#. Tag: para +#: Itext.xml:71 +#, no-c-format +msgid "" +"orientation — The orientation of the page. Valid= " +"values are portrait and landscape. = In " +"landscape mode, the height and width page size values are reversed." +msgstr "" + +#. Tag: para +#: Itext.xml:80 +#, no-c-format +msgid "" +"margins — The left, right, top and bottom margin= " +"values." +msgstr "" + +#. Tag: para +#: Itext.xml:85 +#, no-c-format +msgid "" +"marginMirroring — Indicates that margin settings= " +"should be reversed an alternating pages." +msgstr "" + +#. Tag: para +#: Itext.xml:91 +#, no-c-format +msgid "" +"disposition — When generating PDFs in a web " +"browser, this determines the HTTP Content-Disposition = of " +"the document. Valid values are inline, which indicates= " +"the document should be displayed in the browser window if possible, and " +"attachment, which indicates that the document should b= e " +"treated as a download. The default value is inline." +msgstr "" + +#. Tag: emphasis +#: Itext.xml:102 +#, no-c-format +msgid "Metadata Attributes" +msgstr "" + +#. Tag: literal +#: Itext.xml:109 +#, no-c-format +msgid "title" +msgstr "" + +#. Tag: literal +#: Itext.xml:114 +#, no-c-format +msgid "subject" +msgstr "" + +#. Tag: literal +#: Itext.xml:119 +#, no-c-format +msgid "keywords" +msgstr "" + +#. Tag: literal +#: Itext.xml:124 +#, no-c-format +msgid "author" +msgstr "" + +#. Tag: literal +#: Itext.xml:129 +#, no-c-format +msgid "creator" +msgstr "" + +#. Tag: emphasis +#: Itext.xml:134 Itext.xml:233 Itext.xml:267 Itext.xml:300 Itext.xml:350 +#: Itext.xml:373 Itext.xml:501 Itext.xml:549 Itext.xml:633 Itext.xml:653 +#: Itext.xml:726 Itext.xml:831 Itext.xml:892 Itext.xml:1058 Itext.xml:1234 +#: Itext.xml:1500 Itext.xml:1690 Itext.xml:1833 Itext.xml:1904 Itext.xml:1= 962 +#: Itext.xml:2012 Itext.xml:2072 Itext.xml:2186 Itext.xml:2244 +#, no-c-format +msgid "Usage" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:136 +#, no-c-format +msgid "" +" \n" +" The document goes " +"here. = \n" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:149 +#, no-c-format +msgid "Basic Text Elements" +msgstr "" + +#. Tag: para +#: Itext.xml:151 +#, no-c-format +msgid "" +"Useful documents will need to contain more than just text; however, the " +"standard UI components are geared towards HTML generation and are not use= ful " +"for generating PDF content. Instead, Seam provides a special UI component= s " +"for generating suitable PDF content. Tags like <p:image> and <p:paragraph> are the basic " +"foundations of simple documents. Tags like <p:font> " +"provide style information to all the content surrounging them." +msgstr "" + +#. Tag: literal +#: Itext.xml:168 +#, no-c-format +msgid "<p:paragraph>" +msgstr "" + +#. Tag: para +#: Itext.xml:177 +#, no-c-format +msgid "" +"Most uses of text should be sectioned into paragraphs so that text fragme= nts " +"can be flowed, formatted and styled in logical groups." +msgstr "" + +#. Tag: literal +#: Itext.xml:187 +#, no-c-format +msgid "firstLineIndent" +msgstr "" + +#. Tag: literal +#: Itext.xml:192 Itext.xml:1153 +#, no-c-format +msgid "extraParagraphSpace" +msgstr "" + +#. Tag: literal +#: Itext.xml:197 Itext.xml:1125 +#, no-c-format +msgid "leading" +msgstr "" + +#. Tag: literal +#: Itext.xml:202 Itext.xml:1133 +#, no-c-format +msgid "multipliedLeading" +msgstr "" + +#. Tag: para +#: Itext.xml:206 Itext.xml:453 Itext.xml:1018 +#, no-c-format +msgid "" +"spacingBefore — The blank space to be inserted " +"before the element." +msgstr "" + +#. Tag: para +#: Itext.xml:211 Itext.xml:458 Itext.xml:1024 +#, no-c-format +msgid "" +"spacingAfter — The blank space to be inserted af= ter " +"the element." +msgstr "" + +#. Tag: literal +#: Itext.xml:217 Itext.xml:444 +#, no-c-format +msgid "indentationLeft" +msgstr "" + +#. Tag: literal +#: Itext.xml:222 Itext.xml:449 +#, no-c-format +msgid "indentationRight" +msgstr "" + +#. Tag: literal +#: Itext.xml:227 Itext.xml:1052 +#, no-c-format +msgid "keepTogether" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:235 +#, no-c-format +msgid "" +"\n" +" This is a simple document. It isn't very fancy.\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:242 +#, no-c-format +msgid "<p:text>" +msgstr "" + +#. Tag: para +#: Itext.xml:250 +#, no-c-format +msgid "" +"The text tag allows text fragments to be produced from= " +"application data using normal JSF converter mechanisms. It is very simila= r " +"to the outputText tag used when rendering HTML documen= ts." +msgstr "" + +#. Tag: para +#: Itext.xml:261 +#, no-c-format +msgid "" +"value — The value to be displayed. This will " +"typically be a value binding expression." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:270 +#, no-c-format +msgid "" +"\n" +" The item costs \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:277 +#, no-c-format +msgid "<p:html>" +msgstr "" + +#. Tag: para +#: Itext.xml:285 +#, no-c-format +msgid "The html tag renders HTML content into the PDF." +msgstr "" + +#. Tag: para +#: Itext.xml:295 +#, no-c-format +msgid "value — The text to be displayed." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:303 +#, no-c-format +msgid "" +"some markup.\" />\n" +"\n" +"

    This is more complex HTML

    \n" +"
      \n" +"
    • one
    • \n" +"
    • two
    • \n" +"
    • three
    • \n" +"
    \n" +"
    \n" +"\n" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:310 +#, no-c-format +msgid "<p:font>" +msgstr "" + +#. Tag: para +#: Itext.xml:318 +#, no-c-format +msgid "" +"The font tag defines the default font to be used for all text inside of i= t." +msgstr "" + +#. Tag: para +#: Itext.xml:327 +#, no-c-format +msgid "" +"name — The font name, for example: " +"COURIER, HELVETICA, TIMES-" +"ROMAN, SYMBOL or ZAPFDINGBATS." +msgstr "" + +#. Tag: para +#: Itext.xml:334 +#, no-c-format +msgid "size — The point size of the font." +msgstr "" + +#. Tag: para +#: Itext.xml:338 +#, no-c-format +msgid "" +"style — The font styles. Any combination of : " +"NORMAL, BOLD, ITALIC, OBLIQUE, UNDERLINE, " +"LINE-THROUGH" +msgstr "" + +#. Tag: para +#: Itext.xml:346 +#, no-c-format +msgid "encoding — The character set encoding." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:353 +#, no-c-format +msgid "" +"\n" +" My Title\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:360 +#, no-c-format +msgid "<p:newPage>" +msgstr "" + +#. Tag: para +#: Itext.xml:369 +#, no-c-format +msgid "p:newPage inserts a page break." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:376 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:383 +#, no-c-format +msgid "<p:image>" +msgstr "" + +#. Tag: para +#: Itext.xml:392 +#, no-c-format +msgid "" +"p:image inserts an image into the document. Images can= be " +"be loaded from the classpath or from the web application context using th= e " +"value attribute." +msgstr "" + +#. Tag: para +#: Itext.xml:398 +#, no-c-format +msgid "" +"Resources can also be dynamically generated by application code. The " +"imageData attribute can specify a value binding " +"expression whose value is a java.awt.Image object." +msgstr "" + +#. Tag: para +#: Itext.xml:411 +#, no-c-format +msgid "" +"value — A resource name or a method expression " +"binding to an application-generated image." +msgstr "" + +#. Tag: para +#: Itext.xml:417 +#, no-c-format +msgid "" +"rotation — The rotation of the image in degrees." +msgstr "" + +#. Tag: para +#: Itext.xml:423 +#, no-c-format +msgid "height — The height of the image." +msgstr "" + +#. Tag: para +#: Itext.xml:427 +#, no-c-format +msgid "width — The width of the image." +msgstr "" + +#. Tag: para +#: Itext.xml:431 +#, no-c-format +msgid "" +"alignment— The alignment of the image. (see for possible values)" +msgstr "" + +#. Tag: para +#: Itext.xml:438 +#, no-c-format +msgid "" +"alt — Alternative text representation for the im= age." +msgstr "" + +#. Tag: literal +#: Itext.xml:466 +#, no-c-format +msgid "widthPercentage" +msgstr "" + +#. Tag: literal +#: Itext.xml:472 +#, no-c-format +msgid "initialRotation" +msgstr "" + +#. Tag: literal +#: Itext.xml:478 +#, no-c-format +msgid "dpi" +msgstr "" + +#. Tag: para +#: Itext.xml:482 +#, no-c-format +msgid "" +"scalePercent — The scaling factor (as a percenta= ge) " +"to use for the image. This can be expressed as a single percentage value = or " +"as two percentage values representing separate x and y scaling percentage= s." +msgstr "" + +#. Tag: literal +#: Itext.xml:490 +#, no-c-format +msgid "wrap" +msgstr "" + +#. Tag: literal +#: Itext.xml:495 +#, no-c-format +msgid "underlying" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:505 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:506 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:514 +#, no-c-format +msgid "<p:anchor>" +msgstr "" + +#. Tag: para +#: Itext.xml:521 +#, no-c-format +msgid "" +"p:anchor defines clickable links from a document. It " +"supports the following attributes:" +msgstr "" + +#. Tag: para +#: Itext.xml:532 +#, no-c-format +msgid "" +"name — The name of an in-document anchor " +"destination." +msgstr "" + +#. Tag: para +#: Itext.xml:539 +#, no-c-format +msgid "" +"reference — The destination the link refers to. " +"Links to other points in the document should begin with a \"#\". For " +"example, \"#link1\" to refer to an anchor postion with a name of link1. Links may also be a full URL to poi= nt " +"to a resource outside of the document." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:551 +#, no-c-format +msgid "" +"Reason 1 \n" +"...\n" +"\n" +" It's the quickest way to get \"rich\" \n" +" ... \n" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:562 +#, no-c-format +msgid "Headers and Footers" +msgstr "" + +#. Tag: literal +#: Itext.xml:575 Itext.xml:737 +#, no-c-format +msgid "<p:header>" +msgstr "" + +#. Tag: literal +#: Itext.xml:578 +#, no-c-format +msgid "<p:footer>" +msgstr "" + +#. Tag: para +#: Itext.xml:585 +#, no-c-format +msgid "" +"The p:header and p:footer component= s " +"provide the ability to place header and footer text on each page of a " +"generated document, with the exception of the first page. Header and foot= er " +"declarations should appear near the top of a document." +msgstr "" + +#. Tag: para +#: Itext.xml:600 Itext.xml:705 Itext.xml:858 +#, no-c-format +msgid "" +"alignment — The alignment of the header/footer b= ox " +"section. (see for alignment values)" +msgstr "" + +#. Tag: para +#: Itext.xml:607 +#, no-c-format +msgid "" +"backgroundColor — The background color of the " +"header/footer box. (see for color valu= es)" +msgstr "" + +#. Tag: para +#: Itext.xml:616 +#, no-c-format +msgid "" +"borderColor — The border color of the header/foo= ter " +"box. Individual border sides can be set using borderColorLeft, borderColorRight, borderColorTop and borderColorBottom.(see for color values)" +msgstr "" + +#. Tag: para +#: Itext.xml:624 +#, no-c-format +msgid "" +"borderWidth — The width of the border. Inidvidua= l " +"border sides can be specified using borderWidthLeft, " +"borderWidthRight, borderWidthTop an= d " +"borderWidthBottom." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:635 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" Why Seam? []\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:642 +#, no-c-format +msgid "<p:pageNumber>" +msgstr "" + +#. Tag: para +#: Itext.xml:649 +#, no-c-format +msgid "" +"The current page number can be placed inside of a header or footer using = the " +"p:pageNumber tag. The page number tag can only be used= in " +"the context of a header or footer and can only be used once." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:655 +#, no-c-format +msgid "" +"<p:footer borderWidthTop=3D"1" borderColorTop=3D"blue&q= uot; \n" +" borderWidthBottom=3D"0" alignment=3D"center"= ;>\n" +" Why Seam? [<p:pageNumber />]\n" +"</p:footer>" +msgstr "" + +#. Tag: title +#: Itext.xml:668 +#, no-c-format +msgid "Chapters and Sections" +msgstr "" + +#. Tag: literal +#: Itext.xml:679 +#, no-c-format +msgid "<p:chapter>" +msgstr "" + +#. Tag: literal +#: Itext.xml:682 +#, no-c-format +msgid "<p:section>" +msgstr "" + +#. Tag: para +#: Itext.xml:690 +#, no-c-format +msgid "" +"If the generated document follows a book/article structure, the = p:" +"chapter and p:section tags can be used to " +"provide the necessary structure. Sections can only be used inside of " +"chapters, but they may be nested arbitrarily deep. Most PDF viewers provi= de " +"easy navigation between chapters and sections in a document." +msgstr "" + +#. Tag: para +#: Itext.xml:712 +#, no-c-format +msgid "" +"number — The chapter number. Every chapter shoul= d " +"be assigned a chapter number." +msgstr "" + +#. Tag: para +#: Itext.xml:717 +#, no-c-format +msgid "" +"numberDepth — The depth of numbering for section= . " +"All sections are numbered relative to their surrounding chapter/sections.= " +"The fourth section of of the first section of chapter three would be sect= ion " +"3.1.4, if displayed at the default number depth of three. To omit the " +"chapter number, a number depth of 2 should be used. In that case, the " +"section number would be displayed as 1.4." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:729 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" Hello\n" +" Hello #{user.name}!\n" +" \n" +"\n" +" \n" +" Goodbye\n" +" Goodbye #{user.name}.\n" +" \n" +"\n" +" ]]>" +msgstr "" + +#. Tag: para +#: Itext.xml:745 +#, no-c-format +msgid "" +"Any chapter or section can contain a p:title. The titl= e " +"will be displayed next to the chapter/section number. The body of the tit= le " +"may contain raw text or may be a p:paragraph." +msgstr "" + +#. Tag: title +#: Itext.xml:758 +#, no-c-format +msgid "Lists" +msgstr "" + +#. Tag: para +#: Itext.xml:760 +#, no-c-format +msgid "" +"List structures can be displayed using the p:list and " +"p:listItem tags. Lists may contain arbitrarily-nested " +"sublists. List items may not be used outside of a list. he following " +"document uses the ui:repeat tag to to display a list o= f " +"values retrieved from a Seam component." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:765 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" #{doc.name}\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:778 +#, no-c-format +msgid "<p:list>" +msgstr "" + +#. Tag: para +#: Itext.xml:795 +#, no-c-format +msgid "" +"style — The ordering/bulleting style of list. On= e " +"of: NUMBERED, LETTERED, " +"GREEK, ROMAN, ZAPFDINGBATS= , ZAPFDINGBATS_NUMBER. If no style is given, t= he " +"list items are bulleted." +msgstr "" + +#. Tag: para +#: Itext.xml:802 +#, no-c-format +msgid "" +"listSymbol — For bulleted lists, specifies the " +"bullet symbol." +msgstr "" + +#. Tag: para +#: Itext.xml:807 +#, no-c-format +msgid "indent — The indentation level of the list= ." +msgstr "" + +#. Tag: para +#: Itext.xml:813 +#, no-c-format +msgid "" +"lowerCase — For list styles using letters, " +"indicates whether the letters should be lower case." +msgstr "" + +#. Tag: para +#: Itext.xml:819 +#, no-c-format +msgid "" +"charNumber — For ZAPFDINGBATS, indicates the " +"character code of the bullet character." +msgstr "" + +#. Tag: para +#: Itext.xml:825 +#, no-c-format +msgid "" +"numberType — For ZAPFDINGBATS_NUMBER, indicates = the " +"numbering style." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:833 +#, no-c-format +msgid "" +"\n" +" \n" +" #{doc.name}\n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:840 +#, no-c-format +msgid "<p:listItem>" +msgstr "" + +#. Tag: para +#: Itext.xml:847 +#, no-c-format +msgid "p:listItem supports the following attributes:" +msgstr "" + +#. Tag: para +#: Itext.xml:865 +#, no-c-format +msgid "" +"alignment — The alignment of the list item. (See= " +" for possible values)" +msgstr "" + +#. Tag: para +#: Itext.xml:871 +#, no-c-format +msgid "indentationLeft — The left indentation amo= unt." +msgstr "" + +#. Tag: para +#: Itext.xml:878 +#, no-c-format +msgid "" +"indentationRight — The right indentation amount." +msgstr "" + +#. Tag: para +#: Itext.xml:885 +#, no-c-format +msgid "" +"listSymbol — Overrides the default list symbol f= or " +"this list item." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:894 +#, no-c-format +msgid "..." +msgstr "" + +#. Tag: title +#: Itext.xml:908 +#, no-c-format +msgid "Tables" +msgstr "" + +#. Tag: para +#: Itext.xml:910 +#, no-c-format +msgid "" +"Table structures can be created using the p:table and " +"p:cell tags. Unlike many table structures, there is no= " +"explicit row declaration. If a table has 3 columns, then every 3 cells wi= ll " +"automatically form a row. Header and footer rows can be declared, and the= " +"headers and footers will be repeated in the event a table structure spans= " +"multiple pages." +msgstr "" + +#. Tag: literal +#: Itext.xml:927 +#, no-c-format +msgid "<p:table>" +msgstr "" + +#. Tag: para +#: Itext.xml:934 +#, no-c-format +msgid "p:table supports the following attributes." +msgstr "" + +#. Tag: para +#: Itext.xml:944 +#, no-c-format +msgid "" +"columns — The number of columns (cells) that mak= e " +"up a table row." +msgstr "" + +#. Tag: para +#: Itext.xml:951 +#, no-c-format +msgid "" +"widths — The relative widths of each column. The= re " +"should be one value for each column. For example: widths=3D\"2 1 1\" woul= d " +"indicate that there are 3 columns and the first column should be twice th= e " +"size of the second and third column." +msgstr "" + +#. Tag: para +#: Itext.xml:960 +#, no-c-format +msgid "" +"headerRows — The initial number of rows which ar= e " +"considered to be headers or footer rows and should be repeated if the tab= le " +"spans multiple pages." +msgstr "" + +#. Tag: para +#: Itext.xml:968 +#, no-c-format +msgid "" +"footerRows — The number of rows that are conside= red " +"to be footer rows. This value is subtracted from the headerRows<= /" +"literal> value. If document has 2 rows which make up the header and one r= ow " +"that makes up the footer, headerRows should be set to = 3 " +"and footerRows should be set to 1" +msgstr "" + +#. Tag: para +#: Itext.xml:979 +#, no-c-format +msgid "" +"widthPercentage — The percentage of the page wid= th " +"that the table spans." +msgstr "" + +#. Tag: para +#: Itext.xml:984 +#, no-c-format +msgid "" +"horizontalAlignment — The horizontal alignment o= f " +"the table. (See for possible values= )" +msgstr "" + +#. Tag: literal +#: Itext.xml:991 +#, no-c-format +msgid "skipFirstHeader" +msgstr "" + +#. Tag: literal +#: Itext.xml:997 Itext.xml:1201 +#, no-c-format +msgid "runDirection" +msgstr "" + +#. Tag: literal +#: Itext.xml:1003 +#, no-c-format +msgid "lockedWidth" +msgstr "" + +#. Tag: literal +#: Itext.xml:1011 +#, no-c-format +msgid "splitRows" +msgstr "" + +#. Tag: literal +#: Itext.xml:1029 +#, no-c-format +msgid "extendLastRow" +msgstr "" + +#. Tag: literal +#: Itext.xml:1037 +#, no-c-format +msgid "headersInEvent" +msgstr "" + +#. Tag: literal +#: Itext.xml:1044 +#, no-c-format +msgid "splitLate" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1060 +#, no-c-format +msgid "" +"\n" +" name\n" +" owner\n" +" size\n" +" \n" +" #{doc.name}\n" +" #{doc.user.name}\n" +" #{doc.size}\n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1068 +#, no-c-format +msgid "<p:cell>" +msgstr "" + +#. Tag: para +#: Itext.xml:1075 +#, no-c-format +msgid "p:cell supports the following attributes." +msgstr "" + +#. Tag: para +#: Itext.xml:1085 +#, no-c-format +msgid "" +"colspan — Cells can span more than one column by= " +"declaring a colspan greater than 1. Tables do not have= " +"the ability to span across multiple rows." +msgstr "" + +#. Tag: para +#: Itext.xml:1094 +#, no-c-format +msgid "" +"horizontalAlignment — The horizontal alignment o= f " +"the cell. (see for possible values)" +msgstr "" + +#. Tag: para +#: Itext.xml:1102 +#, no-c-format +msgid "" +"verticalAlignment — The vertical alignment of th= e " +"cell. (see for possible values)" +msgstr "" + +#. Tag: para +#: Itext.xml:1109 +#, no-c-format +msgid "" +"padding — Padding on a given side can also be " +"specified using paddingLeft, paddingRight, paddingTop and paddingBottom." +msgstr "" + +#. Tag: literal +#: Itext.xml:1119 +#, no-c-format +msgid "useBorderPadding" +msgstr "" + +#. Tag: literal +#: Itext.xml:1141 +#, no-c-format +msgid "indent" +msgstr "" + +#. Tag: literal +#: Itext.xml:1147 +#, no-c-format +msgid "verticalAlignment" +msgstr "" + +#. Tag: literal +#: Itext.xml:1161 +#, no-c-format +msgid "fixedHeight" +msgstr "" + +#. Tag: literal +#: Itext.xml:1168 +#, no-c-format +msgid "noWrap" +msgstr "" + +#. Tag: literal +#: Itext.xml:1174 +#, no-c-format +msgid "minimumHeight" +msgstr "" + +#. Tag: literal +#: Itext.xml:1181 +#, no-c-format +msgid "followingIndent" +msgstr "" + +#. Tag: literal +#: Itext.xml:1189 +#, no-c-format +msgid "rightIndent" +msgstr "" + +#. Tag: literal +#: Itext.xml:1195 +#, no-c-format +msgid "spaceCharRatio" +msgstr "" + +#. Tag: literal +#: Itext.xml:1207 +#, no-c-format +msgid "arabicOptions" +msgstr "" + +#. Tag: literal +#: Itext.xml:1214 +#, no-c-format +msgid "useAscender" +msgstr "" + +#. Tag: literal +#: Itext.xml:1222 +#, no-c-format +msgid "grayFill" +msgstr "" + +#. Tag: literal +#: Itext.xml:1228 +#, no-c-format +msgid "rotation" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1236 +#, no-c-format +msgid "...]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:1248 +#, no-c-format +msgid "Document Constants" +msgstr "" + +#. Tag: para +#: Itext.xml:1250 +#, no-c-format +msgid "" +"This section documents some of the constants shared by attributes on " +"multiple tags." +msgstr "" + +#. Tag: title +#: Itext.xml:1253 +#, no-c-format +msgid "Color Values" +msgstr "" + +#. Tag: para +#: Itext.xml:1254 +#, no-c-format +msgid "" +"Seam documents do not yet support a full color specification. Currently, " +"only named colors are supported. They are: white, " +"gray, lightgray, darkgray<= /" +"literal>, black, red, pink= , yellow, green, " +"magenta, cyan and blue." +msgstr "" + +#. Tag: title +#: Itext.xml:1264 +#, no-c-format +msgid "Alignment Values" +msgstr "" + +#. Tag: para +#: Itext.xml:1265 +#, no-c-format +msgid "" +"Where alignment values are used, the Seam PDF supports the following " +"horizontal alignment values: left, right, center, justify and " +"justifyall. The vertical alignment values are " +"top, middle, bottom, and baseline." +msgstr "" + +#. Tag: title +#: Itext.xml:1275 +#, no-c-format +msgid "Configuring iText" +msgstr "" + +#. Tag: para +#: Itext.xml:1277 +#, no-c-format +msgid "" +"Document generation works out of the box with no additional configuration= " +"needed. However, there are a few points of configuration that are needed = for " +"more serious applications." +msgstr "" + +#. Tag: para +#: Itext.xml:1280 +#, no-c-format +msgid "" +"The default implementation serves PDF documents from a generic URL, " +"/seam-doc.seam. Many browsers (and users) would prefer= to " +"see URLs that contain the actual PDF name like /myDocument.pdf. This capability requires some configuration. To serve PDF files= , " +"all *.pdf resources should be mapped to the DocumentStoreServlet:" +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1285 +#, no-c-format +msgid "" +"\n" +" Document Store Servlet\n" +" org.jboss.seam.pdf.DocumentStoreServlet\n" +"\n" +"\n" +"\n" +" Document Store Servlet\n" +" *.pdf\n" +"]]>" +msgstr "" + +#. Tag: para +#: Itext.xml:1287 +#, no-c-format +msgid "" +"The use-extensions option on the document store compon= ent " +"completes the functionality by instructing the document store to generate= " +"URLs with the correct filename extension for the document type being " +"generated." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1291 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Itext.xml:1293 +#, no-c-format +msgid "" +"Generated documents are stored in conversation scope and will expire when= " +"the conversation ends. At that point, references to the document will be " +"invalid. To You can specify a default view to be shown when a document do= es " +"not exist using the error-page property of the " +"documentStore." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1296 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:1302 +#, no-c-format +msgid "Charting" +msgstr "" + +#. Tag: para +#: Itext.xml:1304 +#, no-c-format +msgid "" +"Charting support is also provided with jboss-seam-pdf.jar. Charts can be used in PDF documents or can be used as images in= an " +"HTML page. Charting requires the JFreeChart library (jfreechart." +"jar and jcommon.jar) to be added to the " +"WEB-INF/lib directory. Three types of charts are " +"currently supported: pie charts, bar charts and line charts." +msgstr "" + +#. Tag: literal +#: Itext.xml:1319 +#, no-c-format +msgid "<p:barchart>" +msgstr "" + +#. Tag: para +#: Itext.xml:1326 +#, no-c-format +msgid "Displays a bar chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1333 Itext.xml:1523 +#, no-c-format +msgid "" +"borderVisible — Controls whether or not a border= is " +"displayed around the entire chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1339 Itext.xml:1529 +#, no-c-format +msgid "" +"borderPaint — The color of the border, if visibl= e;" +msgstr "" + +#. Tag: para +#: Itext.xml:1344 Itext.xml:1534 +#, no-c-format +msgid "" +"borderBackgroundPaint — The default background " +"color of the chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1349 Itext.xml:1539 +#, no-c-format +msgid "borderStroke —" +msgstr "" + +#. Tag: para +#: Itext.xml:1355 Itext.xml:1545 +#, no-c-format +msgid "" +"domainAxisLabel — The text label for the domain " +"axis." +msgstr "" + +#. Tag: para +#: Itext.xml:1360 Itext.xml:1550 +#, no-c-format +msgid "" +"domainAxisPaint — The color of the domain axis " +"label." +msgstr "" + +#. Tag: para +#: Itext.xml:1366 Itext.xml:1556 +#, no-c-format +msgid "" +"domainGridlinesVisible— Controls whether or not " +"gridlines for the domain axis are shown on the chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1371 Itext.xml:1561 +#, no-c-format +msgid "" +"domainGridlinePaint— The color of the domain " +"gridlines, if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1376 Itext.xml:1566 +#, no-c-format +msgid "" +"domainGridlineStroke — The stroke style of the " +"domain gridleines, if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1382 Itext.xml:1572 +#, no-c-format +msgid "height — The height of the chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1387 Itext.xml:1494 Itext.xml:1577 Itext.xml:1684 +#, no-c-format +msgid "width — The width of the chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1392 Itext.xml:1582 +#, no-c-format +msgid "" +"is3D — A boolean value indicating that the chart= " +"should be rendered in 3D instead of 2D." +msgstr "" + +#. Tag: para +#: Itext.xml:1398 Itext.xml:1588 +#, no-c-format +msgid "" +"legend — A boolean value indicating whether or n= ot " +"the chart should include a legend." +msgstr "" + +#. Tag: para +#: Itext.xml:1404 Itext.xml:1594 +#, no-c-format +msgid "" +"legendItemPaint— The default color of the text " +"labels in the legend." +msgstr "" + +#. Tag: para +#: Itext.xml:1410 Itext.xml:1600 +#, no-c-format +msgid "" +"legendItemBackgoundPaint— The background color f= or " +"the legend, if different from the chart background color." +msgstr "" + +#. Tag: para +#: Itext.xml:1416 Itext.xml:1606 +#, no-c-format +msgid "" +"orientation — The orientation of the plot, eithe= r " +"vertical (the default) or horizontal." +msgstr "" + +#. Tag: para +#: Itext.xml:1422 Itext.xml:1612 +#, no-c-format +msgid "" +"plotBackgroundPaint— The color of the plot " +"background." +msgstr "" + +#. Tag: para +#: Itext.xml:1428 Itext.xml:1618 +#, no-c-format +msgid "" +"plotBackgroundAlpha— The alpha (transparency) le= vel " +"of the plot background. It should be a number between 0 (completely " +"transparent) and 1 (completely opaque)." +msgstr "" + +#. Tag: para +#: Itext.xml:1435 Itext.xml:1625 +#, no-c-format +msgid "" +"plotForegroundAlpha— The alpha (transparency) le= vel " +"of the plot. It should be a number between 0 (completely transparent) and= 1 " +"(completely opaque)." +msgstr "" + +#. Tag: para +#: Itext.xml:1442 Itext.xml:1632 +#, no-c-format +msgid "" +"plotOutlinePaint— The color of the range gridlin= es, " +"if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1447 Itext.xml:1637 +#, no-c-format +msgid "" +"plotOutlineStroke — The stroke style of the rang= e " +"gridleines, if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1453 Itext.xml:1643 +#, no-c-format +msgid "" +"rangeAxisLabel — The text label for the range ax= is." +msgstr "" + +#. Tag: para +#: Itext.xml:1458 Itext.xml:1648 +#, no-c-format +msgid "" +"rangeAxisPaint — The color of the range axis lab= el." +msgstr "" + +#. Tag: para +#: Itext.xml:1464 Itext.xml:1654 +#, no-c-format +msgid "" +"rangeGridlinesVisible— Controls whether or not " +"gridlines for the range axis are shown on the chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1469 Itext.xml:1659 +#, no-c-format +msgid "" +"rangeGridlinePaint— The color of the range " +"gridlines, if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1474 Itext.xml:1664 +#, no-c-format +msgid "" +"rangeGridlineStroke — The stroke style of the ra= nge " +"gridleines, if visible." +msgstr "" + +#. Tag: para +#: Itext.xml:1480 Itext.xml:1670 +#, no-c-format +msgid "title — The chart title text." +msgstr "" + +#. Tag: para +#: Itext.xml:1484 Itext.xml:1674 +#, no-c-format +msgid "titlePaint— The color of the chart title t= ext." +msgstr "" + +#. Tag: para +#: Itext.xml:1489 Itext.xml:1679 +#, no-c-format +msgid "" +"titleBackgroundPaint— The background color aroun= d " +"the chart title." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1502 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1509 +#, no-c-format +msgid "<p:linechart>" +msgstr "" + +#. Tag: para +#: Itext.xml:1516 +#, no-c-format +msgid "Displays a line chart." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1692 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1699 +#, no-c-format +msgid "<p:piechart>" +msgstr "" + +#. Tag: para +#: Itext.xml:1706 +#, no-c-format +msgid "Displays a pie chart." +msgstr "" + +#. Tag: para +#: Itext.xml:1714 +#, no-c-format +msgid "title— The chart title text." +msgstr "" + +#. Tag: para +#: Itext.xml:1718 +#, no-c-format +msgid "" +"label— The default label text for pie sections." +msgstr "" + +#. Tag: para +#: Itext.xml:1723 +#, no-c-format +msgid "" +"legend— A boolean value indicating whether or no= t " +"the chart should include a legend. Default value is true" +msgstr "" + +#. Tag: para +#: Itext.xml:1728 +#, no-c-format +msgid "" +"is3D—A boolean value indicating that the chart " +"should be rendered in 3D instead of 2D." +msgstr "" + +#. Tag: para +#: Itext.xml:1733 +#, no-c-format +msgid "labelLinkMargin— The link margin for label= s." +msgstr "" + +#. Tag: para +#: Itext.xml:1738 +#, no-c-format +msgid "" +"labelLinkPaint— The paint used for the label " +"linking lines." +msgstr "" + +#. Tag: para +#: Itext.xml:1743 +#, no-c-format +msgid "" +"labelLinkStroke— he stroke used for the label " +"linking lines." +msgstr "" + +#. Tag: para +#: Itext.xml:1749 +#, no-c-format +msgid "" +"labelLinksVisible— A flag that controls whether = or " +"not the label links are drawn." +msgstr "" + +#. Tag: para +#: Itext.xml:1754 +#, no-c-format +msgid "" +"labelOutlinePaint— The paint used to draw the " +"outline of the section labels." +msgstr "" + +#. Tag: para +#: Itext.xml:1759 +#, no-c-format +msgid "" +"labelOutlineStroke— The stroke used to draw the " +"outline of the section labels." +msgstr "" + +#. Tag: para +#: Itext.xml:1764 +#, no-c-format +msgid "" +"labelShadowPaint— The paint used to draw the sha= dow " +"for the section labels." +msgstr "" + +#. Tag: para +#: Itext.xml:1769 +#, no-c-format +msgid "" +"labelPaint— The color used to draw the section " +"labels" +msgstr "" + +#. Tag: para +#: Itext.xml:1774 +#, no-c-format +msgid "" +"labelGap— The gap between the labels and the plo= t " +"as a percentage of the plot width." +msgstr "" + +#. Tag: para +#: Itext.xml:1779 +#, no-c-format +msgid "" +"labelBackgroundPaint— The color used to draw the= " +"background of the section labels. If this is null, the background is not " +"filled." +msgstr "" + +#. Tag: para +#: Itext.xml:1786 +#, no-c-format +msgid "" +"startAngle— The starting angle of the first sect= ion." +msgstr "" + +#. Tag: para +#: Itext.xml:1791 +#, no-c-format +msgid "" +"circular— A boolean value indicating that the ch= art " +"should be drawn as a circle. If false, the chart is drawn as an ellipse. = The " +"default is true." +msgstr "" + +#. Tag: para +#: Itext.xml:1797 +#, no-c-format +msgid "" +"direction— The direction the pie section are dra= wn. " +"One of: clockwise or anticlockwise.= " +"The default is clockwise." +msgstr "" + +#. Tag: para +#: Itext.xml:1803 +#, no-c-format +msgid "" +"sectionOutlinePaint— The outline paint for all " +"sections." +msgstr "" + +#. Tag: para +#: Itext.xml:1808 +#, no-c-format +msgid "" +"sectionOutlineStroke— The outline stroke for all= " +"sections" +msgstr "" + +#. Tag: para +#: Itext.xml:1813 +#, no-c-format +msgid "" +"sectionOutlinesVisible— Indicates whether an " +"outline is drawn for each section in the plot." +msgstr "" + +#. Tag: para +#: Itext.xml:1818 +#, no-c-format +msgid "" +"baseSectionOutlinePaint— The base section outlin= e " +"paint." +msgstr "" + +#. Tag: para +#: Itext.xml:1823 +#, no-c-format +msgid "baseSectionPaint— The base section paint." +msgstr "" + +#. Tag: para +#: Itext.xml:1827 +#, no-c-format +msgid "" +"baseSectionOutlineStroke— The base section outli= ne " +"stroke." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1835 +#, no-c-format +msgid "" +" = \n" +" \n" +" \= n" +" = \n" +" = \n" +" = \n" +" = \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1842 +#, no-c-format +msgid "<p:series>" +msgstr "" + +#. Tag: para +#: Itext.xml:1849 +#, no-c-format +msgid "" +"Category data can be broken down into series. The series tag is used to " +"categorize a set of data with a series and apply styling to the entire " +"series." +msgstr "" + +#. Tag: para +#: Itext.xml:1858 +#, no-c-format +msgid "key — The series name." +msgstr "" + +#. Tag: para +#: Itext.xml:1869 +#, no-c-format +msgid "" +"seriesPaint — The color of each item in the seri= es" +msgstr "" + +#. Tag: para +#: Itext.xml:1875 +#, no-c-format +msgid "" +"seriesOutlinePaint — The outline color for each " +"item in the series." +msgstr "" + +#. Tag: para +#: Itext.xml:1880 +#, no-c-format +msgid "" +"seriesOutlineStroke — The stroke used to draw ea= ch " +"item in the series." +msgstr "" + +#. Tag: para +#: Itext.xml:1892 +#, no-c-format +msgid "" +"seriesVisible — A boolean indicating if the seri= es " +"should be displayed." +msgstr "" + +#. Tag: para +#: Itext.xml:1897 +#, no-c-format +msgid "" +"seriesVisibleInLegend — A boolean indiciating if= " +"the series should be listed in the legend." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1906 +#, no-c-format +msgid "" +"\n" +" \n" +" = \n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1913 +#, no-c-format +msgid "<p:data>" +msgstr "" + +#. Tag: para +#: Itext.xml:1920 +#, no-c-format +msgid "The data tag describes each data point to be displayed in the graph= ." +msgstr "" + +#. Tag: para +#: Itext.xml:1927 +#, no-c-format +msgid "key — The name of the data item." +msgstr "" + +#. Tag: para +#: Itext.xml:1931 +#, no-c-format +msgid "" +"series — The series name, when not embedded insi= de " +"a <p:series>." +msgstr "" + +#. Tag: para +#: Itext.xml:1936 +#, no-c-format +msgid "value — The numeric data value." +msgstr "" + +#. Tag: para +#: Itext.xml:1940 +#, no-c-format +msgid "" +"explodedPercent — For pie charts, indicates how " +"exploded a from the pie a piece is." +msgstr "" + +#. Tag: para +#: Itext.xml:1946 +#, no-c-format +msgid "" +"sectionOutlinePaint — For bar charts, the color = of " +"the section outline." +msgstr "" + +#. Tag: para +#: Itext.xml:1951 +#, no-c-format +msgid "" +"sectionOutlineStroke — For bar charts, the strok= e " +"type for the section outline." +msgstr "" + +#. Tag: para +#: Itext.xml:1956 +#, no-c-format +msgid "" +"sectionPaint — For bar charts, the color of the " +"section." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:1967 +#, no-c-format +msgid "" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:1974 +#, no-c-format +msgid "<p:color>" +msgstr "" + +#. Tag: para +#: Itext.xml:1981 +#, no-c-format +msgid "" +"The color component declares a color or gradient than can be referenced w= hen " +"drawing filled shapes." +msgstr "" + +#. Tag: para +#: Itext.xml:1990 +#, no-c-format +msgid "" +"color — The color value. For gradient colors, th= is " +"the starting color." +msgstr "" + +#. Tag: para +#: Itext.xml:1996 +#, no-c-format +msgid "" +"color2 — For gradient colors, this is the color " +"that ends the gradient." +msgstr "" + +#. Tag: para +#: Itext.xml:2001 +#, no-c-format +msgid "" +"point — The co-ordinates where the gradient colo= r " +"begins." +msgstr "" + +#. Tag: para +#: Itext.xml:2006 +#, no-c-format +msgid "" +"point2 — The co-ordinates where the gradient col= or " +"ends." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:2014 +#, no-c-format +msgid "" +"\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Itext.xml:2021 +#, no-c-format +msgid "<p:stroke>" +msgstr "" + +#. Tag: para +#: Itext.xml:2028 +#, no-c-format +msgid "Describes a stroke used to draw lines in a chart." +msgstr "" + +#. Tag: para +#: Itext.xml:2036 +#, no-c-format +msgid "width — The width of the stroke." +msgstr "" + +#. Tag: para +#: Itext.xml:2041 +#, no-c-format +msgid "" +"cap — The line cap type. Valid values are " +"butt, round and square" +msgstr "" + +#. Tag: para +#: Itext.xml:2047 +#, no-c-format +msgid "" +"join — The line join type. Valid values are " +"miter, round and bevel" +msgstr "" + +#. Tag: para +#: Itext.xml:2053 +#, no-c-format +msgid "" +"miterLimit — For miter joins, this value is the " +"limit of the size of the join." +msgstr "" + +#. Tag: para +#: Itext.xml:2059 +#, no-c-format +msgid "" +"dash — The dash value sets the dash pattern to b= e " +"used to draw the line. The space separated integers indicate the length o= f " +"each alternating drawn and undrawn segments." +msgstr "" + +#. Tag: para +#: Itext.xml:2066 +#, no-c-format +msgid "" +"dashPhase — The dash phase indicates the offset " +"into the dash pattern that the the line should be drawn with." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:2074 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:2086 +#, no-c-format +msgid "Bar codes" +msgstr "" + +#. Tag: para +#: Itext.xml:2087 +#, no-c-format +msgid "" +"Seam can use iText to generate barcodes in a wide variety of formats. The= se " +"barcodes can be embedded in a PDF document or displayed as an image on a = web " +"page. Note that when used with HTML images, barcodes can not currently " +"display barcode text in the barcode." +msgstr "" + +#. Tag: literal +#: Itext.xml:2101 +#, no-c-format +msgid "<p:barCode>" +msgstr "" + +#. Tag: para +#: Itext.xml:2108 +#, no-c-format +msgid "Displays a barcode image." +msgstr "" + +#. Tag: para +#: Itext.xml:2117 +#, no-c-format +msgid "" +"type — A barcode type supported by iText. Valid " +"values include: EAN13, EAN8, " +"UPCA, UPCE, SUPP2, " +"SUPP5, POSTNET, PLANET, CODE128, CODE128_UCC, " +"CODE128_RAW and CODABAR." +msgstr "" + +#. Tag: para +#: Itext.xml:2127 +#, no-c-format +msgid "code— The value to be encoded by the barco= de." +msgstr "" + +#. Tag: para +#: Itext.xml:2132 +#, no-c-format +msgid "" +"xpos— For PDFs, the absolute y position of the " +"barcode on the page." +msgstr "" + +#. Tag: para +#: Itext.xml:2137 +#, no-c-format +msgid "" +"ypos— For PDFs, the absolute y position of the " +"barcode on the page." +msgstr "" + +#. Tag: para +#: Itext.xml:2142 +#, no-c-format +msgid "" +"rotDegrees — For PDFs, the rotation factor of th= e " +"barcode in degrees." +msgstr "" + +#. Tag: para +#: Itext.xml:2147 +#, no-c-format +msgid "" +"barHeight — The height of the bars in the barCod= e" +msgstr "" + +#. Tag: para +#: Itext.xml:2153 +#, no-c-format +msgid "minBarWidth — The minimum bar width." +msgstr "" + +#. Tag: para +#: Itext.xml:2157 +#, no-c-format +msgid "" +"barMultiplier — The bar multiplier for wide bars= or " +"the distance between bars for POSTNET and " +"PLANET code." +msgstr "" + +#. Tag: para +#: Itext.xml:2163 +#, no-c-format +msgid "barColor — The color to draw the bars." +msgstr "" + +#. Tag: para +#: Itext.xml:2168 +#, no-c-format +msgid "" +"textColor — The color of any text on the barcode= ." +msgstr "" + +#. Tag: para +#: Itext.xml:2173 +#, no-c-format +msgid "" +"textSize — The size of the barcode text, if any." +msgstr "" + +#. Tag: para +#: Itext.xml:2178 +#, no-c-format +msgid "" +"altText — The alt text for HT= ML " +"image links." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:2188 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:2199 +#, no-c-format +msgid "Rendering Swing/AWT components" +msgstr "" + +#. Tag: para +#: Itext.xml:2200 +#, no-c-format +msgid "" +"Seam now provides experimental support for rendering Swing components to " +"into a PDF image. Some Swing look and feels supports, notably ones that u= se " +"native widgets, will not render correctly." +msgstr "" + +#. Tag: literal +#: Itext.xml:2214 +#, no-c-format +msgid "<p:swing>" +msgstr "" + +#. Tag: para +#: Itext.xml:2222 +#, no-c-format +msgid "Renders a Swing component into a PDF document." +msgstr "" + +#. Tag: para +#: Itext.xml:2230 +#, no-c-format +msgid "" +"width — The width of the component to be rendere= d." +msgstr "" + +#. Tag: para +#: Itext.xml:2234 +#, no-c-format +msgid "" +"height — ..The height of the component to be " +"rendered." +msgstr "" + +#. Tag: para +#: Itext.xml:2238 +#, no-c-format +msgid "" +"component — An expression whose value is a Swing= or " +"AWT component." +msgstr "" + +#. Tag: programlisting +#: Itext.xml:2246 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: title +#: Itext.xml:2257 +#, no-c-format +msgid "Further documentation" +msgstr "" + +#. Tag: para +#: Itext.xml:2259 +#, no-c-format +msgid "For further information on iText, see:" +msgstr "" + +#. Tag: ulink +#: Itext.xml:2264 +#, no-c-format +msgid "iText Home Page" +msgstr "" + +#. Tag: ulink +#: Itext.xml:2269 +#, no-c-format +msgid "iText in Action" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jbpm.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jbpm.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jbpm.po 2008-04-21 00:= 41:49 UTC (rev 7985) @@ -0,0 +1,1236 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Jbpm.xml:2 +#, no-c-format +msgid "Pageflows and business processes" +msgstr "" + +#. Tag: para +#: Jbpm.xml:4 +#, no-c-format +msgid "" +"JBoss jBPM is a business process management engine for any Java SE or EE " +"environment. jBPM lets you represent a business process or user interacti= on " +"as a graph of nodes representing wait states, decisions, tasks, web pages= , " +"etc. The graph is defined using a simple, very readable, XML dialect call= ed " +"jPDL, and may be edited and visualised graphically using an eclipse plugi= n. " +"jPDL is an extensible language, and is suitable for a range of problems, " +"from defining web application page flow, to traditional workflow manageme= nt, " +"all the way up to orchestration of services in a SOA environment." +msgstr "" + +#. Tag: para +#: Jbpm.xml:16 +#, no-c-format +msgid "Seam applications use jBPM for two different problems:" +msgstr "" + +#. Tag: para +#: Jbpm.xml:22 +#, no-c-format +msgid "" +"Defining the pageflow involved in complex user interactions. A jPDL proce= ss " +"definition defines the page flow for a single conversation. A Seam " +"conversation is considered to be a relatively short-running interaction w= ith " +"a single user." +msgstr "" + +#. Tag: para +#: Jbpm.xml:30 +#, no-c-format +msgid "" +"Defining the overarching business process. The business process may span " +"multiple conversations with multiple users. Its state is persistent in th= e " +"jBPM database, so it is considered long-running. Coordination of the " +"activities of multiple users is a much more complex problem than scriptin= g " +"an interaction with a single user, so jBPM offers sophisticated facilitie= s " +"for task management and dealing with multiple concurrent paths of executi= on." +msgstr "" + +#. Tag: para +#: Jbpm.xml:42 +#, no-c-format +msgid "" +"Don't get these two things confused ! They operate at very different leve= ls " +"or granularity. Pageflow, conversation and task all refer to a single interaction= " +"with a single user. A business process spans many tasks. Futhermore, the = two " +"applications of jBPM are totally orthogonal. You can use them together or= " +"independently or not at all." +msgstr "" + +#. Tag: para +#: Jbpm.xml:51 +#, no-c-format +msgid "" +"You don't have to know jDPL to use Seam. If you're perfectly happy defini= ng " +"pageflow using JSF or Seam navigation rules, and if your application is m= ore " +"data-driven that process-driven, you probably don't need jBPM. But we're " +"finding that thinking of user interaction in terms of a well-defined " +"graphical representation is helping us build more robust applications." +msgstr "" + +#. Tag: title +#: Jbpm.xml:60 +#, no-c-format +msgid "Pageflow in Seam" +msgstr "" + +#. Tag: para +#: Jbpm.xml:61 +#, no-c-format +msgid "There are two ways to define pageflow in Seam:" +msgstr "" + +#. Tag: para +#: Jbpm.xml:67 +#, no-c-format +msgid "" +"Using JSF or Seam navigation rules - the stateless navigation " +"model" +msgstr "" + +#. Tag: para +#: Jbpm.xml:73 +#, no-c-format +msgid "Using jPDL - the stateful navigation model" +msgstr "" + +#. Tag: para +#: Jbpm.xml:79 +#, no-c-format +msgid "" +"Very simple applications will only need the stateless navigation model. V= ery " +"complex applications will use both models in different places. Each model= " +"has its strengths and weaknesses!" +msgstr "" + +#. Tag: title +#: Jbpm.xml:86 +#, no-c-format +msgid "The two navigation models" +msgstr "" + +#. Tag: para +#: Jbpm.xml:88 +#, no-c-format +msgid "" +"The stateless model defines a mapping from a set of named, logical outcom= es " +"of an event directly to the resulting page of the view. The navigation ru= les " +"are entirely oblivious to any state held by the application other than wh= at " +"page was the source of the event. This means that your action listener " +"methods must sometimes make decisions about the page flow, since only the= y " +"have access to the current state of the application." +msgstr "" + +#. Tag: para +#: Jbpm.xml:98 +#, no-c-format +msgid "Here is an example page flow definition using JSF navigation rules:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:103 +#, no-c-format +msgid "" +"\n" +" /numberGuess.jsp\n" +" \n" +" \n" +" guess\n" +" /numberGuess.jsp\n" +" \n" +" \n" +"\n" +" \n" +" win\n" +" /win.jsp\n" +" \n" +" \n" +" \n" +" \n" +" lose\n" +" /lose.jsp\n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:105 +#, no-c-format +msgid "" +"Here is the same example page flow definition using Seam navigation rules= :" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:110 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:112 +#, no-c-format +msgid "" +"If you find navigation rules overly verbose, you can return view ids " +"directly from your action listener methods:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:117 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:119 +#, no-c-format +msgid "" +"Note that this results in a redirect. You can even specify parameters to = be " +"used in the redirect:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:124 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:126 +#, no-c-format +msgid "" +"The stateful model defines a set of transitions between a set of named, " +"logical application states. In this model, it is possible to express the " +"flow of any user interaction entirely in the jPDL pageflow definition, an= d " +"write action listener methods that are completely unaware of the flow of = the " +"interaction." +msgstr "" + +#. Tag: para +#: Jbpm.xml:134 +#, no-c-format +msgid "Here is an example page flow definition using jPDL:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:138 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:149 +#, no-c-format +msgid "There are two things we notice immediately here:" +msgstr "" + +#. Tag: para +#: Jbpm.xml:155 +#, no-c-format +msgid "" +"The JSF/Seam navigation rules are much simpler. " +"(However, this obscures the fact that the underlying Java code is more " +"complex.)" +msgstr "" + +#. Tag: para +#: Jbpm.xml:162 +#, no-c-format +msgid "" +"The jPDL makes the user interaction immediately understandable, without u= s " +"needing to even look at the JSP or Java code." +msgstr "" + +#. Tag: para +#: Jbpm.xml:169 +#, no-c-format +msgid "" +"In addition, the stateful model is more constrained.= " +"For each logical state (each step in the page flow), there are a constrai= ned " +"set of possible transitions to other states. The stateless model is an " +"ad hoc model which is suitable to relatively " +"unconstrained, freeform navigation where the user decides where he/she wa= nts " +"to go next, not the application." +msgstr "" + +#. Tag: para +#: Jbpm.xml:178 +#, no-c-format +msgid "" +"The stateful/stateless navigation distinction is quite similar to the " +"traditional view of modal/modeless interaction. Now, Seam applications ar= e " +"not usually modal in the simple sense of the word - indeed, avoiding " +"application modal behavior is one of the main reasons for having " +"conversations! However, Seam applications can be, and often are, modal at= " +"the level of a particular conversation. It is well-known that modal behav= ior " +"is something to avoid as much as possible; it is very difficult to predic= t " +"the order in which your users are going to want to do things! However, th= ere " +"is no doubt that the stateful model has its place." +msgstr "" + +#. Tag: para +#: Jbpm.xml:191 +#, no-c-format +msgid "" +"The biggest contrast between the two models is the back-button behavior." +msgstr "" + +#. Tag: title +#: Jbpm.xml:199 +#, no-c-format +msgid "Seam and the back button" +msgstr "" + +#. Tag: para +#: Jbpm.xml:201 +#, no-c-format +msgid "" +"When JSF or Seam navigation rules are used, Seam lets the user freely " +"navigate via the back, forward and refresh buttons. It is the responsibil= ity " +"of the application to ensure that conversational state remains internally= " +"consistent when this occurs. Experience with the combination of web " +"application frameworks like Struts or WebWork - that do not support a " +"conversational model - and stateless component models like EJB stateless " +"session beans or the Spring framework has taught many developers that thi= s " +"is close to impossible to do! However, our experience is that in the cont= ext " +"of Seam, where there is a well-defined conversational model, backed by " +"stateful session beans, it is actually quite straightforward. Usually it = is " +"as simple as combining the use of no-conversation-view-id " +"with null checks at the beginning of action listener methods. We consider= " +"support for freeform navigation to be almost always desirable." +msgstr "" + +#. Tag: para +#: Jbpm.xml:219 +#, no-c-format +msgid "" +"In this case, the no-conversation-view-id declaration " +"goes in pages.xml. It tells Seam to redirect to a " +"different page if a request originates from a page rendered during a " +"conversation, and that conversation no longer exists:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:227 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:229 +#, no-c-format +msgid "" +"On the other hand, in the stateful model, backbuttoning is interpreted as= an " +"undefined transition back to a previous state. Since the stateful model " +"enforces a defined set of transitions from the current state, back button= ing " +"is by default disallowed in the stateful model! Seam transparently detect= s " +"the use of the back button, and blocks any attempt to perform an action f= rom " +"a previous, \"stale\" page, and simply redirects the user to the \"curren= t\" " +"page (and displays a faces message). Whether you consider this a feature = or " +"a limitation of the stateful model depends upon your point of view: as an= " +"application developer, it is a feature; as a user, it might be frustratin= g! " +"You can enable backbutton navigation from a particular page node by setti= ng " +"back=3D\"enabled\"." +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:245 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:247 +#, no-c-format +msgid "" +"This allows backbuttoning from the checkout= state to any previous state!" +msgstr "" + +#. Tag: para +#: Jbpm.xml:253 +#, no-c-format +msgid "" +"Of course, we still need to define what happens if a request originates f= rom " +"a page rendered during a pageflow, and the conversation with the pageflow= no " +"longer exists. In this case, the no-conversation-view-id " +"declaration goes into the pageflow definition:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:261 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:264 +#, no-c-format +msgid "" +"In practice, both navigation models have their place, and you'll quickly " +"learn to recognize when to prefer one model over the other." +msgstr "" + +#. Tag: title +#: Jbpm.xml:273 +#, no-c-format +msgid "Using jPDL pageflows" +msgstr "" + +#. Tag: title +#: Jbpm.xml:276 +#, no-c-format +msgid "Installing pageflows" +msgstr "" + +#. Tag: para +#: Jbpm.xml:278 +#, no-c-format +msgid "" +"We need to install the Seam jBPM-related components, and tell them where = to " +"find our pageflow definition. We can specify this Seam configuration in " +"components.xml." +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:284 +#, no-c-format +msgid "" +"\n" +" \n" +" pageflow.jpdl.xml\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:286 +#, no-c-format +msgid "" +"The first line installs jBPM, the second points to a jPDL-based pageflow " +"definition." +msgstr "" + +#. Tag: title +#: Jbpm.xml:294 +#, no-c-format +msgid "Starting pageflows" +msgstr "" + +#. Tag: para +#: Jbpm.xml:296 +#, no-c-format +msgid "" +"We \"start\" a jPDL-based pageflow by specifying the name of the process " +"definition using a @Begin, @BeginTask " +"or @StartTask annotation:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:303 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:305 +#, no-c-format +msgid "Alternatively we can start a pageflow using pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:307 +#, no-c-format +msgid "" +"\n" +" \n" +" ]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:309 +#, no-c-format +msgid "" +"If we are beginning the pageflow during the RENDER_RESPONSE phase—during a @Factory or " +"@Create method, for example—we consider ourselve= s " +"to be already at the page being rendered, and use a <start-" +"page> node as the first node in the pageflow, as in the exam= ple " +"above." +msgstr "" + +#. Tag: para +#: Jbpm.xml:317 +#, no-c-format +msgid "" +"But if the pageflow is begun as the result of an action listener invocati= on, " +"the outcome of the action listener determines which is the first page to = be " +"rendered. In this case, we use a <start-state> a= s " +"the first node in the pageflow, and declare a transition for each possibl= e " +"outcome:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:325 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" ...\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:330 +#, no-c-format +msgid "Page nodes and transitions" +msgstr "" + +#. Tag: para +#: Jbpm.xml:332 +#, no-c-format +msgid "" +"Each <page> node represents a state where the " +"system is waiting for user input:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:337 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:339 +#, no-c-format +msgid "" +"The view-id is the JSF view id. The <redir= ect/" +"> element has the same effect as <redirect/><= /" +"literal> in a JSF navigation rule: namely, a post-then-redirect behavior,= to " +"overcome problems with the browser's refresh button. (Note that Seam " +"propagates conversation contexts over these browser redirects. So there i= s " +"no need for a Ruby on Rails style \"flash\" construct in Seam!)" +msgstr "" + +#. Tag: para +#: Jbpm.xml:348 +#, no-c-format +msgid "" +"The transition name is the name of a JSF outcome triggered by clicking a " +"command button or command link in numberGuess.jsp." +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:353 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:355 +#, no-c-format +msgid "" +"When the transition is triggered by clicking this button, jBPM will activ= ate " +"the transition action by calling the guess() method of= " +"the numberGuess component. Notice that the syntax used= " +"for specifying actions in the jPDL is just a familiar JSF EL expression, = and " +"that the transition action handler is just a method of a Seam component i= n " +"the current Seam contexts. So we have exactly the same event model for jB= PM " +"events that we already have for JSF events! (The One Kind of " +"Stuff principle.)" +msgstr "" + +#. Tag: para +#: Jbpm.xml:366 +#, no-c-format +msgid "" +"In the case of a null outcome (for example, a command button with no " +"action defined), Seam will signal the transition with = no " +"name if one exists, or else simply redisplay the page if all transitions " +"have names. So we could slightly simplify our example pageflow and this " +"button:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:373 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:375 +#, no-c-format +msgid "Would fire the following un-named transition:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:379 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:381 +#, no-c-format +msgid "" +"It is even possible to have the button call an action method, in which ca= se " +"the action outcome will determine the transition to be taken:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:386 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:388 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:390 +#, no-c-format +msgid "" +"However, this is considered an inferior style, since it moves responsibil= ity " +"for controlling the flow out of the pageflow definition and back into the= " +"other components. It is much better to centralize this concern in the " +"pageflow itself." +msgstr "" + +#. Tag: title +#: Jbpm.xml:399 +#, no-c-format +msgid "Controlling the flow" +msgstr "" + +#. Tag: para +#: Jbpm.xml:401 +#, no-c-format +msgid "" +"Usually, we don't need the more powerful features of jPDL when defining " +"pageflows. We do need the <decision> node, howev= er:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:406 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:408 +#, no-c-format +msgid "" +"A decision is made by evaluating a JSF EL expression in the Seam contexts= ." +msgstr "" + +#. Tag: title +#: Jbpm.xml:415 +#, no-c-format +msgid "Ending the flow" +msgstr "" + +#. Tag: para +#: Jbpm.xml:417 +#, no-c-format +msgid "" +"We end the conversation using <end-conversation>= or " +"@End. (In fact, for readability, use of both= is encouraged.)" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:423 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:425 +#, no-c-format +msgid "" +"Optionally, we can end a task, specify a jBPM transition " +"name. In this case, Seam will signal the end of the current task in the " +"overarching business process." +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:431 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:436 +#, no-c-format +msgid "Pageflow composition" +msgstr "" + +#. Tag: para +#: Jbpm.xml:437 +#, no-c-format +msgid "" +"It is possible to compose pageflows and have one pageflow pause pause whi= le " +"another pageflow executes. The <process-state> n= ode " +"pauses the outer pageflow, and begins execution of a named pageflow:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:444 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:446 +#, no-c-format +msgid "" +"The inner flow begins executing at a <start-state> " +"node. When it reaches an <end-state> node, " +"execution of the inner flow ends, and execution of the outer flow resumes= " +"with the transition defined by the <process-state> " +"element." +msgstr "" + +#. Tag: title +#: Jbpm.xml:459 +#, no-c-format +msgid "Business process management in Seam" +msgstr "" + +#. Tag: para +#: Jbpm.xml:460 +#, no-c-format +msgid "" +"A business process is a well-defined set of tasks that must be performed = by " +"users or software systems according to well-defined rules about " +"who can perform a task, and when " +"it should be performed. Seam's jBPM integration makes it easy to display " +"lists of tasks to users and let them manage their tasks. Seam also lets t= he " +"application store state associated with the business process in the " +"BUSINESS_PROCESS context, and have that state made " +"persistent via jBPM variables." +msgstr "" + +#. Tag: para +#: Jbpm.xml:472 +#, no-c-format +msgid "" +"A simple business process definition looks much the same as a page flow " +"definition (One Kind of Stuff), except that instead = of " +"<page> nodes, we have <task-node>= nodes. In a long-running business process, the wait states are " +"where the system is waiting for some user to log in and perform a task." +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:481 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:493 +#, no-c-format +msgid "" +"It is perfectly possible that we might have both jPDL business process " +"definitions and jPDL pageflow definitions in the same project. If so, the= " +"relationship between the two is that a single <task> in a business process corresponds to a whole pageflow &= lt;" +"pageflow-definition>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:504 +#, no-c-format +msgid "Using jPDL business process definitions" +msgstr "" + +#. Tag: title +#: Jbpm.xml:507 +#, no-c-format +msgid "Installing process definitions" +msgstr "" + +#. Tag: para +#: Jbpm.xml:509 +#, no-c-format +msgid "" +"We need to install jBPM, and tell it where to find the business process " +"definitions:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:514 +#, no-c-format +msgid "" +"\n" +" \n" +" todo.jpdl.xml\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:516 +#, no-c-format +msgid "" +"As jBPM processes are persistent across application restarts, when using " +"Seam in a production environment you won't want to install the process " +"definition every time the application starts. Therefore, in a production " +"environment, you'll need to deploy the process to jBPM outside of Seam. I= n " +"other words, only install process definitions from components.xm= l when developing your application." +msgstr "" + +#. Tag: title +#: Jbpm.xml:529 +#, no-c-format +msgid "Initializing actor ids" +msgstr "" + +#. Tag: para +#: Jbpm.xml:531 +#, no-c-format +msgid "" +"We always need to know what user is currently logged in. jBPM \"knows\" " +"users by their actor id and group actor id= s. We specify the current actor ids using the built in Seam " +"component named actor:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:539 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Jbpm.xml:544 +#, no-c-format +msgid "Initiating a business process" +msgstr "" + +#. Tag: para +#: Jbpm.xml:546 +#, no-c-format +msgid "" +"To initiate a business process instance, we use the @CreateProce= ss annotation:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:551 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:553 +#, no-c-format +msgid "Alternatively we can initiate a business process using pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:555 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:560 +#, no-c-format +msgid "Task assignment" +msgstr "" + +#. Tag: para +#: Jbpm.xml:562 +#, no-c-format +msgid "" +"When a process reaches a task node, task instances are created. These mus= t " +"be assigned to users or user groups. We can either hardcode our actor ids= , " +"or delegate to a Seam component:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:568 +#, no-c-format +msgid "" +"= \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:570 +#, no-c-format +msgid "" +"In this case, we have simply assigned the task to the current user. We ca= n " +"also assign tasks to a pool:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:575 +#, no-c-format +msgid "" +"= \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:580 +#, no-c-format +msgid "Task lists" +msgstr "" + +#. Tag: para +#: Jbpm.xml:582 +#, no-c-format +msgid "" +"Several built-in Seam components make it easy to display task lists. The " +"pooledTaskInstanceList is a list of pooled tasks that " +"users may assign to themselves:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:588 +#, no-c-format +msgid "" +"\n" +" \n" +" Description\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:590 +#, no-c-format +msgid "" +"Note that instead of <s:link> we could have used= a " +"plain JSF <h:commandLink>:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:595 +#, no-c-format +msgid "" +" = \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:597 +#, no-c-format +msgid "" +"The pooledTask component is a built-in component that " +"simply assigns the task to the current user." +msgstr "" + +#. Tag: para +#: Jbpm.xml:602 +#, no-c-format +msgid "" +"The taskInstanceListForType component includes tasks o= f a " +"particular type that are assigned to the current user:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:607 +#, no-c-format +msgid "" +"\n" +" \n" +" Description\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Jbpm.xml:612 +#, no-c-format +msgid "Performing a task" +msgstr "" + +#. Tag: para +#: Jbpm.xml:614 +#, no-c-format +msgid "" +"To begin work on a task, we use either @StartTask or " +"@BeginTask on the listener method:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:619 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:621 +#, no-c-format +msgid "Alternatively we can begin work on a task using pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:623 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:625 +#, no-c-format +msgid "" +"These annotations begin a special kind of conversation that has significa= nce " +"in terms of the overarching business process. Work done by this conversat= ion " +"has access to state held in the business process context." +msgstr "" + +#. Tag: para +#: Jbpm.xml:632 +#, no-c-format +msgid "" +"If we end the conversation using @EndTask, Seam will " +"signal the completion of the task:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:637 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jbpm.xml:639 +#, no-c-format +msgid "Alternatively we can use pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Jbpm.xml:641 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Jbpm.xml:643 +#, no-c-format +msgid "You can also use EL to specify the transition in pages.xml." +msgstr "" + +#. Tag: para +#: Jbpm.xml:647 +#, no-c-format +msgid "" +"At this point, jBPM takes over and continues executing the business proce= ss " +"definition. (In more complex processes, several tasks might need to be " +"completed before process execution can resume.)" +msgstr "" + +#. Tag: para +#: Jbpm.xml:653 +#, no-c-format +msgid "" +"Please refer to the jBPM documentation for a more thorough overview of th= e " +"sophisticated features that jBPM provides for managing complex business " +"processes." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jms.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jms.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Jms.po 2008-04-21 00:4= 1:49 UTC (rev 7985) @@ -0,0 +1,732 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Jms.xml:2 +#, no-c-format +msgid "Asynchronicity and messaging" +msgstr "" + +#. Tag: para +#: Jms.xml:3 +#, no-c-format +msgid "" +"Seam makes it very easy to perform work asynchronously from a web request= . " +"When most people think of asynchronicity in Java EE, they think of using " +"JMS. This is certainly one way to approach the problem in Seam, and is th= e " +"right way when you have strict and well-defined quality of service " +"requirements. Seam makes it easy to send and recieve JMS messages using S= eam " +"components." +msgstr "" + +#. Tag: para +#: Jms.xml:11 +#, no-c-format +msgid "" +"But for many usecases, JMS is overkill. Seam layers a simple asynchronous= " +"method and event facility over your choice of dispatchers:" +msgstr "" + +#. Tag: para +#: Jms.xml:18 +#, no-c-format +msgid "" +"java.util.concurrent.ScheduledThreadPoolExecutor (by " +"default)" +msgstr "" + +#. Tag: para +#: Jms.xml:23 +#, no-c-format +msgid "the EJB timer service (for EJB 3.0 environments)" +msgstr "" + +#. Tag: para +#: Jms.xml:28 +#, no-c-format +msgid "Quartz" +msgstr "" + +#. Tag: title +#: Jms.xml:35 +#, no-c-format +msgid "Asynchronicity" +msgstr "" + +#. Tag: para +#: Jms.xml:37 +#, no-c-format +msgid "" +"Asynchronous events and method calls have the same quality of service " +"expectations as the underlying dispatcher mechanism. The default dispatch= er, " +"based upon a ScheduledThreadPoolExecutor performs " +"efficiently but provides no support for persistent asynchronous tasks, an= d " +"hence no guarantee that a task will ever actually be executed. If you're " +"working in an environment that supports EJB 3.0, and add the following li= ne " +"to components.xml:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:46 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Jms.xml:48 +#, no-c-format +msgid "" +"then your asynchronous tasks will be processed by the container's EJB tim= er " +"service. If you're not familiar with the Timer service, don't worry, you " +"don't need to interact with it directly if you want to use asynchronous " +"methods in Seam. The important thing to know is that any good EJB 3.0 " +"implementation will have the option of using persistent timers, which giv= es " +"some guarantee that the tasks will eventually be processed." +msgstr "" + +#. Tag: para +#: Jms.xml:56 +#, no-c-format +msgid "" +"Another alternative is to use the open source Quartz library to manage " +"asynchronous method. You need to bundle the Quartz library JAR (found in = the " +"lib directory) in your EAR and declare it as a Java " +"module in application.xml. In addition, you need to ad= d " +"the following line to components.xml to install the " +"Quartz dispatcher." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:64 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Jms.xml:66 +#, no-c-format +msgid "" +"The Seam API for the default ScheduledThreadPoolExecutor, " +"the EJB3 Timer, and the Quartz Scheduler are largely the same. They can just \"plug and play\" by adding = a " +"line to components.xml." +msgstr "" + +#. Tag: title +#: Jms.xml:73 +#, no-c-format +msgid "Asynchronous methods" +msgstr "" + +#. Tag: para +#: Jms.xml:75 +#, no-c-format +msgid "" +"In simplest form, an asynchronous call just lets a method call be process= ed " +"asynchronously (in a different thread) from the caller. We usually use an= " +"asynchronous call when we want to return an immediate response to the " +"client, and let some expensive work be processed in the background. This " +"pattern works very well in applications which use AJAX, where the client = can " +"automatically poll the server for the result of the work." +msgstr "" + +#. Tag: para +#: Jms.xml:83 +#, no-c-format +msgid "" +"For EJB components, we annotate the local interface to specify that a met= hod " +"is processed asynchronously." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:88 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:90 +#, no-c-format +msgid "" +"(For JavaBean components we can annotate the component implementation cla= ss " +"if we like.)" +msgstr "" + +#. Tag: para +#: Jms.xml:94 +#, no-c-format +msgid "The use of asynchronicity is transparent to the bean class:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:98 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:100 +#, no-c-format +msgid "And also transparent to the client:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:104 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:106 +#, no-c-format +msgid "" +"The asynchronous method is processed in a completely new event context an= d " +"does not have access to the session or conversation context state of the " +"caller. However, the business process context is " +"propagated." +msgstr "" + +#. Tag: para +#: Jms.xml:112 +#, no-c-format +msgid "" +"Asynchronous method calls may be scheduled for later execution using the " +"@Duration, @Expiration and " +"@IntervalDuration annotations." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:118 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:120 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:122 +#, no-c-format +msgid "" +"Both client and server may access the Timer object " +"associated with the invocation. The Timer object shown= " +"below is the EJB3 timer when you use the EJB3 dispatcher. For the default= " +"ScheduledThreadPoolExecutor, the returned object is " +"Future from the JDK. For the Quartz dispatcher, it " +"returns QuartzTriggerHandle, which we will discuss in = the " +"next section." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:127 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:129 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:131 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:133 +#, no-c-format +msgid "Asynchronous methods cannot return any other value to the caller." +msgstr "" + +#. Tag: title +#: Jms.xml:140 +#, no-c-format +msgid "Asynchronous methods with the Quartz Dispatcher" +msgstr "" + +#. Tag: para +#: Jms.xml:142 +#, no-c-format +msgid "" +"The Quartz dispatcher (see earlier on how to install it) allows you to us= e " +"the @Asynchronous, @Duration, " +"@Expiration, and @IntervalDuration " +"annotations as above. But it has some powerful additional features. The " +"Quartz dispatcher supports three new annotations." +msgstr "" + +#. Tag: para +#: Jms.xml:146 +#, no-c-format +msgid "" +"The @FinalExpiration annotation specifies an end date = for " +"the recurring task." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:148 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:150 +#, no-c-format +msgid "" +"Note that the method returns the QuartzTriggerHandle " +"object, which you can use later to stop, pause, and resume the scheduler.= " +"The QuartzTriggerHandle object is serializable, so you= " +"can save it into the database if you need to keep it around for extended " +"period of time." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:152 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:154 +#, no-c-format +msgid "" +"The @IntervalCron annotation supports Unix cron job " +"syntax for task scheduling. For instance, the following asynchronous meth= od " +"runs at 2:10pm and at 2:44pm every Wednesday in the month of March." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:157 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:159 +#, no-c-format +msgid "" +"The @IntervalBusinessDay annotation supports invocatio= n " +"on the \"nth Business Day\" scenario. For instance, the following " +"asynchronous method runs at 14:00 on the 2nd business day of each month. = By " +"default, it excludes all weekends and US federal holidays until 2010 from= " +"the business days." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:162 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:164 +#, no-c-format +msgid "" +"The NthBusinessDay object contains the configuration o= f " +"the invocation trigger. You can specify more holidays (e.g., company " +"holidays, non-US holidays etc.) via the additionalHolidays property." +msgstr "" + +#. Tag: programlisting +#: Jms.xml:166 +#, no-c-format +msgid "" +" additionalHolidays;\n" +" BusinessDayIntervalType interval;\n" +" boolean excludeWeekends;\n" +" boolean excludeUsFederalHolidays;\n" +"\n" +" public enum BusinessDayIntervalType { WEEKLY, MONTHLY, YEARLY }\n" +"\n" +" public NthBusinessDay ()\n" +" {\n" +" n =3D 1;\n" +" fireAtTime =3D \"12:00\";\n" +" additionalHolidays =3D new ArrayList ();\n" +" interval =3D BusinessDayIntervalType.WEEKLY;\n" +" excludeWeekends =3D true;\n" +" excludeUsFederalHolidays =3D true;\n" +" } \n" +" ... ...\n" +"}\n" +"]]>" +msgstr "" + +#. Tag: para +#: Jms.xml:168 +#, no-c-format +msgid "" +"The @IntervalDuration, @IntervalCron, " +"and @IntervalNthBusinessDay annotations are mutually " +"exclusive. If they are used in the same method, a RuntimeExcepti= on will be thrown." +msgstr "" + +#. Tag: title +#: Jms.xml:173 +#, no-c-format +msgid "Asynchronous events" +msgstr "" + +#. Tag: para +#: Jms.xml:174 +#, no-c-format +msgid "" +"Component-driven events may also be asynchronous. To raise an event for " +"asynchronous processing, simply call the raiseAsynchronousEvent(= ) method of the Events class. To schedule a tim= ed " +"event, call the raiseTimedEvent() method, passing a " +"schedule object (for the default dispatcher or timer= " +"service dispatcher, use TimerSchedule). Components may= " +"observe asynchronous events in the usual way, but remember that only the " +"business process context is propagated to the asynchronous thread." +msgstr "" + +#. Tag: title +#: Jms.xml:188 +#, no-c-format +msgid "Messaging in Seam" +msgstr "" + +#. Tag: para +#: Jms.xml:190 +#, no-c-format +msgid "" +"Seam makes it easy to send and receive JMS messages to and from Seam " +"components." +msgstr "" + +#. Tag: title +#: Jms.xml:196 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Jms.xml:197 +#, no-c-format +msgid "" +"To configure Seam's infrastructure for sending JMS messages, you need to " +"tell Seam about any topics and queues you want to send messages to, and a= lso " +"tell Seam where to find the QueueConnectionFactory and= /or " +"TopicConnectionFactory." +msgstr "" + +#. Tag: para +#: Jms.xml:205 +#, no-c-format +msgid "" +"Seam defaults to using UIL2ConnectionFactory which is = the " +"usual connection factory for use with JBossMQ. If you are using some othe= r " +"JMS provider, you need to set one or both of queueConnection." +"queueConnectionFactoryJndiName and topicConnection." +"topicConnectionFactoryJndiName in seam.properties, web.xml or components.xml= ." +msgstr "" + +#. Tag: para +#: Jms.xml:215 +#, no-c-format +msgid "" +"You also need to list topics and queues in components.xml " +"to install Seam managed TopicPublishers and " +"QueueSenders:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:221 +#, no-c-format +msgid "" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: title +#: Jms.xml:226 +#, no-c-format +msgid "Sending messages" +msgstr "" + +#. Tag: para +#: Jms.xml:227 +#, no-c-format +msgid "" +"Now, you can inject a JMS TopicPublisher and " +"TopicSession into any component:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:232 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Jms.xml:234 +#, no-c-format +msgid "Or, for working with a queue:" +msgstr "" + +#. Tag: programlisting +#: Jms.xml:236 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Jms.xml:241 +#, no-c-format +msgid "Receiving messages using a message-driven bean" +msgstr "" + +#. Tag: para +#: Jms.xml:242 +#, no-c-format +msgid "" +"You can process messages using any EJB3 message driven bean. Message-driv= en " +"beans may even be Seam components, in which case it is possible to inject= " +"other event and application scoped Seam components." +msgstr "" + +#. Tag: title +#: Jms.xml:250 +#, no-c-format +msgid "Receiving messages in the client" +msgstr "" + +#. Tag: para +#: Jms.xml:251 +#, no-c-format +msgid "" +"Seam Remoting lets you subscribe to a JMS topic from client-side JavaScri= pt. " +"This is described in ." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Mail.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Mail.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Mail.po 2008-04-21 00:= 41:49 UTC (rev 7985) @@ -0,0 +1,1156 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Mail.xml:2 +#, no-c-format +msgid "Email" +msgstr "" + +#. Tag: para +#: Mail.xml:3 +#, no-c-format +msgid "" +"Seam now includes an optional components for templating and sending email= s." +msgstr "" + +#. Tag: para +#: Mail.xml:7 +#, no-c-format +msgid "" +"Email support is provided by jboss-seam-mail.jar. This= " +"JAR contains the mail JSF controls, which are used to construct emails, a= nd " +"the mailSession manager component." +msgstr "" + +#. Tag: para +#: Mail.xml:13 +#, no-c-format +msgid "" +"The examples/mail project contains an example of the email support in " +"action. It demonstrates proper packaging, and it contains a number of " +"example that demonstrate the key features currently supported." +msgstr "" + +#. Tag: para +#: Mail.xml:19 +#, no-c-format +msgid "" +"You can also test your mail's using Seam's integration testing environmen= t. " +"See ." +msgstr "" + +#. Tag: title +#: Mail.xml:25 +#, no-c-format +msgid "Creating a message" +msgstr "" + +#. Tag: para +#: Mail.xml:27 +#, no-c-format +msgid "" +"You don't need to learn a whole new templating language to use Seam Mail " +"— an email is just facelet!" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:32 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" #{person.addr= ess}\n" +" Try out Seam!\n" +" \n" +" \n" +"

    ,

    \n" +"

    You can try out Seam by visiting \n" +" http://labs.jboss.c= om/" +"jbossseam.

    \n" +"

    Regards,

    \n" +"

    Pete

    \n" +"
    \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:34 +#, no-c-format +msgid "" +"The <m:message> tag wraps the whole message, and= " +"tells Seam to start rendering an email. Inside the <m:message= >" +" tag we use an <m:from> tag to set who= " +"the message is from, a <m:to> tag to specify a " +"sender (notice how we use EL as we would in a normal facelet), and a " +"<m:subject> tag." +msgstr "" + +#. Tag: para +#: Mail.xml:43 +#, no-c-format +msgid "" +"The <m:body> tag wraps the body of the email. Yo= u " +"can use regular HTML tags inside the body as well as JSF components." +msgstr "" + +#. Tag: para +#: Mail.xml:48 +#, no-c-format +msgid "" +"So, now you have your email template, how do you go about sending it? Wel= l, " +"at the end of rendering the m:message the " +"mailSession is called to send the email, so all you ha= ve " +"to do is ask Seam to render the view:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:55 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Mail.xml:57 +#, no-c-format +msgid "" +"If, for example, you entered an invalid email address, then an exception " +"would be thrown, which is caught and then displayed to the user." +msgstr "" + +#. Tag: title +#: Mail.xml:63 +#, no-c-format +msgid "Attachments" +msgstr "" + +#. Tag: para +#: Mail.xml:64 +#, no-c-format +msgid "" +"Seam makes it easy to attach files to an email. It supports most of the " +"standard java types used when working with files." +msgstr "" + +#. Tag: para +#: Mail.xml:69 +#, no-c-format +msgid "If you wanted to email the jboss-seam-mail.jar:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:73 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:75 +#, no-c-format +msgid "" +"Seam will load the file from the classpath, and attach it to the email. B= y " +"default it would be attached as jboss-seam-mail.jar; i= f " +"you wanted it to have another name you would just add the fileNa= me attribute:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:81 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:83 +#, no-c-format +msgid "" +"You could also attach a java.io.File, a java.= net." +"URL:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:87 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:89 +#, no-c-format +msgid "" +"Or a byte[] or a java.io.InputStream:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:93 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:95 +#, no-c-format +msgid "" +"You'll notice that for a byte[] and a java.io= ." +"InputStream you need to specify the MIME type of the attachment= " +"(as that information is not carried as part of the file)." +msgstr "" + +#. Tag: para +#: Mail.xml:101 +#, no-c-format +msgid "" +"And it gets even better, you can attach a Seam generated PDF, or any " +"standard JSF view, just by wrapping a <m:attachment> around the normal tags you would use:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:107 +#, no-c-format +msgid "" +"\n" +" \n" +" A very tiny " +"PDF = \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:109 +#, no-c-format +msgid "" +"If you had a set of files you wanted to attach (for example a set of " +"pictures loaded from a database) you can just use a <ui:" +"repeat>:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:114 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:116 +#, no-c-format +msgid "And if you want to display an attached image inline:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:120 +#, no-c-format +msgid "" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:122 +#, no-c-format +msgid "" +"You may be wondering what cid:#{...} does. Well, the I= ETF " +"specified that by putting this as the src for your image, the attachments= " +"will be looked at when trying to locate the image (the Content-I= D's must match) — magic!" +msgstr "" + +#. Tag: para +#: Mail.xml:129 +#, no-c-format +msgid "" +"You must declare the attachment before trying to access the status object= ." +msgstr "" + +#. Tag: title +#: Mail.xml:136 +#, no-c-format +msgid "HTML/Text alternative part" +msgstr "" + +#. Tag: para +#: Mail.xml:138 +#, no-c-format +msgid "" +"Whilst most mail readers nowadays support HTML, some don't, so you can ad= d a " +"plain text alternative to your email body:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:143 +#, no-c-format +msgid "" +"\n" +" Sorry, your email reader can't show o= ur " +"fancy email, \n" +"please go to http://labs.jboss.com/jbossseam to explore Seam.\n" +"]]>" +msgstr "" + +#. Tag: title +#: Mail.xml:148 +#, no-c-format +msgid "Multiple recipients" +msgstr "" + +#. Tag: para +#: Mail.xml:150 +#, no-c-format +msgid "" +"Often you'll want to send an email to a group of recipients (for example " +"your users). All of the recipient mail tags can be placed inside a " +"<ui:repeat>:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:156 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Mail.xml:161 +#, no-c-format +msgid "Multiple messages" +msgstr "" + +#. Tag: para +#: Mail.xml:163 +#, no-c-format +msgid "" +"Sometimes, however, you need to send a slightly different message to each= " +"recipient (e.g. a password reset). The best way to do this is to place th= e " +"whole message inside a <ui:repeat>:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:169 +#, no-c-format +msgid "" +"\n" +" \n" +" #{perso= n." +"address}\n" +" #{p.address}\n" +" ...\n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Mail.xml:174 +#, no-c-format +msgid "Templating" +msgstr "" + +#. Tag: para +#: Mail.xml:176 +#, no-c-format +msgid "" +"The mail templating example shows that facelets templating Just Works wit= h " +"the Seam mail tags." +msgstr "" + +#. Tag: para +#: Mail.xml:181 +#, no-c-format +msgid "Our template.xhtml contains:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:185 +#, no-c-format +msgid "" +"\n" +" \n" +" #{person.addre= ss}\n" +" #{subject}\n" +" \n" +" \n" +" \n" +" This is the default body, speci= fied " +"by the template.\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:187 +#, no-c-format +msgid "Our templating.xhtml contains:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:191 +#, no-c-format +msgid "" +"\n" +"\n" +"

    This example demonstrates that you can easily use facelets " +"templating in email!

    \n" +"
    ]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:193 +#, no-c-format +msgid "" +"You can also use facelets source tags in your email, but you must place t= hem " +"in a jar in WEB-INF/lib - referencing the ." +"taglib.xml from web.xml isn't reliable when " +"using Seam Mail (if you send your mail asynchrounously Seam Mail doesn't " +"have access to the full JSF or Servlet context, and so doesn't know about= " +"web.xml configuration parameters)." +msgstr "" + +#. Tag: para +#: Mail.xml:203 +#, no-c-format +msgid "" +"If you do need more configure Facelets or JSF when sending mail, you'll n= eed " +"to override the Renderer component and do the configuration programmatica= lly " +"- only for advanced users!" +msgstr "" + +#. Tag: title +#: Mail.xml:213 +#, no-c-format +msgid "Internationalisation" +msgstr "" + +#. Tag: para +#: Mail.xml:215 +#, no-c-format +msgid "" +"Seam supports sending internationalised messages. By default, the encodin= g " +"provided by JSF is used, but this can be overridden on the template:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:221 +#, no-c-format +msgid "" +"\n" +" ...\n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:223 +#, no-c-format +msgid "" +"The body, subject and recipient (and from) name will be encoded. You'll n= eed " +"to make sure facelets uses the correct charset for parsing your pages by " +"setting encoding of the template:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:229 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: title +#: Mail.xml:233 +#, no-c-format +msgid "Other Headers" +msgstr "" + +#. Tag: para +#: Mail.xml:235 +#, no-c-format +msgid "" +"Sometimes you'll want to add other headers to your email. Seam provides " +"support for some (see ). For example, we c= an " +"set the importance of the email, and ask for a read receipt:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:242 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:244 +#, no-c-format +msgid "" +"Otherise you can add any header to the message using the <m:" +"header> tag:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:249 +#, no-c-format +msgid "]= ]>" +msgstr "" + +#. Tag: title +#: Mail.xml:255 +#, no-c-format +msgid "Receiving emails" +msgstr "" + +#. Tag: para +#: Mail.xml:257 +#, no-c-format +msgid "" +"If you are using EJB then you can use a MDB (Message Driven Bean) to rece= ive " +"email. JBoss provides a JCA adaptor — mail-ra.rar " +"— but the version distributed with JBoss AS has a number of " +"limitations (and isn't bundled in some versions) therefore we recommend " +"using the mail-ra.rar distributed with Seam is " +"recommended (it's in the mail directory in the Seam " +"bundle). mail-ra.rar should be placed in " +"$JBOSS_HOME/server/default/deploy; if the version of JBoss AS y= ou " +"use already has this file, replace it." +msgstr "" + +#. Tag: para +#: Mail.xml:269 +#, no-c-format +msgid "You can configure it like this:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:273 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Mail.xml:275 +#, no-c-format +msgid "" +"Each message received will cause onMessage(Message message) to be called. Most Seam annotations will work inside a MDB but y= ou " +"musn't access the persistence context." +msgstr "" + +#. Tag: para +#: Mail.xml:281 +#, no-c-format +msgid "" +"You can find more information onmail-ra.rar at http://wik= i." +"jboss.org/wiki/Wiki.jsp?page=3DInboundJavaMail." +msgstr "" + +#. Tag: para +#: Mail.xml:286 +#, no-c-format +msgid "" +"If you aren't using JBoss AS you can still use mail-ra.rar or you may find your application server includes a similar adapt= er." +msgstr "" + +#. Tag: title +#: Mail.xml:294 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Mail.xml:296 +#, no-c-format +msgid "" +"To include Email support in your application, include jboss-seam= -" +"mail.jar in your WEB-INF/lib directory. If y= ou " +"are using JBoss AS there is no further configuration needed to use Seam's= " +"email support. Otherwise you need to make sure you have the JavaMail API,= an " +"implementation of the JavaMail API present (the API and impl used in JBos= s " +"AS are distributed with seam as lib/mail.jar), and a c= opy " +"of the Java Activation Framework (distributed with Seam as lib/" +"activation.jar." +msgstr "" + +#. Tag: para +#: Mail.xml:307 +#, no-c-format +msgid "" +"The Seam Email module requires the use of Facelets as the view technology= . " +"Future versions of the library may also support the use of JSP. " +"Additionally, it requires the use of the seam-ui package." +msgstr "" + +#. Tag: para +#: Mail.xml:313 +#, no-c-format +msgid "" +"The mailSession component uses JavaMail to talk to a " +"'real' SMTP server." +msgstr "" + +#. Tag: literal +#: Mail.xml:319 +#, no-c-format +msgid "mailSession" +msgstr "" + +#. Tag: para +#: Mail.xml:321 +#, no-c-format +msgid "" +"A JavaMail Session may be available via a JNDI lookup if you are working = in " +"an JEE environment or you can use a Seam configured Session." +msgstr "" + +#. Tag: para +#: Mail.xml:326 +#, no-c-format +msgid "" +"The mailSession component's properties are described in more detail in ." +msgstr "" + +#. Tag: title +#: Mail.xml:332 +#, no-c-format +msgid "JNDI lookup in JBoss AS" +msgstr "" + +#. Tag: para +#: Mail.xml:334 +#, no-c-format +msgid "" +"The JBossAS deploy/mail-service.xml configures a JavaM= ail " +"session binding into JNDI. The default service configuration will need " +"altering for your network. http://wiki.jboss.org/wiki/Wiki.jsp?page=3DJavaMail " +"describes the service in more detail." +msgstr "" + +#. Tag: programlisting +#: Mail.xml:342 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:344 +#, no-c-format +msgid "" +"Here we tell Seam to get the mail session bound to java:/Mail from JNDI." +msgstr "" + +#. Tag: title +#: Mail.xml:352 +#, no-c-format +msgid "Seam configured Session" +msgstr "" + +#. Tag: para +#: Mail.xml:354 +#, no-c-format +msgid "" +"A mail session can be configured via components.xml. H= ere " +"we tell Seam to use smtp.example.com as the smtp serve= r:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:360 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Mail.xml:367 +#, no-c-format +msgid "Meldware" +msgstr "" + +#. Tag: para +#: Mail.xml:369 +#, no-c-format +msgid "" +"Seam's mail examples use Meldware (from = buni." +"org) as a mail server. Meldware is a groupware package that provi= des " +"SMTP, POP3, IMAP= , " +"webmail, a shared calendar and an graphical admin tool; it's written as a= " +"JEE application so can be deployed onto JBoss AS alongside your Seam " +"application." +msgstr "" + +#. Tag: para +#: Mail.xml:378 +#, no-c-format +msgid "" +"The version of Meldware distributed with Seam (in the mail/buni-" +"meldware folder) is specially tailored for development - " +"mailboxes, users and aliases (email addresses) are created every time the= " +"application deploys. If you want to use Meldware in production you should= " +"install the latest release from buni.org= ." +msgstr "" + +#. Tag: para +#: Mail.xml:385 +#, no-c-format +msgid "" +"To create mailboxes, users and aliases, you can use the meldware= component:" +msgstr "" + +#. Tag: programlisting +#: Mail.xml:390 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" #{duke}\n" +" #{root}\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" duke(a)jboss.org\n" +" duke(a)jboss.com\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Mail.xml:392 +#, no-c-format +msgid "" +"Here we've created two users, duke, who has two email " +"addresses and an administrator with the username root." +msgstr "" + +#. Tag: title +#: Mail.xml:400 +#, no-c-format +msgid "Tags" +msgstr "" + +#. Tag: para +#: Mail.xml:402 +#, no-c-format +msgid "" +"Emails are generated using tags in the http://jboss.com/products= /" +"seam/mail namespace. Documents should always have the " +"message tag at the root of the message. The message ta= g " +"prepares Seam to generate an email." +msgstr "" + +#. Tag: para +#: Mail.xml:409 +#, no-c-format +msgid "" +"The standard templating tags of facelets can be used as normal. Inside th= e " +"body you can use any JSF tag; if it requires access to external resources= " +"(stylesheets, javascript) then be sure to set the urlBase." +msgstr "" + +#. Tag: term +#: Mail.xml:418 +#, no-c-format +msgid "<m:message>" +msgstr "" + +#. Tag: para +#: Mail.xml:420 +#, no-c-format +msgid "Root tag of a mail message" +msgstr "" + +#. Tag: para +#: Mail.xml:425 +#, no-c-format +msgid "" +"importance — low, normal or high. By default " +"normal, this sets the importance of the mail message." +msgstr "" + +#. Tag: para +#: Mail.xml:431 +#, no-c-format +msgid "" +"precedence — sets the precedence of the message = (e." +"g. bulk)." +msgstr "" + +#. Tag: para +#: Mail.xml:437 +#, no-c-format +msgid "" +"requestReadReceipt — by default false, if set, a= " +"read receipt request will be will be added, with the read receipt being s= ent " +"to the From: address." +msgstr "" + +#. Tag: para +#: Mail.xml:445 +#, no-c-format +msgid "" +"urlBase — If set, the value is prepended to the " +"requestContextPath allowing you to use components such= as " +"<h:graphicImage> in your emails." +msgstr "" + +#. Tag: term +#: Mail.xml:456 +#, no-c-format +msgid "<m:from>" +msgstr "" + +#. Tag: para +#: Mail.xml:458 +#, no-c-format +msgid "" +"Set's the From: address for the email. You can only have one of these per= " +"email." +msgstr "" + +#. Tag: para +#: Mail.xml:464 +#, no-c-format +msgid "name — the name the email should come from= ." +msgstr "" + +#. Tag: para +#: Mail.xml:470 Mail.xml:487 +#, no-c-format +msgid "" +"address — the email address the email should com= e " +"from." +msgstr "" + +#. Tag: term +#: Mail.xml:479 +#, no-c-format +msgid "<m:replyTo>" +msgstr "" + +#. Tag: para +#: Mail.xml:481 +#, no-c-format +msgid "" +"Set's the Reply-to: address for the email. You can only have one of these= " +"per email." +msgstr "" + +#. Tag: term +#: Mail.xml:496 +#, no-c-format +msgid "<m:to>" +msgstr "" + +#. Tag: para +#: Mail.xml:498 +#, no-c-format +msgid "" +"Add a recipient to the email. Use multiple <m:to> tags for multiple= " +"recipients. This tag can be safely placed inside a repeat tag such as <= ;ui:" +"repeat>." +msgstr "" + +#. Tag: para +#: Mail.xml:505 Mail.xml:527 Mail.xml:550 +#, no-c-format +msgid "name — the name of the recipient." +msgstr "" + +#. Tag: para +#: Mail.xml:510 Mail.xml:532 Mail.xml:555 +#, no-c-format +msgid "address — the email address of the recipie= nt." +msgstr "" + +#. Tag: term +#: Mail.xml:518 +#, no-c-format +msgid "<m:cc>" +msgstr "" + +#. Tag: para +#: Mail.xml:520 +#, no-c-format +msgid "" +"Add a cc recipient to the email. Use multiple <m:cc> tags for multi= ple " +"ccs. This tag can be safely placed inside a iterator tag such as <ui:" +"repeat>." +msgstr "" + +#. Tag: term +#: Mail.xml:541 +#, no-c-format +msgid "<m:bcc>" +msgstr "" + +#. Tag: para +#: Mail.xml:543 +#, no-c-format +msgid "" +"Add a bcc recipient to the email. Use multiple <m:bcc> tags for " +"multiple bccs. This tag can be safely placed inside a repeat tag such as = <" +"ui:repeat>." +msgstr "" + +#. Tag: term +#: Mail.xml:564 +#, no-c-format +msgid "<m:header>" +msgstr "" + +#. Tag: para +#: Mail.xml:566 +#, no-c-format +msgid "" +"Add a header to the email (e.g. X-Sent-From: JBoss Seam)" +msgstr "" + +#. Tag: para +#: Mail.xml:571 +#, no-c-format +msgid "" +"name — The name of the header to add (e.g. " +"X-Sent-From)." +msgstr "" + +#. Tag: para +#: Mail.xml:577 +#, no-c-format +msgid "" +"value — The value of the header to add (e.g. " +"JBoss Seam)." +msgstr "" + +#. Tag: term +#: Mail.xml:586 +#, no-c-format +msgid "<m:attachment>" +msgstr "" + +#. Tag: para +#: Mail.xml:588 +#, no-c-format +msgid "Add an attachment to the email." +msgstr "" + +#. Tag: para +#: Mail.xml:593 +#, no-c-format +msgid "value — The file to attach:" +msgstr "" + +#. Tag: para +#: Mail.xml:598 +#, no-c-format +msgid "" +"String — A String is interpre= ted " +"as a path to file within the classpath" +msgstr "" + +#. Tag: para +#: Mail.xml:604 +#, no-c-format +msgid "" +"java.io.File — An EL expression can reference a " +"File object" +msgstr "" + +#. Tag: para +#: Mail.xml:610 +#, no-c-format +msgid "" +"java.net.URL — An EL expression can reference a " +"URL object" +msgstr "" + +#. Tag: para +#: Mail.xml:616 +#, no-c-format +msgid "" +"java.io.InputStream — An EL expression can " +"reference an InputStream. In this case both a " +"fileName and a contentType must be " +"specified." +msgstr "" + +#. Tag: para +#: Mail.xml:624 +#, no-c-format +msgid "" +"byte[] — An EL expression can reference an " +"byte[]. In this case both a fileName " +"and a contentType must be specified." +msgstr "" + +#. Tag: para +#: Mail.xml:632 +#, no-c-format +msgid "If the value attribute is ommitted:" +msgstr "" + +#. Tag: para +#: Mail.xml:635 +#, no-c-format +msgid "" +"If this tag contains a <p:document> tag, the " +"document described will be generated and attached to the email. A " +"fileName should be specfied." +msgstr "" + +#. Tag: para +#: Mail.xml:643 +#, no-c-format +msgid "" +"If this tag contains other JSF tags a HTML document will be generated fro= m " +"them and attached to the email. A fileName should be " +"specfied." +msgstr "" + +#. Tag: para +#: Mail.xml:652 +#, no-c-format +msgid "" +"fileName — Specify the file name to use for the " +"attached file." +msgstr "" + +#. Tag: para +#: Mail.xml:658 +#, no-c-format +msgid "" +"contentType — Specify the MIME type of the attac= hed " +"file" +msgstr "" + +#. Tag: term +#: Mail.xml:667 +#, no-c-format +msgid "<m:subject>" +msgstr "" + +#. Tag: para +#: Mail.xml:669 +#, no-c-format +msgid "Set's the subject for the email." +msgstr "" + +#. Tag: term +#: Mail.xml:675 +#, no-c-format +msgid "<m:body>" +msgstr "" + +#. Tag: para +#: Mail.xml:677 +#, no-c-format +msgid "" +"Set's the body for the email. Supports an alternative " +"facet which, if an HTML email is generated can contain alternative text f= or " +"a mail reader which doesn't support html." +msgstr "" + +#. Tag: para +#: Mail.xml:684 +#, no-c-format +msgid "" +"type — If set to plain then a= " +"plain text email will be generated otherwise an HTML email is generated." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Oc4j.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Oc4j.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Oc4j.po 2008-04-21 00:= 41:49 UTC (rev 7985) @@ -0,0 +1,1613 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Oc4j.xml:2 +#, no-c-format +msgid "Seam on OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:4 +#, no-c-format +msgid "" +"OC4J (Oracle Containers for Java) 11g (currently a \"Technology Preview\"= " +"release) is Oracle's JEE5 application server. Seam application can be " +"deployed to OC4J, but require some additional configuration changes, and " +"dependencies. This chapter will show you exactly what must be done. We wi= ll " +"start by looking at the building and deploying the JEE5 Hotel Booking " +"example application which comes with Seam. Then we will deploy a project " +"generated by seam-gen . First a basic seam-ge= n application with RichFaces ajax components, and facelets. Then " +"expand that application to include Seam security with Drools, JPA provide= d " +"with hibernate, and automatic CRUD reverse engineering of a MySQL databas= e." +msgstr "" + +#. Tag: title +#: Oc4j.xml:17 +#, no-c-format +msgid "Installation and operation of OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:18 +#, no-c-format +msgid "" +"First we need to install the target container - OC4j. This chapter requir= es " +"you to use OC4J 11g Technology Preview (not OC4J 10g). You can download O= C4J " +"11g from " +"http://www.oracle.com/technology/tech/java/oc4j/11/ Below are " +"instructions to install. launch, access, and shutdown the 11g release. Fo= r " +"further information on installing OC4J, consult the readme.txt distributed with OC4J, or the OC4J installation guide and releas= e " +"notes." +msgstr "" + +#. Tag: para +#: Oc4j.xml:29 +#, no-c-format +msgid "Download and unzip OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:32 +#, no-c-format +msgid "" +"Make sure you have $JAVA_HOME and $ORACLE_HOM= E set as environment variables ( $ORACLE_HOME i= s " +"the directory to which you unzip OC4J). For further information on " +"installing OC4J, consult the readme.txt distributed wi= th " +"OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:41 +#, no-c-format +msgid "" +"Applications (ear/war) are deployed to the $ORACLE_HOME/j2ee/hom= e/" +"applications directory." +msgstr "" + +#. Tag: para +#: Oc4j.xml:44 +#, no-c-format +msgid "" +"Note that OC4J does not support hot deployment by default. This means eve= ry " +"time you deploy the application you must restart the server." +msgstr "" + +#. Tag: para +#: Oc4j.xml:49 +#, no-c-format +msgid "" +"Start OC4J: $ORACLE_HOME/j2ee/home/java -jar -XX:MaxPermSize=3D= 256M " +"oc4j.jar " +msgstr "" + +#. Tag: para +#: Oc4j.xml:51 +#, no-c-format +msgid "" +"You must override the default PermGen memory settings using above command= . " +"See OC4J release notes for details." +msgstr "" + +#. Tag: para +#: Oc4j.xml:55 +#, no-c-format +msgid "" +"You will be asked to set the admin password if this is the first time you= " +"have started OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:59 +#, no-c-format +msgid "" +"Once deployed you can check out your applications at http://" +"localhost:8888/<your-app-path>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:64 +#, no-c-format +msgid "" +"You can stop the server by pressing CTRL-C in the cons= ole " +"on which the server is running." +msgstr "" + +#. Tag: title +#: Oc4j.xml:72 +#, no-c-format +msgid "The jee5/booking example" +msgstr "" + +#. Tag: para +#: Oc4j.xml:74 +#, no-c-format +msgid "" +"The jee5/booking example is based on the Hotel Booking= " +"example (which runs on JBoss AS). Out of the box it is designed to run on= " +"Glassfish, but it's easy to build it for OC4J. It is located in the " +"$SEAM_DIST/examples/jee5/booking directory." +msgstr "" + +#. Tag: title +#: Oc4j.xml:81 +#, no-c-format +msgid "Booking Example Dependencies" +msgstr "" + +#. Tag: para +#: Oc4j.xml:83 +#, no-c-format +msgid "" +"First, lets look at the basic dependencies of the booking example. Armed " +"with this knowledge we can look at the extra dependencies requirements th= at " +"OC4J adds." +msgstr "" + +#. Tag: para +#: Oc4j.xml:87 +#, no-c-format +msgid "" +"We will show you how to get these dependencies into the application in below." +msgstr "" + +#. Tag: title +#: Oc4j.xml:90 +#, no-c-format +msgid "Core Seam dependencies" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:93 +#, no-c-format +msgid "" +"jboss-seam.jar — We declare this as an EJB3 modu= le " +"(why? well Seam needs to be able to interact with container managed " +"transactions; this is implemented as an EJB3 Stateful Session Bean)" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:100 +#, no-c-format +msgid "jboss-el.jar" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:103 +#, no-c-format +msgid "" +"jboss-seam-ui.jar — Seam's JSF controls depend o= n " +"Apache's commons-beanutils" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:108 +#, no-c-format +msgid "jboss-seam-debug.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:112 +#, no-c-format +msgid "jsf-facelets.jar" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:116 +#, no-c-format +msgid "" +"richfaces-api.jar , richfaces-impl.jar " +"and richfaces-ui.jar — which requires Apache " +"commons-digester and commons-beanutils" +msgstr "" + +#. Tag: title +#: Oc4j.xml:126 +#, no-c-format +msgid "Extra dependencies" +msgstr "" + +#. Tag: para +#: Oc4j.xml:129 +#, no-c-format +msgid "" +"Hibernate — of course, we decided to use Hibernate as the JPA provi= der " +"(rather than TopLink Essentials which ships with OC4J)." +msgstr "" + +#. Tag: para +#: Oc4j.xml:132 +#, no-c-format +msgid "To use Hibernate as your JPA provider you need the following jars:" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:136 +#, no-c-format +msgid "hibernate.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:141 +#, no-c-format +msgid "hibernate-annotations.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:146 +#, no-c-format +msgid "hibernate-entitymanager.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:151 +#, no-c-format +msgid "hibernate-validator.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:156 +#, no-c-format +msgid "jboss-common-core.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:161 +#, no-c-format +msgid "commons-logging.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:166 +#, no-c-format +msgid "commons-collections.jar" +msgstr "" + +#. Tag: para +#: Oc4j.xml:172 +#, no-c-format +msgid "" +"Third party jars — various jars needed for seam and this example to= " +"run." +msgstr "" + +#. Tag: literal +#: Oc4j.xml:176 +#, no-c-format +msgid "javaasist.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:180 +#, no-c-format +msgid "dom4j.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:184 +#, no-c-format +msgid "cglib.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:188 +#, no-c-format +msgid "asm.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:193 +#, no-c-format +msgid "commons-beanutils.jar" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:198 +#, no-c-format +msgid "commons-digester.jar" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:202 +#, no-c-format +msgid "" +"log4j.jar — This can be left out if you are not " +"going to configure log4j. If it is packaged but not configured logging wi= ll " +"be hidden in oc4j." +msgstr "" + +#. Tag: para +#: Oc4j.xml:211 +#, no-c-format +msgid "" +"Extra OC4J jars — Running Seam on most application servers (such as= " +"JBoss AS or Glassfish) you only need to include the dependencies for thos= e " +"bits of Seam you actually use (e.g. if you use Seam Text you need to incl= ude " +"ANTLR); but, on OC4J, due to its \"interesting\" classloading you must " +"always include them:" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:220 +#, no-c-format +msgid "hibernate-search.jar" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:224 +#, no-c-format +msgid "" +"hibernate-common-annotations.jar — needed for " +"hibernate search" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:230 +#, no-c-format +msgid "lucene-core.jar — needed for hibernate sea= rch" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:235 +#, no-c-format +msgid "antlr.jar — needed for Seam Text" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:239 +#, no-c-format +msgid "jbpm-jpdl.jar — needed for Seam's JBPM" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:243 +#, no-c-format +msgid "quartz.jar" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:247 +#, no-c-format +msgid "dbunit.jar — needed for some testing class= es" +msgstr "" + +#. Tag: simpara +#: Oc4j.xml:252 +#, no-c-format +msgid "" +"jboss-embedded-api.jar — needed for some testing= " +"classes" +msgstr "" + +#. Tag: para +#: Oc4j.xml:258 +#, no-c-format +msgid "" +"Drools — needed for Seam Security. We aren't using Seam security wi= th " +"Drools, but have to include it. Drools consists of 6 jars: = " +" drools-core.jar drools-compiler.jar janino.jar <= /" +"simpara> mvel141.jar = core.jar antlr-runtime.jar Drools integration is not= " +"used in the example." +msgstr "" + +#. Tag: title +#: Oc4j.xml:302 Oc4j.xml:500 +#, no-c-format +msgid "Configuration file changes" +msgstr "" + +#. Tag: para +#: Oc4j.xml:304 +#, no-c-format +msgid "There are just a few changes to be made:" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:307 +#, no-c-format +msgid "web.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:310 +#, no-c-format +msgid "" +"You need to declare all your ejb's in the web.xml . Th= is " +"is a silly requirement of a number of JEE5 application servers - for exam= ple " +"OC4J and Glassfish." +msgstr "" + +#. Tag: para +#: Oc4j.xml:314 +#, no-c-format +msgid "" +"This is already done in the example's web.xml file, below is an example." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:318 +#, no-c-format +msgid "" +"\n" +" \n" +" jboss-seam-jee5/AuthenticatorAction/local\n" +" \n" +" Session\n" +" \n" +" org.jboss.seam.example.booking.Authenticator\n" +" \n" +" AuthenticatorAction\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:322 +#, no-c-format +msgid "persistence.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:325 +#, no-c-format +msgid "" +"You need to provide the correct configuration for your JPA implementation= . " +"We are using Hibernate and due to OC4J bundling an old ANTLR, we need to = use " +"an alternative query factory, we also want to use the OC4J transaction " +"manager:" +msgstr "" + +#. Tag: para +#: Oc4j.xml:330 +#, no-c-format +msgid "" +"For our example modify the resources/META-INF/persistence.xml file. Comment out the Glassfish properties and un-comment the OC= 4J " +"properties." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:336 +#, no-c-format +msgid "" +"\n" +"\= n" +"]= ]>" +msgstr "" + +#. Tag: title +#: Oc4j.xml:344 +#, no-c-format +msgid "Building the jee5/booking example" +msgstr "" + +#. Tag: para +#: Oc4j.xml:349 +#, no-c-format +msgid "Modify the build.xml file in the example:" +msgstr "" + +#. Tag: para +#: Oc4j.xml:353 +#, no-c-format +msgid "" +"Un-comment the labeled OC4J-related library properties. This will include= " +"all the extra dependencies discussed above." +msgstr "" + +#. Tag: para +#: Oc4j.xml:356 +#, no-c-format +msgid "It should look like the following:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:359 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +" ]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:364 +#, no-c-format +msgid "" +"Build the demo app by running ant in the " +"examples/jee5/booking directory. The build target is " +"dist/jboss-seam-jee5.ear" +msgstr "" + +#. Tag: para +#: Oc4j.xml:370 +#, no-c-format +msgid "" +"Copy dist/jboss-seam-jee5.ear following the instructio= ns " +"below." +msgstr "" + +#. Tag: title +#: Oc4j.xml:378 +#, no-c-format +msgid "Deploying the Seam application to OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:379 +#, no-c-format +msgid "" +"This mini-tutorial describes the (fairly tedious) steps required to deplo= y a " +"JEE 5 application to OC4J. It assumes you have already downloaded and " +"installed it following the instructions in . It also assumes you are deploying the jee5/bookin= g example, using the embedded hsqldb database. To deploy another " +"application you would need to alter the datasource and application name." +msgstr "" + +#. Tag: para +#: Oc4j.xml:388 +#, no-c-format +msgid "" +"Copy hsqldb.jar to OC4J shared library directory: " +" cp ../../seam-gen/lib/hsqldb.jar $ORACLE_HOME/j2ee/home/applib/= (OC4J doesn't come with an embedded database so we decided to us= e " +"HSQLDB)" +msgstr "" + +#. Tag: para +#: Oc4j.xml:395 +#, no-c-format +msgid "" +"Edit the OC4J datasource file $ORACLE_HOME/j2ee/home/config/data= -" +"sources.xml and, inside <data-sources>= , " +"add" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:401 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:403 +#, no-c-format +msgid "" +"The jndi-name is used as the jta-data-source<= /" +"literal> in persistence.xml ." +msgstr "" + +#. Tag: para +#: Oc4j.xml:408 +#, no-c-format +msgid "" +"Edit $ORACLE_HOME/j2ee/home/config/server.xml and, ins= ide " +"<application-server> , add" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:414 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:415 +#, no-c-format +msgid "To keep things simple use the same names as you used for project." +msgstr "" + +#. Tag: para +#: Oc4j.xml:419 +#, no-c-format +msgid "" +"Edit $ORACLE_HOME/j2ee/home/config/default-web-site.xml , and, inside <web-site> , add" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:425 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:426 +#, no-c-format +msgid "" +"The root is the context path you will put into your we= b " +"browser to access the application." +msgstr "" + +#. Tag: para +#: Oc4j.xml:430 +#, no-c-format +msgid "" +"Copy the application to OC4J: cp dist/jboss-seam-jee5.ear " +"$ORACLE_HOME/j2ee/home/applications/ " +msgstr "" + +#. Tag: para +#: Oc4j.xml:435 +#, no-c-format +msgid "" +"Start/stop OC4J following instructions in above." +msgstr "" + +#. Tag: para +#: Oc4j.xml:439 +#, no-c-format +msgid "Checkout the app at: http://localhost:8888/seam-jee5" +msgstr "" + +#. Tag: title +#: Oc4j.xml:447 +#, no-c-format +msgid "" +"Deploying an application created using seam-gen to OC4= J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:450 +#, no-c-format +msgid "" +"seam-gen is a great tool for developers that can quick= ly " +"get you up and running with a full Seam application. However the project " +"that it created is configured to run on JBoss AS. This means there are so= me " +"extra steps needed to have it execute on OC4j. The following explanation " +"assumes you are using the command line and a simple text editor, but of " +"course you can use your favorite IDE. seam-gen project= s " +"come with support for Eclipse and Netbeans." +msgstr "" + +#. Tag: para +#: Oc4j.xml:459 +#, no-c-format +msgid "" +"We will start by creating and deploying a pretty simple application using= " +"seam-gen . Then we'll show you how easy it is to use " +"seam-gen and Hibernate Tools to reverse engineer a " +"database schema into a functional CRUD application. seam-gen will create JPA entity beans, Seam Application Framework compone= nts " +"and JSF views for you. We will also add Seam security using Drools." +msgstr "" + +#. Tag: para +#: Oc4j.xml:467 +#, no-c-format +msgid "" +"This tutorial uses MySQL (but of course you could use any database, alter= ing " +"the SQL and datasources as appropriate); install, configure and run MySQL= , " +"then create a database with some sample data. Don't forget to also downlo= ad " +"the mysql-connector-java-X.jar for jdbc support. When " +"setting up Seam security this tutorial will assume there is a table named= " +"User with columns username and " +"password with at least one entry. Beyond that you can = set " +"up any type of sample data and tables you would like." +msgstr "" + +#. Tag: title +#: Oc4j.xml:479 +#, no-c-format +msgid "Generating a basic seam-gen application" +msgstr "" + +#. Tag: para +#: Oc4j.xml:481 +#, no-c-format +msgid "" +"First we need to tell the seam-gen what we want, run " +"./seam setup in the seam distribution directory. Follo= w " +"the settings example below based on your system and setup (ex. use your " +"database name instead of oc4jexample )." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:488 +#, no-c-format +msgid "" +" ./seam setup\n" +"Buildfile: build.xml\n" +"\n" +"init:\n" +"\n" +"setup:\n" +" [echo] Welcome to seam-gen :-)\n" +" [input] Enter your Java project workspace (the directory that contain= s " +"your \n" +"Seam projects) [C:/Projects] [C:/Projects]\n" +"/home/jbalunas/workspace\n" +" [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2= ." +"GA] \n" +"[C:/Program Files/jboss-4.2.2.GA]\n" +"/home/jbalunas/jboss/jboss-4.2.2.GA\n" +" [input] Enter the project name [myproject] [myproject]\n" +"oc4j_example\n" +" [echo] Accepted project name as: oc4j_example\n" +" [input] Select a RichFaces skin (not applicable if using ICEFaces) " +"[blueSky]\n" +" ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAUL= T)\n" +"\n" +" [input] Is this project deployed as an EAR (with EJB components) or a= " +"WAR \n" +"(with no EJB support) [ear] ([ear], war, )\n" +"\n" +" [input] Enter the Java package name for your session beans [com." +"mydomain.\n" +"oc4j_example] [com.mydomain.oc4j_example]\n" +"org.jboss.seam.tutorial.oc4j.action\n" +" [input] Enter the Java package name for your entity beans [org.jboss." +"seam.\n" +"tutorial.oc4j.action] [org.jboss.seam.tutorial.oc4j.action]\n" +"org.jboss.seam.tutorial.oc4j.model\n" +" [input] Enter the Java package name for your test cases [org.jboss." +"seam.\n" +"tutorial.oc4j.action.test] [org.jboss.seam.tutorial.oc4j.action.test]\n" +"org.jboss.seam.tutorial.oc4j.test\n" +" [input] What kind of database are you using? [hsql] ([hsql], mysql, " +"oracle,\n" +" postgres, mssql, db2, sybase, enterprisedb, h2)\n" +"mysql\n" +" [input] Enter the Hibernate dialect for your database [org.hibernate.= \n" +"dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect]\n" +"\n" +" [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb." +"jar] \n" +"[lib/hsqldb.jar]\n" +"lib/mysql-connector.jar\n" +" [input] Enter JDBC driver class for your database [com.mysql.jdbc." +"Driver] \n" +"[com.mysql.jdbc.Driver]\n" +"\n" +" [input] Enter the JDBC URL for your database [jdbc:mysql:///test] \n" +"[jdbc:mysql:///test]\n" +"jdbc:mysql:///oc4jexample\n" +" [input] Enter database username [sa] [sa]\n" +"username\n" +" [input] Enter database password [] []\n" +"password\n" +" [input] skipping input as property hibernate.default_schema.new has " +"already \n" +"been set.\n" +" [input] Enter the database catalog name (it is OK to leave this blank= ) " +"[] []\n" +"\n" +" [input] Are you working with tables that already exist in the databas= e? " +"[n] \n" +" (y, [n], )\n" +"y\n" +" [input] Do you want to drop and recreate the database tables and data= " +"in \n" +"import.sql each time you deploy? [n] (y, [n], )\n" +"n\n" +" [input] Enter your ICEfaces home directory (leave blank to omit " +"ICEfaces) [] []\n" +"\n" +"[propertyfile] Creating new property file: \n" +"/home/jbalunas/workspace/jboss-seam/seam-gen/build.properties\n" +" [echo] Installing JDBC driver jar to JBoss server\n" +" [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/" +"default/lib\n" +" [echo] Type 'seam create-project' to create the new project\n" +"\n" +"BUILD SUCCESSFUL]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:490 +#, no-c-format +msgid "" +"Type ./seam new-project to create your project and " +"cd /home/jbalunas/workspace/oc4j_example to the newly " +"created project." +msgstr "" + +#. Tag: title +#: Oc4j.xml:497 +#, no-c-format +msgid "Changes needed for deployment to OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:498 +#, no-c-format +msgid "We now need to make some changes to the generated project." +msgstr "" + +#. Tag: para +#: Oc4j.xml:501 +#, no-c-format +msgid "Let's start with the configuration files:" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:504 +#, no-c-format +msgid "build.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:509 +#, no-c-format +msgid "" +"Change the default target to archive (we aren't going to cover automatic " +"deployment to OC4J)." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:513 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:516 +#, no-c-format +msgid "" +"OC4J looks for the drools file /security.drl file in t= he " +"root of the war file instead of the root of the " +"ear file so we need to have the build.xml move it to the correct location at build time. The following mus= t " +"be added at the top of the <target name=3D\"war\" depends=3D" +"\"compile\" description=3D\"Build the distribution .war file\"> " +"target." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:530 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" ]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:537 +#, no-c-format +msgid "resources/META-INF/persistence-dev.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:542 +#, no-c-format +msgid "" +"Alter the jta-data-source to be jdbc/" +"__oc4jexample (and use this as the jndi-name= " +"when creating the data source in data-sources.xml late= r " +"during deployment)." +msgstr "" + +#. Tag: para +#: Oc4j.xml:552 +#, no-c-format +msgid "" +"Add the properties (described in jee5/booking example)= :" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:557 +#, no-c-format +msgid "" +"= \n" +"= \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:560 +#, no-c-format +msgid "" +"Remove the JBoss AS specific method of exposing the EntityManagerFactory:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:564 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:567 +#, no-c-format +msgid "" +"You'll need to alter persistence-prod.xml as well if y= ou " +"want to deploy to OC4J using the prod profile." +msgstr "" + +#. Tag: literal +#: Oc4j.xml:577 +#, no-c-format +msgid "resources/META-INF/jboss-app.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:580 +#, no-c-format +msgid "" +"You can delete this file as we aren't deploying to JBoss AS ( jb= oss-" +"app.xml is used to enable classloading isolation in JBoss AS)" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:586 +#, no-c-format +msgid "resources/*-ds.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:589 +#, no-c-format +msgid "" +"You can delete these file as we aren't deploying to JBoss AS (these files= " +"define datasources in JBoss AS, in OC4J you have to edit the master " +"data-sources.xml file)" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:598 +#, no-c-format +msgid "resources/WEB-INF/components.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:603 +#, no-c-format +msgid "" +"Enable container managed transaction integration - add the <" +"transaction:ejb-transaction /> component, and it's namespac= e " +"declaration xmlns:transaction=3D\"http://jboss.com/products/sea= m/" +"transaction\" " +msgstr "" + +#. Tag: para +#: Oc4j.xml:612 +#, no-c-format +msgid "" +"Alter the jndi-pattern to java:comp/env/" +"oc4j_example/#{ejbName}/local " +msgstr "" + +#. Tag: para +#: Oc4j.xml:619 +#, no-c-format +msgid "" +"We want to use a Seam Managed Persistence Context in our application. " +"Unfortunately OC4J doesn't expose the EntityManagerFactory in JNDI, but S= eam " +"provides a built-in manager component. To activate add the following entr= y:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:627 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:628 +#, no-c-format +msgid "" +"We then need to tell Seam to use it, so we alter the managed-" +"persistence-context injecting the Entity Manager Factory into t= he " +"existing element:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:635 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:641 +#, no-c-format +msgid "resources/WEB-INF/web.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:644 +#, no-c-format +msgid "" +"You must add the Seam container managed transaction integration EJB entry= " +"below. Remember for OC4j you need to declare all your EJBs here if you " +"modify the application further." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:650 +#, no-c-format +msgid "" +"\n" +" \n" +" oc4j_example/EjbSynchronizations/local\n" +" \n" +" Session\n" +" \n" +" org.jboss.seam.transaction.LocalEjbSynchronizations\n" +" \n" +" EjbSynchronizations\n" +"]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:655 +#, no-c-format +msgid "resources/META-INF/orion-application.xml" +msgstr "" + +#. Tag: para +#: Oc4j.xml:660 +#, no-c-format +msgid "" +"This is a file that you must create so that RichFaces and Ajax4Jsf " +"stylesheets will work with OC4J. This file basically tells OC4J not force= " +"its own inherited URL settings." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:666 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:669 +#, no-c-format +msgid "" +"Now you need to tell the build.xml file that it needs = to " +"copy this file to the ear archive. Find the = <" +"target name=3D\"ear\" description=3D\"Build the EAR\"> targ= et and " +"modify the <copy todir=3D\"${ear.dir}/META-INF\"> " +"section to look like the following:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:681 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" ]]>" +msgstr "" + +#. Tag: title +#: Oc4j.xml:689 +#, no-c-format +msgid "Extra jar dependencies" +msgstr "" + +#. Tag: para +#: Oc4j.xml:690 +#, no-c-format +msgid "" +"This application has similar requirements as the jee5/booking example above." +msgstr "" + +#. Tag: para +#: Oc4j.xml:692 +#, no-c-format +msgid "" +"The build.xml must be modified to add the jars listed " +"below to the generated archive files. Look for the <fileset d= ir=3D" +"\"${basedir}\"> section below and add the imports underneath= " +"the other libraries being imported." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:699 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:702 +#, no-c-format +msgid "Hibernate:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:705 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:708 +#, no-c-format +msgid "" +"Drools — because we are using Drools to provide Seam Security rules= , " +"we need to add in Eclipse JDT compiler (you don't need this on JBoss AS; " +"again this is due to OC4J's classloading):" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:714 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:717 +#, no-c-format +msgid "" +"Third party jars — most of these are only needed because of OC4J's " +"classloading:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:721 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +" \n" +"\n" +"\n" +"\n" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:725 +#, no-c-format +msgid "You should end up with something like:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:728 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Oc4j.xml:733 +#, no-c-format +msgid "Building and deploying the seam-gen'd application to OC4J" +msgstr "" + +#. Tag: para +#: Oc4j.xml:735 +#, no-c-format +msgid "" +"These instructions are very similar to the ones in but with the correct references for the oc4j_example<= /" +"literal> application." +msgstr "" + +#. Tag: para +#: Oc4j.xml:741 +#, no-c-format +msgid "" +"Build your application by calling ant in the base " +"directory of your project (ex. /home/jbalunas/workspace/" +"oc4j_example ). The target of the build will be dist/" +"oc4j_example.ear ." +msgstr "" + +#. Tag: para +#: Oc4j.xml:749 +#, no-c-format +msgid "" +"Copy the mysql-connector.jar file to the " +"$ORACLE_HOME/j2ee/home/applib directory so that jdbc drivers ar= e " +"available." +msgstr "" + +#. Tag: literal +#: Oc4j.xml:756 +#, no-c-format +msgid "$ORACLE_HOME/j2ee/home/config/data-sources.xml" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:761 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:765 +#, no-c-format +msgid "$ORACLE_HOME/j2ee/home/config/server.xml" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:769 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: literal +#: Oc4j.xml:772 +#, no-c-format +msgid "$ORACLE_HOME/j2ee/home/config/default-web-site.xml" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:777 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:781 +#, no-c-format +msgid "" +"Start/stop OC4J following instructions in the Installation and " +"operation of OC4J section above." +msgstr "" + +#. Tag: para +#: Oc4j.xml:786 +#, no-c-format +msgid "" +"Checkout the app at: http://localhost:8888/oc4j_example" +msgstr "" + +#. Tag: title +#: Oc4j.xml:795 +#, no-c-format +msgid "Extending example with reverse engineered CRUD and Drools" +msgstr "" + +#. Tag: para +#: Oc4j.xml:797 +#, no-c-format +msgid "" +"In this section we extend the basic seam-gen applicati= on " +"into a full blown CRUD application based on an existing database. Plus we= " +"will add Drools based security as well." +msgstr "" + +#. Tag: title +#: Oc4j.xml:802 +#, no-c-format +msgid "Have seam-gen generate your CRUD applications" +msgstr "" + +#. Tag: para +#: Oc4j.xml:804 +#, no-c-format +msgid "" +"Type ./seam generate-entities in the base directory of= " +"your seam distribution. This will create the entities, the Seam Applicati= on " +"Framework classes and the relevant views for the CRUD application." +msgstr "" + +#. Tag: para +#: Oc4j.xml:809 +#, no-c-format +msgid "" +"That's it...no really...that's it. Build and deploy as before and see for= " +"yourself." +msgstr "" + +#. Tag: title +#: Oc4j.xml:814 +#, no-c-format +msgid "Hook up drools authentication using your new CRUD application" +msgstr "" + +#. Tag: para +#: Oc4j.xml:816 +#, no-c-format +msgid "" +"As stated above this section assumes your database had a User table with username and password columns with at least one entry. If you don't have this you may " +"need to modify the authenticate method below." +msgstr "" + +#. Tag: para +#: Oc4j.xml:822 +#, no-c-format +msgid "" +"Lets link our User entity into Seam Security by making= " +"our authenticator class a Stateless Session Bean (OC4J is a EJB3 containe= r " +"after all!):" +msgstr "" + +#. Tag: para +#: Oc4j.xml:830 +#, no-c-format +msgid "" +"Add the @Stateless annotation to the " +"Authenticator class." +msgstr "" + +#. Tag: para +#: Oc4j.xml:836 +#, no-c-format +msgid "Rename the class to AuthenticatorAction" +msgstr "" + +#. Tag: para +#: Oc4j.xml:841 +#, no-c-format +msgid "" +"Create an interface called Authenticator which " +"AuthenticatorAction implements (EJB3 requires session " +"beans to have a local interface). Annotate the interface with " +"@Local , and add a single method with same signature a= s " +"the authenticate in AuthenticatorAction ." +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:855 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:858 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Oc4j.xml:861 +#, no-c-format +msgid "" +"Use @PersistenceContext to inject an EntityManager by " +"adding this line the AuthenticatorAction class:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:867 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: Oc4j.xml:870 +#, no-c-format +msgid "Implement authenticate:" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:873 +#, no-c-format +msgid "" +" users =3D entityManager .createQuery(\"select u from User = u " +"where \n" +" u.username =3D #{identity.username} and \n" +" u.password =3D #{identity.password}\") .getResultList();\n" +" if (users.size() =3D=3D 1) {\n" +" identity.addRole(\"admin\"); \n" +" return true; \n" +" } else {\n" +" return false; \n" +" } \n" +"}]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:876 +#, no-c-format +msgid "And then add the EJB3 reference to web.xml :" +msgstr "" + +#. Tag: programlisting +#: Oc4j.xml:880 +#, no-c-format +msgid "" +"\n" +" \n" +" oc4j_example/AuthenticatorAction/local\n" +" \n" +" Session\n" +" \n" +" org.jboss.seam.tutorial.oc4j.action.Authenticator\n" +" \n" +" AuthenticatorAction\n" +"]]>" +msgstr "" + +#. Tag: para +#: Oc4j.xml:884 +#, no-c-format +msgid "" +"Build and deploy as before and notice that now only actual username and " +"passwords are accepted." +msgstr "" + +#. Tag: title +#: Oc4j.xml:892 +#, no-c-format +msgid "Finishing up" +msgstr "" + +#. Tag: para +#: Oc4j.xml:893 +#, no-c-format +msgid "" +"That's it, we're through. You now have a great starting point for any Sea= m " +"based application deployed to OC4J." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Persistence.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Persistence.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Persistence.po 2008-04= -21 00:41:49 UTC (rev 7985) @@ -0,0 +1,931 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Persistence.xml:2 +#, no-c-format +msgid "Seam and Object/Relational Mapping" +msgstr "" + +#. Tag: para +#: Persistence.xml:4 +#, no-c-format +msgid "" +"Seam provides extensive support for the two most popular persistence " +"architectures for Java: Hibernate3, and the Java Persistence API introduc= ed " +"with EJB 3.0. Seam's unique state-management architecture allows the most= " +"sophisticated ORM integration of any web application framework." +msgstr "" + +#. Tag: title +#: Persistence.xml:13 +#, no-c-format +msgid "Introduction" +msgstr "" + +#. Tag: para +#: Persistence.xml:15 +#, no-c-format +msgid "" +"Seam grew out of the frustration of the Hibernate team with the " +"statelessness typical of the previous generation of Java application " +"architectures. The state management architecture of Seam was originally " +"designed to solve problems relating to persistence—in particular " +"problems associated with optimistic transaction processing. Scalable online applications always use optimistic transaction= s. " +"An atomic (database/JTA) level transaction should not span a user " +"interaction unless the application is designed to support only a very sma= ll " +"number of concurrent clients. But almost all interesting work involves fi= rst " +"displaying data to a user, and then, slightly later, updating the same da= ta. " +"So Hibernate was designed to support the idea of a persistence context wh= ich " +"spanned an optimistic transaction." +msgstr "" + +#. Tag: para +#: Persistence.xml:30 +#, no-c-format +msgid "" +"Unfortunately, the so-called \"stateless\" architectures that preceded Se= am " +"and EJB 3.0 had no construct for representing an optimistic transaction. = So, " +"instead, these architectures provided persistence contexts scoped to the " +"atomic transaction. Of course, this resulted in many problems for users, = and " +"is the cause of the number one user complaint about Hibernate: the dreade= d " +"LazyInitializationException. What we need is a constru= ct " +"for representing an optimistic transaction in the application tier." +msgstr "" + +#. Tag: para +#: Persistence.xml:40 +#, no-c-format +msgid "" +"EJB 3.0 recognizes this problem, and introduces the idea of a stateful " +"component (a stateful session bean) with an extended persistenc= e " +"context scoped to the lifetime of the component. This is a " +"partial solution to the problem (and is a useful construct in and of itse= lf) " +"however there are two problems:" +msgstr "" + +#. Tag: para +#: Persistence.xml:50 +#, no-c-format +msgid "" +"The lifecycle of the stateful session bean must be managed manually via c= ode " +"in the web tier (it turns out that this is a subtle problem and much more= " +"difficult in practice than it sounds)." +msgstr "" + +#. Tag: para +#: Persistence.xml:57 +#, no-c-format +msgid "" +"Propagation of the persistence context between stateful components in the= " +"same optimistic transaction is possible, but tricky." +msgstr "" + +#. Tag: para +#: Persistence.xml:64 +#, no-c-format +msgid "" +"Seam solves the first problem by providing conversations, and stateful " +"session bean components scoped to the conversation. (Most conversations " +"actually represent optimistic transactions in the data layer.) This is " +"sufficient for many simple applications (such as the Seam booking demo) " +"where persistence context propagation is not needed. For more complex " +"applications, with many loosly-interacting components in each conversatio= n, " +"propagation of the persistence context across components becomes an " +"important issue. So Seam extends the persistence context management model= of " +"EJB 3.0, to provide conversation-scoped extended persistence contexts." +msgstr "" + +#. Tag: title +#: Persistence.xml:80 +#, no-c-format +msgid "Seam managed transactions" +msgstr "" + +#. Tag: para +#: Persistence.xml:81 +#, no-c-format +msgid "" +"EJB session beans feature declarative transaction management. The EJB " +"container is able to start a transaction transparently when the bean is " +"invoked, and end it when the invocation ends. If we write a session bean " +"method that acts as a JSF action listener, we can do all the work associa= ted " +"with that action in one transaction, and be sure that it is committed or " +"rolled back when we finish processing the action. This is a great feature= , " +"and all that is needed by some Seam applications." +msgstr "" + +#. Tag: para +#: Persistence.xml:90 +#, no-c-format +msgid "" +"However, there is a problem with this approach. A Seam application may no= t " +"perform all data access for a request from a single method call to a sess= ion " +"bean." +msgstr "" + +#. Tag: para +#: Persistence.xml:97 +#, no-c-format +msgid "" +"The request might require processing by several loosly-coupled components= , " +"each of which is called independently from the web layer. It is common to= " +"see several or even many calls per request from the web layer to EJB " +"components in Seam." +msgstr "" + +#. Tag: para +#: Persistence.xml:104 +#, no-c-format +msgid "Rendering of the view might require lazy fetching of associations." +msgstr "" + +#. Tag: para +#: Persistence.xml:110 +#, no-c-format +msgid "" +"The more transactions per request, the more likely we are to encounter " +"atomicity and isolation problems when our application is processing many " +"concurrent requests. Certainly, all write operations should occur in the " +"same transaction!" +msgstr "" + +#. Tag: para +#: Persistence.xml:116 +#, no-c-format +msgid "" +"Hibernate users developed the \"open session in view\" " +"pattern to work around this problem. In the Hibernate community, \"open " +"session in view\" was historically even more important because frameworks= " +"like Spring use transaction-scoped persistence contexts. So rendering the= " +"view would cause LazyInitializationExceptions when " +"unfetched associations were accessed." +msgstr "" + +#. Tag: para +#: Persistence.xml:124 +#, no-c-format +msgid "" +"This pattern is usually implemented as a single transaction which spans t= he " +"entire request. There are several problems with this implementation, the " +"most serious being that we can never be sure that a transaction is " +"successful until we commit it—but by the time the \"open session in= " +"view\" transaction is committed, the view is fully rendered, and the " +"rendered response may already have been flushed to the client. How can we= " +"notify the user that their transaction was unsuccessful?" +msgstr "" + +#. Tag: para +#: Persistence.xml:133 +#, no-c-format +msgid "" +"Seam solves both the transaction isolation problem and the association " +"fetching problem, while working around the problems with \"open session i= n " +"view\". The solution comes in two parts:" +msgstr "" + +#. Tag: para +#: Persistence.xml:141 +#, no-c-format +msgid "" +"use an extended persistence context that is scoped to the conversation, " +"instead of to the transaction" +msgstr "" + +#. Tag: para +#: Persistence.xml:147 +#, no-c-format +msgid "" +"use two transactions per request; the first spans the beginning of the " +"restore view phase (some transaction managers begin the transaction later= at " +"the beginning of the apply request vaues phase) until the end of the invo= ke " +"application phase; the second spans the render response phase" +msgstr "" + +#. Tag: para +#: Persistence.xml:156 +#, no-c-format +msgid "" +"In the next section, we'll tell you how to set up a conversation-scope " +"persistence context. But first we need to tell you how to enable Seam " +"transaction management. Note that you can use conversation-scoped " +"persistence contexts without Seam transaction management, and there are g= ood " +"reasons to use Seam transaction management even when you're not using Sea= m-" +"managed persistence contexts. However, the two facilities were designed t= o " +"work together, and work best when used together." +msgstr "" + +#. Tag: para +#: Persistence.xml:165 +#, no-c-format +msgid "" +"Seam transaction management is useful even if you're using EJB 3.0 contai= ner-" +"managed persistence contexts. But it is especially useful if you use Seam= " +"outside a Java EE 5 environment, or in any other case where you would use= a " +"Seam-managed persistence context." +msgstr "" + +#. Tag: title +#: Persistence.xml:173 +#, no-c-format +msgid "Disabling Seam-managed transactions" +msgstr "" + +#. Tag: para +#: Persistence.xml:175 +#, no-c-format +msgid "" +"Seam transaction management is enabled by default for all JSF requests. I= f " +"you want to disable this feature, you can do it in " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:181 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Persistence.xml:186 +#, no-c-format +msgid "Configuring a Seam transaction manager" +msgstr "" + +#. Tag: para +#: Persistence.xml:188 +#, no-c-format +msgid "" +"Seam provides a transaction management abstraction for beginning, " +"committing, rolling back, and synchronizing with a transaction. By defaul= t " +"Seam uses a JTA transaction component that integrates with Container Mana= ged " +"and programmatic EJB transactions. If you are working in a Java EE 5 " +"environment, you should install the EJB synchronization component in " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:195 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:197 +#, no-c-format +msgid "" +"However, if you are working in a non EE 5 container, Seam will try auto " +"detect the transaction synchronization mechanism to use. However, if Seam= is " +"unable to detect the correct transaction synchronization to use, you may " +"find you need configure one of the following:" +msgstr "" + +#. Tag: para +#: Persistence.xml:204 +#, no-c-format +msgid "" +"JPA RESOURCE_LOCAL transactions with the javax.persistence." +"EntityTransaction interface. EntityTransaction " +"begins the transaction at the beginning of the apply request values phase= ." +msgstr "" + +#. Tag: para +#: Persistence.xml:212 +#, no-c-format +msgid "" +"Hibernate managed transactions with the org.hibernate.Transactio= n interface. HibernateTransaction begins the " +"transaction at the beginning of the apply request values phase." +msgstr "" + +#. Tag: para +#: Persistence.xml:220 +#, no-c-format +msgid "" +"Spring managed transactions with the org.springframework." +"transaction.PlatformTransactionManager interface. The Spring " +"PlatformTransactionManagement manager may begin the " +"transaction at the beginning of the apply request values phase if the " +"userConversationContext attribute is set." +msgstr "" + +#. Tag: para +#: Persistence.xml:229 +#, no-c-format +msgid "Explicitly disable Seam managed transactions" +msgstr "" + +#. Tag: para +#: Persistence.xml:234 +#, no-c-format +msgid "" +"Configure JPA RESOURCE_LOCAL transaction management by adding the followi= ng " +"to your components.xml where #{em} is the name of the " +"persistence:managed-persistence-context component. If " +"your managed persistence context is named entityManager, " +"you can opt to leave out the entity-manager attribute.= " +"(see Se= am-" +"managed persistence contexts )" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:244 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:245 +#, no-c-format +msgid "" +"To configure Hibernate managed transactions declare the following in your= " +"components.xml where #{hibernateSession} is the name o= f " +"the project's persistence:managed-hibernate-session " +"component. If your managed hibernate session is named session, you can opt to leave out the session attribu= te. " +"(see Se= am-" +"managed persistence contexts )" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:255 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:256 +#, no-c-format +msgid "" +"To explicitly disable Seam managed transactions declare the following in " +"your components.xml:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:259 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:260 +#, no-c-format +msgid "" +"For configuring Spring managed transactions see using Spring PlatformTransactionManagement ." +msgstr "" + +#. Tag: title +#: Persistence.xml:267 +#, no-c-format +msgid "Transaction synchronization" +msgstr "" + +#. Tag: para +#: Persistence.xml:269 +#, no-c-format +msgid "" +"Transaction synchronization provides callbacks for transaction related " +"events such as beforeCompletion() and " +"afterCompletion(). By default, Seam uses it's own " +"transaction synchronization component which requires explicit use of the " +"Seam transaction component when committing a transaction to ensure " +"synchronization callbacks are correctly executed. If in a Java EE 5 " +"environment the <transaction:ejb-transaction/> " +"component should be be declared in components.xml to " +"ensure that Seam synchronization callbacks are correctly called if the " +"container commits a transaction outside of Seam's knowledge." +msgstr "" + +#. Tag: title +#: Persistence.xml:283 +#, no-c-format +msgid "Seam-managed persistence contexts" +msgstr "" + +#. Tag: para +#: Persistence.xml:285 +#, no-c-format +msgid "" +"If you're using Seam outside of a Java EE 5 environment, you can't rely u= pon " +"the container to manage the persistence context lifecycle for you. Even i= f " +"you are in an EE 5 environment, you might have a complex application with= " +"many loosly coupled components that collaborate together in the scope of = a " +"single conversation, and in this case you might find that propagation of = the " +"persistence context between component is tricky and error-prone." +msgstr "" + +#. Tag: para +#: Persistence.xml:294 +#, no-c-format +msgid "" +"In either case, you'll need to use a managed persistence contex= t (for JPA) or a managed session (for " +"Hibernate) in your components. A Seam-managed persistence context is just= a " +"built-in Seam component that manages an instance of EntityManage= r or Session in the conversation context. You c= an " +"inject it with @In." +msgstr "" + +#. Tag: para +#: Persistence.xml:302 +#, no-c-format +msgid "" +"Seam-managed persistence contexts are extremely efficient in a clustered " +"environment. Seam is able to perform an optimization that EJB 3.0 " +"specification does not allow containers to use for container-managed " +"extended persistence contexts. Seam supports transparent failover of " +"extended persisence contexts, without the need to replicate any persisten= ce " +"context state between nodes. (We hope to fix this oversight in the next " +"revision of the EJB spec.)" +msgstr "" + +#. Tag: title +#: Persistence.xml:312 +#, no-c-format +msgid "Using a Seam-managed persistence context with JPA" +msgstr "" + +#. Tag: para +#: Persistence.xml:314 +#, no-c-format +msgid "" +"Configuring a managed persistence context is easy. In components= ." +"xml, we can write:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:319 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:321 +#, no-c-format +msgid "" +"This configuration creates a conversation-scoped Seam component named " +"bookingDatabase that manages the lifecycle of " +"EntityManager instances for the persistence unit " +"(EntityManagerFactory instance) with JNDI name " +"java:/EntityManagerFactories/bookingData." +msgstr "" + +#. Tag: para +#: Persistence.xml:328 +#, no-c-format +msgid "" +"Of course, you need to make sure that you have bound the " +"EntityManagerFactory into JNDI. In JBoss, you can do t= his " +"by adding the following property setting to persistence.xml." +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:334 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:336 +#, no-c-format +msgid "Now we can have our EntityManager injected using= :" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:340 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: Persistence.xml:342 +#, no-c-format +msgid "" +"If you are using EJB3 and mark your class or method " +"@TransactionAttribute(REQUIRES_NEW) then the transacti= on " +"and persistence context shouldn't be propagated to method calls on this " +"object. However as the Seam-managed persistence context is propagated to = any " +"component within the conversation, it will be propagated to methods marke= d " +"REQUIRES_NEW. Therefore, if you mark a method " +"REQUIRES_NEW then you should access the entity manager= " +"using @PersistenceContext." +msgstr "" + +#. Tag: title +#: Persistence.xml:356 +#, no-c-format +msgid "Using a Seam-managed Hibernate session" +msgstr "" + +#. Tag: para +#: Persistence.xml:358 +#, no-c-format +msgid "" +"Seam-managed Hibernate sessions are similar. In components.xml:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:362 +#, no-c-format +msgid "" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:364 +#, no-c-format +msgid "" +"Where java:/bookingSessionFactory is the name of the " +"session factory specified in hibernate.cfg.xml." +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:369 +#, no-c-format +msgid "" +"\n" +" true\n" +" after_statement\n" +" org.hibernate." +"transaction.JBossTransactionManagerLookup\n" +" org.hibernate.transact= ion." +"JTATransactionFactory\n" +" java:/bookingDatasource\n" +" ...\n" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:371 +#, no-c-format +msgid "" +"Note that Seam does not flush the session, so you should always enable " +"hibernate.transaction.flush_before_completion to ensur= e " +"that the session is automatically flushed before the JTA transaction comm= its." +msgstr "" + +#. Tag: para +#: Persistence.xml:378 +#, no-c-format +msgid "" +"We can now have a managed Hibernate Session injected i= nto " +"our JavaBean components using the following code:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:383 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: title +#: Persistence.xml:388 +#, no-c-format +msgid "Seam-managed persistence contexts and atomic conversations" +msgstr "" + +#. Tag: para +#: Persistence.xml:389 +#, no-c-format +msgid "" +"Persistence contexts scoped to the conversation allows you to program " +"optimistic transactions that span multiple requests to the server without= " +"the need to use the merge() operation , without the ne= ed " +"to re-load data at the beginning of each request, and without the need to= " +"wrestle with the LazyInitializationException or " +"NonUniqueObjectException." +msgstr "" + +#. Tag: para +#: Persistence.xml:398 +#, no-c-format +msgid "" +"As with any optimistic transaction management, transaction isolation and " +"consistency can be achieved via use of optimistic locking. Fortunately, b= oth " +"Hibernate and EJB 3.0 make it very easy to use optimistic locking, by " +"providing the @Version annotation." +msgstr "" + +#. Tag: para +#: Persistence.xml:405 +#, no-c-format +msgid "" +"By default, the persistence context is flushed (synchronized with the " +"database) at the end of each transaction. This is sometimes the desired " +"behavior. But very often, we would prefer that all changes are held in " +"memory and only written to the database when the conversation ends " +"successfully. This allows for truly atomic conversations. As the result o= f a " +"truly stupid and shortsighted decision by certain non-JBoss, non-Sun and = non-" +"Sybase members of the EJB 3.0 expert group, there is currently no simple,= " +"usable and portable way to implement atomic conversations using EJB 3.0 " +"persistence. However, Hibernate provides this feature as a vendor extensi= on " +"to the FlushModeTypes defined by the specification, an= d " +"it is our expectation that other vendors will soon provide a similar " +"extension." +msgstr "" + +#. Tag: para +#: Persistence.xml:419 +#, no-c-format +msgid "" +"Seam lets you specify FlushModeType.MANUAL when beginn= ing " +"a conversation. Currently, this works only when Hibernate is the underlyi= ng " +"persistence provider, but we plan to support other equivalent vendor " +"extensions." +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:425 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:427 +#, no-c-format +msgid "" +"Now, the claim object remains managed by the persisten= ce " +"context for the rest ot the conversation. We can make changes to the clai= m:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:432 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:434 +#, no-c-format +msgid "" +"But these changes will not be flushed to the database until we explicitly= " +"force the flush to occur:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:439 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:441 +#, no-c-format +msgid "" +"Of course, you could set the flushMode to " +"MANUAL from pages.xml, for example in a navigation rul= e:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:446 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: title +#: Persistence.xml:453 +#, no-c-format +msgid "Using the JPA \"delegate\"" +msgstr "" + +#. Tag: para +#: Persistence.xml:455 +#, no-c-format +msgid "" +"The EntityManager interface lets you access a vendor-" +"specific API via the getDelegate() method. Naturally, = the " +"most interesting vendor is Hibernate, and the most powerful delegate " +"interface is org.hibernate.Session. You'd be nuts to u= se " +"anything else. Trust me, I'm not biased at all. If you must use a differe= nt " +"JPA provider see Using Alternate JP= A " +"Providers." +msgstr "" + +#. Tag: para +#: Persistence.xml:464 +#, no-c-format +msgid "" +"But regardless of whether you're using Hibernate (genius!) or something e= lse " +"(masochist, or just not very bright), you'll almost certainly want to use= " +"the delegate in your Seam components from time to time. One approach woul= d " +"be the following:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:471 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:473 +#, no-c-format +msgid "" +"But typecasts are unquestionably the ugliest syntax in the Java language,= so " +"most people avoid them whenever possible. Here's a different way to get a= t " +"the delegate. First, add the following line to components.xml:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:479 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Persistence.xml:481 +#, no-c-format +msgid "Now we can inject the session directly:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:485 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Persistence.xml:490 +#, no-c-format +msgid "Using EL in EJB-QL/HQL" +msgstr "" + +#. Tag: para +#: Persistence.xml:491 +#, no-c-format +msgid "" +"Seam proxies the EntityManager or Session object whenever you use a Seam-managed persistence context or " +"inject a container managed persistence context using " +"@PersistenceContext. This lets you use EL expressions = in " +"your query strings, safely and efficiently. For example, this:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:499 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:501 +#, no-c-format +msgid "is equivalent to:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:503 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:505 +#, no-c-format +msgid "Of course, you should never, ever write it like this:" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:509 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Persistence.xml:511 +#, no-c-format +msgid "(It is inefficient and vulnerable to SQL injection attacks.)" +msgstr "" + +#. Tag: title +#: Persistence.xml:518 +#, no-c-format +msgid "Using Hibernate filters" +msgstr "" + +#. Tag: para +#: Persistence.xml:520 +#, no-c-format +msgid "" +"The coolest, and most unique, feature of Hibernate is filters. Filters let you provide a restricted view of the data in the " +"database. You can find out more about filters in the Hibernate " +"documentation. But we thought we'd mention an easy way to incorporate " +"filters into a Seam application, one that works especially well with the " +"Seam Application Framework." +msgstr "" + +#. Tag: para +#: Persistence.xml:528 +#, no-c-format +msgid "" +"Seam-managed persistence contexts may have a list of filters defined, whi= ch " +"will be enabled whenever an EntityManager or Hibernate= " +"Session is first created. (Of course, they may only be= " +"used when Hibernate is the underlying persistence provider.)" +msgstr "" + +#. Tag: programlisting +#: Persistence.xml:535 +#, no-c-format +msgid "" +"\n" +" region\n" +" \n" +" regionCode\n" +" #{region.code}\n" +" \n" +"\n" +"\n" +"\n" +" current\n" +" \n" +" date\n" +" #{currentDate}\n" +" \n" +"\n" +"\n" +"\n" +" \n" +" #{regionFilter}\n" +" #{currentFilter}\n" +" \n" +"]]>" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Preface.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Preface.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Preface.po 2008-04-21 = 00:41:49 UTC (rev 7985) @@ -0,0 +1,430 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Preface.xml:7 +#, no-c-format +msgid "Introduction to JBoss Seam" +msgstr "" + +#. Tag: para +#: Preface.xml:9 +#, no-c-format +msgid "" +"Seam is an application framework for Enterprise Java. It is inspired by t= he " +"following principles:" +msgstr "" + +#. Tag: emphasis +#: Preface.xml:16 +#, no-c-format +msgid "One kind of \"stuff\"" +msgstr "" + +#. Tag: para +#: Preface.xml:18 +#, no-c-format +msgid "" +"Seam defines a uniform component model for all business logic in your " +"application. A Seam component may be stateful, with the state associated " +"with any one of several well-defined contexts, including the long-running= , " +"persistent, business process context and the " +"conversation context, which is preserved across " +"multiple web requests in a user interaction." +msgstr "" + +#. Tag: para +#: Preface.xml:25 +#, no-c-format +msgid "" +"There is no distinction between presentation tier components and business= " +"logic components in Seam. You can layer your application according to " +"whatever architecture you devise, rather than being forced to shoehorn yo= ur " +"application logic into an unnatural layering scheme forced upon you by " +"whatever combination of stovepipe frameworks you're using today." +msgstr "" + +#. Tag: para +#: Preface.xml:32 +#, no-c-format +msgid "" +"Unlike plain Java EE or J2EE components, Seam components may " +"simultaneously access state associated with the web " +"request and state held in transactional resources (without the need to " +"propagate web request state manually via method parameters). You might " +"object that the application layering imposed upon you by the old J2EE " +"platform was a Good Thing. Well, nothing stops you creating an equivalent= " +"layered architecture using Seam—the difference is that yo= u get to architect your own application and decide what the layer= s " +"are and how they work together." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:45 +#, no-c-format +msgid "Integrate JSF with EJB 3.0" +msgstr "" + +#. Tag: para +#: Preface.xml:47 +#, no-c-format +msgid "" +"JSF and EJB 3.0 are two of the best new features of Java EE 5. EJB3 is a " +"brand new component model for server side business and persistence logic.= " +"Meanwhile, JSF is a great component model for the presentation tier. " +"Unfortunately, neither component model is able to solve all problems in " +"computing by itself. Indeed, JSF and EJB3 work best used together. But th= e " +"Java EE 5 specification provides no standard way to integrate the two " +"component models. Fortunately, the creators of both models foresaw this " +"situation and provided standard extension points to allow extension and " +"integration with other frameworks." +msgstr "" + +#. Tag: para +#: Preface.xml:57 +#, no-c-format +msgid "" +"Seam unifies the component models of JSF and EJB3, eliminating glue code,= " +"and letting the developer think about the business problem." +msgstr "" + +#. Tag: para +#: Preface.xml:61 +#, no-c-format +msgid "" +"It is possible to write Seam applications where \"everything\" is an EJB.= " +"This may come as a surprise if you're used to thinking of EJBs as coarse-" +"grained, so-called \"heavyweight\" objects. However, version 3.0 has " +"completely changed the nature of EJB from the point of view of the " +"developer. An EJB is a fine-grained object—nothing more complex tha= n " +"an annotated JavaBean. Seam even encourages you to use session beans as J= SF " +"action listeners!" +msgstr "" + +#. Tag: para +#: Preface.xml:69 +#, no-c-format +msgid "" +"On the other hand, if you prefer not to adopt EJB 3.0 at this time, you " +"don't have to. Virtually any Java class may be a Seam component, and Seam= " +"provides all the functionality that you expect from a \"lightweight\" " +"container, and more, for any component, EJB or otherwise." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:79 +#, no-c-format +msgid "Integrated AJAX" +msgstr "" + +#. Tag: para +#: Preface.xml:81 +#, no-c-format +msgid "" +"Seam supports the best open source JSF-based AJAX solutions: JBoss RichFa= ces " +"and ICEfaces. These solutions let you add AJAX capability to your user " +"interface without the need to write any JavaScript code." +msgstr "" + +#. Tag: para +#: Preface.xml:86 +#, no-c-format +msgid "" +"Alternatively, Seam provides a built-in JavaScript remoting layer that le= ts " +"you call components asynchronously from client-side JavaScript without th= e " +"need for an intermediate action layer. You can even subscribe to server-s= ide " +"JMS topics and receive messages via AJAX push." +msgstr "" + +#. Tag: para +#: Preface.xml:92 +#, no-c-format +msgid "" +"Neither of these approaches would work well, were it not for Seam's built= -in " +"concurrency and state management, which ensures that many concurrent fine= -" +"grained, asynchronous AJAX requests are handled safely and efficiently on= " +"the server side." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:101 +#, no-c-format +msgid "Business process as a first class construct" +msgstr "" + +#. Tag: para +#: Preface.xml:103 +#, no-c-format +msgid "" +"Optionally, Seam provides transparent business process management via jBP= M. " +"You won't believe how easy it is to implement complex workflows, " +"collaboration and and task management using jBPM and Seam." +msgstr "" + +#. Tag: para +#: Preface.xml:108 +#, no-c-format +msgid "" +"Seam even allows you to define presentation tier pageflow using the same " +"language (jPDL) that jBPM uses for business process definition." +msgstr "" + +#. Tag: para +#: Preface.xml:112 +#, no-c-format +msgid "" +"JSF provides an incredibly rich event model for the presentation tier. Se= am " +"enhances this model by exposing jBPM's business process related events vi= a " +"exactly the same event handling mechanism, providing a uniform event mode= l " +"for Seam's uniform component model." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:121 +#, no-c-format +msgid "Declarative state management" +msgstr "" + +#. Tag: para +#: Preface.xml:123 +#, no-c-format +msgid "" +"We're all used to the concept of declarative transaction management and " +"declarative security from the early days of EJB. EJB 3.0 even introduces " +"declarative persistence context management. These are three examples of a= " +"broader problem of managing state that is associated with a particular " +"context, while ensuring that all needed cleanup occu= rs " +"when the context ends. Seam takes the concept of declarative state " +"management much further and applies it to application state. Traditionally, J2EE applications implement state management " +"manually, by getting and setting servlet session and request attributes. " +"This approach to state management is the source of many bugs and memory " +"leaks when applications fail to clean up session attributes, or when sess= ion " +"data associated with different workflows collides in a multi-window " +"application. Seam has the potential to almost entirely eliminate this cla= ss " +"of bugs." +msgstr "" + +#. Tag: para +#: Preface.xml:136 +#, no-c-format +msgid "" +"Declarative application state management is made possible by the richness= of " +"the context model defined by Seam. Seam extends the " +"context model defined by the servlet spec—request, session, " +"application—with two new contexts—conversation and business " +"process—that are more meaningful from the point of view of the " +"business logic." +msgstr "" + +#. Tag: para +#: Preface.xml:143 +#, no-c-format +msgid "" +"You'll be amazed at how many things become easier once you start using " +"conversations. Have you ever suffered pain dealing with lazy association " +"fetching in an ORM solution like Hibernate or JPA? Seam's conversation-" +"scoped persistence contexts mean you'll rarely have to see a " +"LazyInitializationException. Have you ever had problem= s " +"with the refresh button? The back button? With duplicate form submission?= " +"With propagating messages across a post-then-redirect? Seam's conversatio= n " +"management solves these problems without you even needing to really think= " +"about them. They're all symptoms of the broken state management architect= ure " +"that has been prevalent since the earliest days of the web." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:158 +#, no-c-format +msgid "Bijection" +msgstr "" + +#. Tag: para +#: Preface.xml:160 +#, no-c-format +msgid "" +"The notion of Inversion of Control or " +"dependency injection exists in both JSF and EJB3, as= " +"well as in numerous so-called \"lightweight containers\". Most of these " +"containers emphasize injection of components that implement " +"stateless services. Even when injection of stateful " +"components is supported (such as in JSF), it is virtually useless for " +"handling application state because the scope of the stateful component " +"cannot be defined with sufficient flexibility, and because components " +"belonging to wider scopes may not be injected into components belonging t= o " +"narrower scopes." +msgstr "" + +#. Tag: para +#: Preface.xml:169 +#, no-c-format +msgid "" +"Bijection differs from IoC in that it is " +"dynamic, contextual, and " +"bidirectional. You can think of it as a mechanism fo= r " +"aliasing contextual variables (names in the various contexts bound to the= " +"current thread) to attributes of the component. Bijection allows auto-" +"assembly of stateful components by the container. It even allows a compon= ent " +"to safely and easily manipulate the value of a context variable, just by " +"assigning it to an attribute of the component." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:181 +#, no-c-format +msgid "Workspace management and multi-window browsing" +msgstr "" + +#. Tag: para +#: Preface.xml:183 +#, no-c-format +msgid "" +"Seam applications let the user freely switch between multiple browser tab= s, " +"each associated with a different, safely isolated, conversation. " +"Applications may even take advantage of workspace management, allowing the user to switch between conversations (workspaces)= in " +"a single browser tab. Seam provides not only correct multi-window operati= on, " +"but also multi-window-like operation in a single window!" +msgstr "" + +#. Tag: emphasis +#: Preface.xml:194 +#, no-c-format +msgid "Prefer annotations to XML" +msgstr "" + +#. Tag: para +#: Preface.xml:196 +#, no-c-format +msgid "" +"Traditionally, the Java community has been in a state of deep confusion " +"about precisely what kinds of meta-information counts as configuration. J= 2EE " +"and popular \"lightweight\" containers have provided XML-based deployment= " +"descriptors both for things which are truly configurable between differen= t " +"deployments of the system, and for any other kinds or declaration which c= an " +"not easily be expressed in Java. Java 5 annotations changed all this." +msgstr "" + +#. Tag: para +#: Preface.xml:204 +#, no-c-format +msgid "" +"EJB 3.0 embraces annotations and \"configuration by exception\" as the " +"easiest way to provide information to the container in a declarative form= . " +"Unfortunately, JSF is still heavily dependent on verbose XML configuratio= n " +"files. Seam extends the annotations provided by EJB 3.0 with a set of " +"annotations for declarative state management and declarative context " +"demarcation. This lets you eliminate the noisy JSF managed bean declarati= ons " +"and reduce the required XML to just that information which truly belongs = in " +"XML (the JSF navigation rules)." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:217 +#, no-c-format +msgid "Integration testing is easy" +msgstr "" + +#. Tag: para +#: Preface.xml:219 +#, no-c-format +msgid "" +"Seam components, being plain Java classes, are by nature unit testable. B= ut " +"for complex applications, unit testing alone is insufficient. Integration= " +"testing has traditionally been a messy and difficult task for Java web " +"applications. Therefore, Seam provides for testability of Seam applicatio= ns " +"as a core feature of the framework. You can easily write JUnit or TestNG " +"tests that reproduce a whole interaction with a user, exercising all " +"components of the system apart from the view (the JSP or Facelets page). = You " +"can run these tests directly inside your IDE, where Seam will automatical= ly " +"deploy EJB components using JBoss Embedded." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:232 +#, no-c-format +msgid "The specs ain't perfect" +msgstr "" + +#. Tag: para +#: Preface.xml:234 +#, no-c-format +msgid "" +"We think the latest incarnation of Java EE is great. But we know it's nev= er " +"going to be perfect. Where there are holes in the specifications (for " +"example, limitations in the JSF lifecycle for GET requests), Seam fixes " +"them. And the authors of Seam are working with the JCP expert groups to m= ake " +"sure those fixes make their way back into the next revision of the standa= rds." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:245 +#, no-c-format +msgid "There's more to a web application than serving HTML pages" +msgstr "" + +#. Tag: para +#: Preface.xml:247 +#, no-c-format +msgid "" +"Today's web frameworks think too small. They let you get user input off a= " +"form and into your Java objects. And then they leave you hanging. A truly= " +"complete web application framework should address problems like persisten= ce, " +"concurrency, asynchronicity, state management, security, email, messaging= , " +"PDF and chart generation, workflow, wikitext rendering, webservices, cach= ing " +"and more. Once you scratch the surface of Seam, you'll be amazed at how m= any " +"problems become simpler..." +msgstr "" + +#. Tag: para +#: Preface.xml:255 +#, no-c-format +msgid "" +"Seam integrates JPA and Hibernate3 for persistence, the EJB Timer Service= " +"and Quartz for lightweight asychronicity, jBPM for workflow, JBoss Rules = for " +"business rules, Meldware Mail for email, Hibernate Search and Lucene for " +"full text search, JMS for messaging and JBoss Cache for page fragment " +"caching. Seam layers an innovative rule-based security framework over JAA= S " +"and JBoss Rules. There's even JSF tag libraries for rendering PDF, outgoi= ng " +"email, charts and wikitext. Seam components may be called synchronously a= s a " +"Web Service, asynchronously from client-side JavaScript or Google Web " +"Toolkit or, of course, directly from JSF." +msgstr "" + +#. Tag: emphasis +#: Preface.xml:268 +#, no-c-format +msgid "Get started now!" +msgstr "" + +#. Tag: para +#: Preface.xml:270 +#, no-c-format +msgid "" +"Seam works in any Java EE application server, and even works in Tomcat. I= f " +"your environment supports EJB 3.0, great! If it doesn't, no problem, you = can " +"use Seam's built-in transaction management with JPA or Hibernate3 for " +"persistence. Or, you can deploy JBoss Embedded in Tomcat, and get full " +"support for EJB 3.0." +msgstr "" + +#. Tag: para +#: Preface.xml:286 +#, no-c-format +msgid "" +"It turns out that the combination of Seam, JSF and EJB3 is the<= /" +"emphasis> simplest way to write a complex web application in Java. You wo= n't " +"believe how little code is required!" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Remoting.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Remoting.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Remoting.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,1552 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Remoting.xml:5 +#, no-c-format +msgid "Remoting" +msgstr "" + +#. Tag: para +#: Remoting.xml:6 +#, no-c-format +msgid "" +"Seam provides a convenient method of remotely accessing components from a= " +"web page, using AJAX (Asynchronous Javascript and XML). The framework for= " +"this functionality is provided with almost no up-front development effort= - " +"your components only require simple annotating to become accessible via " +"AJAX. This chapter describes the steps required to build an AJAX-enabled = web " +"page, then goes on to explain the features of the Seam Remoting framework= in " +"more detail." +msgstr "" + +#. Tag: title +#: Remoting.xml:13 Remoting.xml:562 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Remoting.xml:14 +#, no-c-format +msgid "" +"To use remoting, the Seam Resource servlet must first be configured in yo= ur " +"web.xml file:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:16 +#, no-c-format +msgid "" +"\n" +" Seam Resource Servlet\n" +" org.jboss.seam.servlet.SeamResourceServlet\n" +"\n" +"\n" +"\n" +" Seam Resource Servlet\n" +" /seam/resource/*\n" +"]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:18 +#, no-c-format +msgid "" +"The next step is to import the necessary Javascript into your web page. " +"There are a minimum of two scripts that must be imported. The first one " +"contains all the client-side framework code that enables remoting " +"functionality:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:22 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:24 +#, no-c-format +msgid "" +"The second script contains the stubs and type definitions for the compone= nts " +"you wish to call. It is generated dynamically based on the local interfac= e " +"of your components, and includes type definitions for all of the classes " +"that can be used to call the remotable methods of the interface. The name= of " +"the script reflects the name of your component. For example, if you have = a " +"stateless session bean annotated with @Name(\"customerAction\")<= /" +"literal>, then your script tag should look like this:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:30 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:32 +#, no-c-format +msgid "" +"If you wish to access more than one component from the same page, then " +"include them all as parameters of your script tag:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:35 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:38 +#, no-c-format +msgid "" +"Alternatively, you may use the s:remote tag to import = the " +"required Javascript. Separate each component or class name you wish to " +"import with a comma:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:43 +#, no-c-format +msgid "" +" \n" +" ]]>" +msgstr "" + +#. Tag: title +#: Remoting.xml:48 +#, no-c-format +msgid "The \"Seam\" object" +msgstr "" + +#. Tag: para +#: Remoting.xml:50 +#, no-c-format +msgid "" +"Client-side interaction with your components is all performed via the " +"Seam Javascript object. This object is defined in " +"remote.js, and you'll be using it to make asynchronous= " +"calls against your component. It is split into two areas of functionality= ; " +"Seam.Component contains methods for working with " +"components and Seam.Remoting contains methods for " +"executing remote requests. The easiest way to become familiar with this " +"object is to start with a simple example." +msgstr "" + +#. Tag: title +#: Remoting.xml:57 +#, no-c-format +msgid "A Hello World example" +msgstr "" + +#. Tag: para +#: Remoting.xml:59 +#, no-c-format +msgid "" +"Let's step through a simple example to see how the Seam " +"object works. First of all, let's create a new Seam component called " +"helloAction." +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:62 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Remoting.xml:64 +#, no-c-format +msgid "" +"You also need to create a local interface for our new component - take " +"special note of the @WebRemote annotation, as it's " +"required to make our method accessible via remoting:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:67 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Remoting.xml:69 +#, no-c-format +msgid "" +"That's all the server-side code we need to write. Now for our web page - " +"create a new page and import the helloAction component= :" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:72 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:74 +#, no-c-format +msgid "" +"To make this a fully interactive user experience, let's add a button to o= ur " +"page:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:76 +#, no-c-format +msgid "" +"Say Hello]]= >" +msgstr "" + +#. Tag: para +#: Remoting.xml:78 +#, no-c-format +msgid "" +"We'll also need to add some more script to make our button actually do " +"something when it's clicked:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:80 +#, no-c-format +msgid "" +"\n" +" //]]>]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:82 +#, no-c-format +msgid "" +"We're done! Deploy your application and browse to your page. Click the " +"button, and enter a name when prompted. A message box will display the he= llo " +"message confirming that the call was successful. If you want to save some= " +"time, you'll find the full source code for this Hello World example in " +"Seam's /examples/remoting/helloworld directory." +msgstr "" + +#. Tag: para +#: Remoting.xml:87 +#, no-c-format +msgid "" +"So what does the code of our script actually do? Let's break it down into= " +"smaller pieces. To start with, you can see from the Javascript code listi= ng " +"that we have implemented two methods - the first method is responsible fo= r " +"prompting the user for their name and then making a remote request. Take = a " +"look at the following line:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:92 +#, no-c-format +msgid "" +"Seam.Component.getInstance(\"helloAction\").sayHello(name, sayHelloCallba= ck);" +msgstr "" + +#. Tag: para +#: Remoting.xml:94 +#, no-c-format +msgid "" +"The first section of this line, Seam.Component.getInstance" +"(\"helloAction\") returns a proxy, or \"stub\" for our " +"helloAction component. We can invoke the methods of ou= r " +"component against this stub, which is exactly what happens with the " +"remainder of the line: sayHello(name, sayHelloCallback);." +msgstr "" + +#. Tag: para +#: Remoting.xml:99 +#, no-c-format +msgid "" +"What this line of code in its completeness does, is invoke the " +"sayHello method of our component, passing in " +"name as a parameter. The second parameter, " +"sayHelloCallback isn't a parameter of our component's " +"sayHello method, instead it tells the Seam Remoting " +"framework that once it receives the response to our request, it should pa= ss " +"it to the sayHelloCallback Javascript method. This " +"callback parameter is entirely optional, so feel free to leave it out if " +"you're calling a method with a void return type or if = you " +"don't care about the result." +msgstr "" + +#. Tag: para +#: Remoting.xml:107 +#, no-c-format +msgid "" +"The sayHelloCallback method, once receiving the respon= se " +"to our remote request then pops up an alert message displaying the result= of " +"our method call." +msgstr "" + +#. Tag: title +#: Remoting.xml:113 +#, no-c-format +msgid "Seam.Component" +msgstr "" + +#. Tag: para +#: Remoting.xml:115 +#, no-c-format +msgid "" +"The Seam.Component Javascript object provides a number= of " +"client-side methods for working with your Seam components. The two main " +"methods, newInstance() and getInstance() are documented in the following sections however their main " +"difference is that newInstance() will always create a = new " +"instance of a component type, and getInstance() will " +"return a singleton instance." +msgstr "" + +#. Tag: title +#: Remoting.xml:122 +#, no-c-format +msgid "Seam.Component.newInstance()" +msgstr "" + +#. Tag: para +#: Remoting.xml:123 +#, no-c-format +msgid "" +"Use this method to create a new instance of an entity or Javabean compone= nt. " +"The object returned by this method will have the same getter/setter metho= ds " +"as its server-side counterpart, or alternatively if you wish you can acce= ss " +"its fields directly. Take the following Seam entity component for example= :" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:127 +#, no-c-format +msgid "" +"@Name(\"customer\")\n" +"@Entity\n" +"public class Customer implements Serializable\n" +"{\n" +" private Integer customerId;\n" +" private String firstName;\n" +" private String lastName;\n" +" \n" +" @Column public Integer getCustomerId() { \n" +" return customerId; \n" +" }\n" +" \n" +" public void setCustomerId(Integer customerId} { \n" +" this.customerId =3D customerId; \n" +" }\n" +" \n" +" @Column public String getFirstName() { \n" +" return firstName; \n" +" }\n" +" \n" +" public void setFirstName(String firstName) {\n" +" this.firstName =3D firstName; \n" +" }\n" +" \n" +" @Column public String getLastName() {\n" +" return lastName;\n" +" }\n" +" \n" +" public void setLastName(String lastName) {\n" +" this.lastName =3D lastName;\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Remoting.xml:129 +#, no-c-format +msgid "To create a client-side Customer you would write the following code= :" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:131 +#, no-c-format +msgid "var customer =3D Seam.Component.newInstance(\"customer\");" +msgstr "" + +#. Tag: para +#: Remoting.xml:133 +#, no-c-format +msgid "Then from here you can set the fields of the customer object:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:135 +#, no-c-format +msgid "" +"customer.setFirstName(\"John\");\n" +"// Or you can set the fields directly\n" +"customer.lastName =3D \"Smith\";" +msgstr "" + +#. Tag: title +#: Remoting.xml:140 +#, no-c-format +msgid "Seam.Component.getInstance()" +msgstr "" + +#. Tag: para +#: Remoting.xml:142 +#, no-c-format +msgid "" +"The getInstance() method is used to get a reference to= a " +"Seam session bean component stub, which can then be used to remotely exec= ute " +"methods against your component. This method returns a singleton for the " +"specified component, so calling it twice in a row with the same component= " +"name will return the same instance of the component." +msgstr "" + +#. Tag: para +#: Remoting.xml:147 +#, no-c-format +msgid "" +"To continue our example from before, if we have created a new " +"customer and we now wish to save it, we would pass it = to " +"the saveCustomer() method of our customerActi= on component:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:151 +#, no-c-format +msgid "Seam.Component.getInstance(\"customerAction\").saveCustomer(custome= r);" +msgstr "" + +#. Tag: title +#: Remoting.xml:155 +#, no-c-format +msgid "Seam.Component.getComponentName()" +msgstr "" + +#. Tag: para +#: Remoting.xml:157 +#, no-c-format +msgid "" +"Passing an object into this method will return its component name if it i= s a " +"component, or null if it is not." +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:160 +#, no-c-format +msgid "" +"if (Seam.Component.getComponentName(instance) =3D=3D \"customer\")\n" +" alert(\"Customer\");\n" +"else if (Seam.Component.getComponentName(instance) =3D=3D \"staff\")\n" +" alert(\"Staff member\");" +msgstr "" + +#. Tag: title +#: Remoting.xml:166 +#, no-c-format +msgid "Seam.Remoting" +msgstr "" + +#. Tag: para +#: Remoting.xml:168 +#, no-c-format +msgid "" +"Most of the client side functionality for Seam Remoting is contained with= in " +"the Seam.Remoting object. While you shouldn't need to " +"directly call most of its methods, there are a couple of important ones " +"worth mentioning." +msgstr "" + +#. Tag: title +#: Remoting.xml:173 +#, no-c-format +msgid "Seam.Remoting.createType()" +msgstr "" + +#. Tag: para +#: Remoting.xml:175 +#, no-c-format +msgid "" +"If your application contains or uses Javabean classes that aren't Seam " +"components, you may need to create these types on the client side to pass= as " +"parameters into your component method. Use the createType() method to create an instance of your type. Pass in the fully " +"qualified Java class name as a parameter:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:180 +#, no-c-format +msgid "var widget =3D Seam.Remoting.createType(\"com.acme.widgets.MyWidget= \");" +msgstr "" + +#. Tag: title +#: Remoting.xml:184 +#, no-c-format +msgid "Seam.Remoting.getTypeName()" +msgstr "" + +#. Tag: para +#: Remoting.xml:186 +#, no-c-format +msgid "" +"This method is the equivalent of Seam.Component.getComponentName= () but for non-component types. It will return the name of the type= " +"for an object instance, or null if the type is not kno= wn. " +"The name is the fully qualified name of the type's Java class." +msgstr "" + +#. Tag: title +#: Remoting.xml:194 +#, no-c-format +msgid "Evaluating EL Expressions" +msgstr "" + +#. Tag: para +#: Remoting.xml:196 +#, no-c-format +msgid "" +"Seam Remoting also supports the evaluation of EL expressions, which provi= des " +"another convenient method for retrieving data from the server. Using the " +"Seam.Remoting.eval() function, an EL expression can be= " +"remotely evaluated on the server and the resulting value returned to a " +"client-side callback method. This function accepts two parameters, the fi= rst " +"being the EL expression to evaluate, and the second being the callback " +"method to invoke with the value of the expression. Here's an example:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:204 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Remoting.xml:206 +#, no-c-format +msgid "" +"In this example, the expression #{customers} is evalua= ted " +"by Seam, and the value of the expression (in this case a list of Customer= " +"objects) is returned to the customersCallback() method= . " +"It is important to remember that the objects returned this way must have " +"their types imported (via s:remote) to be able to work= " +"with them in Javascript. So to work with a list of customer objects, it is required to import the customer " +"type:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:214 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: title +#: Remoting.xml:218 +#, no-c-format +msgid "Client Interfaces" +msgstr "" + +#. Tag: para +#: Remoting.xml:220 +#, no-c-format +msgid "" +"In the configuration section above, the interface, or \"stub\" for our " +"component is imported into our page either via seam/resource/" +"remoting/interface.js: or using the s:remote= " +"tag:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:225 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:227 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:229 +#, no-c-format +msgid "" +"By including this script in our page, the interface definitions for our " +"component, plus any other components or types that are required to execut= e " +"the methods of our component are generated and made available for the " +"remoting framework to use." +msgstr "" + +#. Tag: para +#: Remoting.xml:233 +#, no-c-format +msgid "" +"There are two types of client stub that can be generated, \"executable\" " +"stubs and \"type\" stubs. Executable stubs are behavioural, and are used = to " +"execute methods against your session bean components, while type stubs " +"contain state and represent the types that can be passed in as parameters= or " +"returned as a result." +msgstr "" + +#. Tag: para +#: Remoting.xml:237 +#, no-c-format +msgid "" +"The type of client stub that is generated depends on the type of your Sea= m " +"component. If the component is a session bean, then an executable stub wi= ll " +"be generated, otherwise if it's an entity or JavaBean, then a type stub w= ill " +"be generated. There is one exception to this rule; if your component is a= " +"JavaBean (ie it is not a session bean nor an entity bean) and any of its " +"methods are annotated with @WebRemote, then an executable stub will be " +"generated for it instead of a type stub. This allows you to use remoting = to " +"call methods of your JavaBean components in a non-EJB environment where y= ou " +"don't have access to session beans." +msgstr "" + +#. Tag: title +#: Remoting.xml:247 +#, no-c-format +msgid "The Context" +msgstr "" + +#. Tag: para +#: Remoting.xml:249 +#, no-c-format +msgid "" +"The Seam Remoting Context contains additional information which is sent a= nd " +"received as part of a remoting request/response cycle. At this stage it o= nly " +"contains the conversation ID but may be expanded in the future." +msgstr "" + +#. Tag: title +#: Remoting.xml:253 +#, no-c-format +msgid "Setting and reading the Conversation ID" +msgstr "" + +#. Tag: para +#: Remoting.xml:256 +#, no-c-format +msgid "" +"If you intend on using remote calls within the scope of a conversation th= en " +"you need to be able to read or set the conversation ID in the Seam Remoti= ng " +"Context. To read the conversation ID after making a remote request call " +"Seam.Remoting.getContext().getConversationId(). To set= " +"the conversation ID before making a request, call Seam.Remoting." +"getContext().setConversationId()." +msgstr "" + +#. Tag: para +#: Remoting.xml:261 +#, no-c-format +msgid "" +"If the conversation ID hasn't been explicitly set with Seam." +"Remoting.getContext().setConversationId(), then it will be " +"automatically assigned the first valid conversation ID that is returned b= y " +"any remoting call. If you are working with multiple conversations within " +"your page, then you may need to explicitly set the conversation ID before= " +"each call. If you are working with just a single conversation, then you " +"don't need to do anything special." +msgstr "" + +#. Tag: title +#: Remoting.xml:268 +#, no-c-format +msgid "Remote calls within the current conversation scope" +msgstr "" + +#. Tag: para +#: Remoting.xml:270 +#, no-c-format +msgid "" +"In some circumstances it may be required to make a remote call within the= " +"scope of the current view's conversation. To do this, you must explicitly= " +"set the conversation ID to that of the view before making the remote call= . " +"This small snippet of JavaScript will set the conversation ID that is use= d " +"for remoting calls to the current view's conversation ID:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:275 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Remoting.xml:280 +#, no-c-format +msgid "Batch Requests" +msgstr "" + +#. Tag: para +#: Remoting.xml:282 +#, no-c-format +msgid "" +"Seam Remoting allows multiple component calls to be executed within a sin= gle " +"request. It is recommended that this feature is used wherever it is " +"appropriate to reduce network traffic." +msgstr "" + +#. Tag: para +#: Remoting.xml:285 +#, no-c-format +msgid "" +"The method Seam.Remoting.startBatch() will start a new= " +"batch, and any component calls executed after starting a batch are queued= , " +"rather than being sent immediately. When all the desired component calls " +"have been added to the batch, the Seam.Remoting.executeBatch() method will send a single request containing all of the queued " +"calls to the server, where they will be executed in order. After the call= s " +"have been executed, a single response containining all return values will= be " +"returned to the client and the callback functions (if provided) triggered= in " +"the same order as execution." +msgstr "" + +#. Tag: para +#: Remoting.xml:292 +#, no-c-format +msgid "" +"If you start a new batch via the startBatch() method b= ut " +"then decide you don't want to send it, the Seam.Remoting.cancelB= atch" +"() method will discard any calls that were queued and exit the " +"batch mode." +msgstr "" + +#. Tag: para +#: Remoting.xml:296 +#, no-c-format +msgid "" +"To see an example of a batch being used, take a look at /example= s/" +"remoting/chatroom." +msgstr "" + +#. Tag: title +#: Remoting.xml:301 +#, no-c-format +msgid "Working with Data types" +msgstr "" + +#. Tag: title +#: Remoting.xml:304 +#, no-c-format +msgid "Primitives / Basic Types" +msgstr "" + +#. Tag: para +#: Remoting.xml:306 +#, no-c-format +msgid "" +"This section describes the support for basic data types. On the server si= de " +"these values are generally compatible with either their primitive type or= " +"their corresponding wrapper class." +msgstr "" + +#. Tag: title +#: Remoting.xml:310 +#, no-c-format +msgid "String" +msgstr "" + +#. Tag: para +#: Remoting.xml:312 +#, no-c-format +msgid "" +"Simply use Javascript String objects when setting String parameter values= ." +msgstr "" + +#. Tag: title +#: Remoting.xml:316 +#, no-c-format +msgid "Number" +msgstr "" + +#. Tag: para +#: Remoting.xml:318 +#, no-c-format +msgid "" +"There is support for all number types supported by Java. On the client si= de, " +"number values are always serialized as their String representation and th= en " +"on the server side they are converted to the correct destination type. " +"Conversion into either a primitive or wrapper type is supported for " +"Byte, Double, Float, Integer, Long and " +"Short types." +msgstr "" + +#. Tag: title +#: Remoting.xml:326 +#, no-c-format +msgid "Boolean" +msgstr "" + +#. Tag: para +#: Remoting.xml:328 +#, no-c-format +msgid "" +"Booleans are represented client side by Javascript Boolean values, and " +"server side by a Java boolean." +msgstr "" + +#. Tag: title +#: Remoting.xml:334 +#, no-c-format +msgid "JavaBeans" +msgstr "" + +#. Tag: para +#: Remoting.xml:336 +#, no-c-format +msgid "" +"In general these will be either Seam entity or JavaBean components, or so= me " +"other non-component class. Use the appropriate method (either Se= am." +"Component.newInstance() for Seam components or Seam." +"Remoting.createType() for everything else) to create a new " +"instance of the object." +msgstr "" + +#. Tag: para +#: Remoting.xml:340 +#, no-c-format +msgid "" +"It is important to note that only objects that are created by either of " +"these two methods should be used as parameter values, where the parameter= is " +"not one of the other valid types mentioned anywhere else in this section.= In " +"some situations you may have a component method where the exact parameter= " +"type cannot be determined, such as:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:345 +#, no-c-format +msgid "" +"@Name(\"myAction\")\n" +"public class MyAction implements MyActionLocal {\n" +" public void doSomethingWithObject(Object obj) {\n" +" // code\n" +" }\n" +"}" +msgstr "" + +#. Tag: para +#: Remoting.xml:347 +#, no-c-format +msgid "" +"In this case you might want to pass in an instance of your " +"myWidget component, however the interface for " +"myAction won't include myWidget as = it " +"is not directly referenced by any of its methods. To get around this, " +"MyWidget needs to be explicitly imported:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:352 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:354 +#, no-c-format +msgid "" +"This will then allow a myWidget object to be created w= ith " +"Seam.Component.newInstance(\"myWidget\"), which can th= en " +"be passed to myAction.doSomethingWithObject()." +msgstr "" + +#. Tag: title +#: Remoting.xml:361 +#, no-c-format +msgid "Dates and Times" +msgstr "" + +#. Tag: para +#: Remoting.xml:363 +#, no-c-format +msgid "" +"Date values are serialized into a String representation that is accurate = to " +"the millisecond. On the client side, use a Javascript Date object to work= " +"with date values. On the server side, use any java.util.Date (or descendent, such as java.sql.Date or " +"java.sql.Timestamp class." +msgstr "" + +#. Tag: title +#: Remoting.xml:370 +#, no-c-format +msgid "Enums" +msgstr "" + +#. Tag: para +#: Remoting.xml:372 +#, no-c-format +msgid "" +"On the client side, enums are treated the same as Strings. When setting t= he " +"value for an enum parameter, simply use the String representation of the " +"enum. Take the following component as an example:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:375 +#, no-c-format +msgid "" +"@Name(\"paintAction\")\n" +"public class paintAction implements paintLocal {\n" +" public enum Color {red, green, blue, yellow, orange, purple};\n" +"\n" +" public void paint(Color color) {\n" +" // code\n" +" } \n" +"}" +msgstr "" + +#. Tag: para +#: Remoting.xml:377 +#, no-c-format +msgid "" +"To call the paint() method with the color red= , pass the parameter value as a String literal:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:380 +#, no-c-format +msgid "Seam.Component.getInstance(\"paintAction\").paint(\"red\");" +msgstr "" + +#. Tag: para +#: Remoting.xml:382 +#, no-c-format +msgid "" +"The inverse is also true - that is, if a component method returns an enum= " +"parameter (or contains an enum field anywhere in the returned object grap= h) " +"then on the client-side it will be represented as a String." +msgstr "" + +#. Tag: title +#: Remoting.xml:387 +#, no-c-format +msgid "Collections" +msgstr "" + +#. Tag: title +#: Remoting.xml:390 +#, no-c-format +msgid "Bags" +msgstr "" + +#. Tag: para +#: Remoting.xml:392 +#, no-c-format +msgid "" +"Bags cover all collection types including arrays, collections, lists, set= s, " +"(but excluding Maps - see the next section for those), and are implemente= d " +"client-side as a Javascript array. When calling a component method that " +"accepts one of these types as a parameter, your parameter should be a " +"Javascript array. If a component method returns one of these types, then = the " +"return value will also be a Javascript array. The remoting framework is " +"clever enough on the server side to convert the bag to an appropriate typ= e " +"for the component method call." +msgstr "" + +#. Tag: title +#: Remoting.xml:401 +#, no-c-format +msgid "Maps" +msgstr "" + +#. Tag: para +#: Remoting.xml:403 +#, no-c-format +msgid "" +"As there is no native support for Maps within Javascript, a simple Map " +"implementation is provided with the Seam Remoting framework. To create a = Map " +"which can be used as a parameter to a remote call, create a new " +"Seam.Remoting.Map object:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:407 +#, no-c-format +msgid "var map =3D new Seam.Remoting.Map();" +msgstr "" + +#. Tag: para +#: Remoting.xml:409 +#, no-c-format +msgid "" +"This Javascript implementation provides basic methods for working with Ma= ps: " +"size(), isEmpty(), keySet(= ), values(), get(key), " +"put(key, value), remove(key) and " +"contains(key). Each of these methods are equivalent to= " +"their Java counterpart. Where the method returns a collection, such as " +"keySet() and values(), a Javascript= " +"Array object will be returned that contains the key or value objects " +"(respectively)." +msgstr "" + +#. Tag: title +#: Remoting.xml:420 +#, no-c-format +msgid "Debugging" +msgstr "" + +#. Tag: para +#: Remoting.xml:422 +#, no-c-format +msgid "" +"To aid in tracking down bugs, it is possible to enable a debug mode which= " +"will display the contents of all the packets send back and forth between = the " +"client and server in a popup window. To enable debug mode, either execute= " +"the setDebug() method in Javascript:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:426 +#, no-c-format +msgid "Seam.Remoting.setDebug(true);" +msgstr "" + +#. Tag: para +#: Remoting.xml:428 +#, no-c-format +msgid "Or configure it via components.xml:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:430 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Remoting.xml:432 +#, no-c-format +msgid "" +"To turn off debugging, call setDebug(false). If you wa= nt " +"to write your own messages to the debug log, call Seam.Remoting.= log" +"(message)." +msgstr "" + +#. Tag: title +#: Remoting.xml:437 +#, no-c-format +msgid "The Loading Message" +msgstr "" + +#. Tag: para +#: Remoting.xml:439 +#, no-c-format +msgid "" +"The default loading message that appears in the top right corner of the " +"screen can be modified, its rendering customised or even turned off " +"completely." +msgstr "" + +#. Tag: title +#: Remoting.xml:443 +#, no-c-format +msgid "Changing the message" +msgstr "" + +#. Tag: para +#: Remoting.xml:445 +#, no-c-format +msgid "" +"To change the message from the default \"Please Wait...\" to something " +"different, set the value of Seam.Remoting.loadingMessage:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:448 +#, no-c-format +msgid "Seam.Remoting.loadingMessage =3D \"Loading...\";" +msgstr "" + +#. Tag: title +#: Remoting.xml:452 +#, no-c-format +msgid "Hiding the loading message" +msgstr "" + +#. Tag: para +#: Remoting.xml:454 +#, no-c-format +msgid "" +"To completely suppress the display of the loading message, override the " +"implementation of displayLoadingMessage() and " +"hideLoadingMessage() with functions that instead do " +"nothing:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:458 +#, no-c-format +msgid "" +"// don't display the loading indicator\n" +"Seam.Remoting.displayLoadingMessage =3D function() {};\n" +"Seam.Remoting.hideLoadingMessage =3D function() {};" +msgstr "" + +#. Tag: title +#: Remoting.xml:462 +#, no-c-format +msgid "A Custom Loading Indicator" +msgstr "" + +#. Tag: para +#: Remoting.xml:464 +#, no-c-format +msgid "" +"It is also possible to override the loading indicator to display an anima= ted " +"icon, or anything else that you want. To do this override the " +"displayLoadingMessage() and hideLoadingMessag= e()" +" messages with your own implementation:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:468 +#, no-c-format +msgid "" +"Seam.Remoting.displayLoadingMessage =3D function() {\n" +" // Write code here to display the indicator\n" +" };\n" +" \n" +" Seam.Remoting.hideLoadingMessage =3D function() {\n" +" // Write code here to hide the indicator\n" +" };" +msgstr "" + +#. Tag: title +#: Remoting.xml:473 +#, no-c-format +msgid "Controlling what data is returned" +msgstr "" + +#. Tag: para +#: Remoting.xml:475 +#, no-c-format +msgid "" +"When a remote method is executed, the result is serialized into an XML " +"response that is returned to the client. This response is then unmarshale= d " +"by the client into a Javascript object. For complex types (i.e. Javabeans= ) " +"that include references to other objects, all of these referenced objects= " +"are also serialized as part of the response. These objects may reference " +"other objects, which may reference other objects, and so forth. If left " +"unchecked, this object \"graph\" could potentially be enormous, depending= on " +"what relationships exist between your objects. And as a side issue (besid= es " +"the potential verbosity of the response), you might also wish to prevent " +"sensitive information from being exposed to the client." +msgstr "" + +#. Tag: para +#: Remoting.xml:483 +#, no-c-format +msgid "" +"Seam Remoting provides a simple means to \"constrain\" the object graph, = by " +"specifying the exclude field of the remote method's " +"@WebRemote annotation. This field accepts a String arr= ay " +"containing one or more paths specified using dot notation. When invoking = a " +"remote method, the objects in the result's object graph that match these " +"paths are excluded from the serialized result packet." +msgstr "" + +#. Tag: para +#: Remoting.xml:488 +#, no-c-format +msgid "" +"For all our examples, we'll use the following Widget " +"class:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:490 +#, no-c-format +msgid "" +"@Name(\"widget\")\n" +"public class Widget\n" +"{\n" +" private String value;\n" +" private String secret;\n" +" private Widget child;\n" +" private Map<String,Widget> widgetMap;\n" +" private List<Widget> widgetList;\n" +" \n" +" // getters and setters for all fields\n" +"}" +msgstr "" + +#. Tag: title +#: Remoting.xml:493 +#, no-c-format +msgid "Constraining normal fields" +msgstr "" + +#. Tag: para +#: Remoting.xml:495 +#, no-c-format +msgid "" +"If your remote method returns an instance of Widget, b= ut " +"you don't want to expose the secret field because it " +"contains sensitive information, you would constrain it like this:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:498 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"secret\"})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: para +#: Remoting.xml:500 +#, no-c-format +msgid "" +"The value \"secret\" refers to the secret field of the= " +"returned object. Now, suppose that we don't care about exposing this " +"particular field to the client. Instead, notice that the Widget<= /" +"literal> value that is returned has a field child that= is " +"also a Widget. What if we want to hide the " +"child's secret value instead? We ca= n " +"do this by using dot notation to specify this field's path within the " +"result's object graph:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:507 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"child.secret\"})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: title +#: Remoting.xml:512 +#, no-c-format +msgid "Constraining Maps and Collections" +msgstr "" + +#. Tag: para +#: Remoting.xml:514 +#, no-c-format +msgid "" +"The other place that objects can exist within an object graph are within = a " +"Map or some kind of collection (List, " +"Set, Array, etc). Collections are " +"easy, and are treated like any other field. For example, if our " +"Widget contained a list of other Widgets in its widgetList field, to constrain the " +"secret field of the Widgets in this= " +"list the annotation would look like this:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:521 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"widgetList.secret\"})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: para +#: Remoting.xml:523 +#, no-c-format +msgid "" +"To constrain a Map's key or value, the notation is " +"slightly different. Appending [key] after the " +"Map's field name will constrain the Map's key object values, while [value] will " +"constrain the value object values. The following example demonstrates how= " +"the values of the widgetMap field have their " +"secret field constrained:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:529 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"widgetMap[value].secret\"})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: title +#: Remoting.xml:533 +#, no-c-format +msgid "Constraining objects of a specific type" +msgstr "" + +#. Tag: para +#: Remoting.xml:535 +#, no-c-format +msgid "" +"There is one last notation that can be used to constrain the fields of a " +"type of object no matter where in the result's object graph it appears. T= his " +"notation uses either the name of the component (if the object is a Seam " +"component) or the fully qualified class name (only if the object is not a= " +"Seam component) and is expressed using square brackets:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:540 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"[widget].secret\"})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: title +#: Remoting.xml:545 +#, no-c-format +msgid "Combining Constraints" +msgstr "" + +#. Tag: para +#: Remoting.xml:547 +#, no-c-format +msgid "" +"Constraints can also be combined, to filter objects from multiple paths " +"within the object graph:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:549 +#, no-c-format +msgid "" +"@WebRemote(exclude =3D {\"widgetList.secret\", \"widgetMap[value].secret\= "})\n" +"public Widget getWidget();" +msgstr "" + +#. Tag: title +#: Remoting.xml:555 +#, no-c-format +msgid "JMS Messaging" +msgstr "" + +#. Tag: para +#: Remoting.xml:557 +#, no-c-format +msgid "" +"Seam Remoting provides experimental support for JMS Messaging. This secti= on " +"describes the JMS support that is currently implemented, but please note " +"that this may change in the future. It is currently not recommended that " +"this feature is used within a production environment." +msgstr "" + +#. Tag: para +#: Remoting.xml:564 +#, no-c-format +msgid "" +"Before you can subscribe to a JMS topic, you must first configure a list = of " +"the topics that can be subscribed to by Seam Remoting. List the topics un= der " +"org.jboss.seam.remoting.messaging.subscriptionRegistry." +"allowedTopics in seam.properties, w= eb." +"xml or components.xml." +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:569 Remoting.xml:624 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: title +#: Remoting.xml:574 +#, no-c-format +msgid "Subscribing to a JMS Topic" +msgstr "" + +#. Tag: para +#: Remoting.xml:576 +#, no-c-format +msgid "The following example demonstrates how to subscribe to a JMS Topic:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:578 +#, no-c-format +msgid "" +"function subscriptionCallback(message)\n" +"{\n" +" if (message instanceof Seam.Remoting.TextMessage)\n" +" alert(\"Received message: \" + message.getText());\n" +"} \n" +"\n" +"Seam.Remoting.subscribe(\"topicName\", subscriptionCallback);" +msgstr "" + +#. Tag: para +#: Remoting.xml:580 +#, no-c-format +msgid "" +"The Seam.Remoting.subscribe() method accepts two " +"parameters, the first being the name of the JMS Topic to subscribe to, th= e " +"second being the callback function to invoke when a message is received." +msgstr "" + +#. Tag: para +#: Remoting.xml:583 +#, no-c-format +msgid "" +"There are two types of messages supported, Text messages and Object " +"messages. If you need to test for the type of message that is passed to y= our " +"callback function you can use the instanceof operator = to " +"test whether the message is a Seam.Remoting.TextMessage " +"or Seam.Remoting.ObjectMessage. A TextMessage= contains the text value in its text field (or= " +"alternatively call getText() on it), while an " +"ObjectMessage contains its object value in its " +"value field (or call its getValue()= " +"method)." +msgstr "" + +#. Tag: title +#: Remoting.xml:593 +#, no-c-format +msgid "Unsubscribing from a Topic" +msgstr "" + +#. Tag: para +#: Remoting.xml:595 +#, no-c-format +msgid "" +"To unsubscribe from a topic, call Seam.Remoting.unsubscribe() and pass in the topic name:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:598 +#, no-c-format +msgid "Seam.Remoting.unsubscribe(\"topicName\");" +msgstr "" + +#. Tag: title +#: Remoting.xml:602 +#, no-c-format +msgid "Tuning the Polling Process" +msgstr "" + +#. Tag: para +#: Remoting.xml:604 +#, no-c-format +msgid "" +"There are two parameters which you can modify to control how polling occu= rs. " +"The first one is Seam.Remoting.pollInterval, which " +"controls how long to wait between subsequent polls for new messages. This= " +"parameter is expressed in seconds, and its default setting is 10." +msgstr "" + +#. Tag: para +#: Remoting.xml:608 +#, no-c-format +msgid "" +"The second parameter is Seam.Remoting.pollTimeout, and= is " +"also expressed as seconds. It controls how long a request to the server " +"should wait for a new message before timing out and sending an empty " +"response. Its default is 0 seconds, which means that when the server is " +"polled, if there are no messages ready for delivery then an empty respons= e " +"will be immediately returned." +msgstr "" + +#. Tag: para +#: Remoting.xml:613 +#, no-c-format +msgid "" +"Caution should be used when setting a high pollTimeout= " +"value; each request that has to wait for a message means that a server " +"thread is tied up until a message is received, or until the request times= " +"out. If many such requests are being served simultaneously, it could mean= a " +"large number of threads become tied up because of this reason." +msgstr "" + +#. Tag: para +#: Remoting.xml:618 +#, no-c-format +msgid "" +"It is recommended that you set these options via components.xml, however " +"they can be overridden via Javascript if desired. The following example " +"demonstrates how to configure the polling to occur much more aggressively= . " +"You should set these parameters to suitable values for your application:" +msgstr "" + +#. Tag: para +#: Remoting.xml:622 +#, no-c-format +msgid "Via components.xml:" +msgstr "" + +#. Tag: para +#: Remoting.xml:626 +#, no-c-format +msgid "Via JavaScript:" +msgstr "" + +#. Tag: programlisting +#: Remoting.xml:628 +#, no-c-format +msgid "" +"// Only wait 1 second between receiving a poll response and sending the n= ext " +"poll request.\n" +"Seam.Remoting.pollInterval =3D 1;\n" +" \n" +"// Wait up to 5 seconds on the server for new messages\n" +"Seam.Remoting.pollTimeout =3D 5;" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Revision_History.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Revision_History.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Revision_History.po 20= 08-04-21 00:41:49 UTC (rev 7985) @@ -0,0 +1,27 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: author +#: Revision_History.xml:10 +#, no-c-format +msgid "" +"Samson Kittoli " +msgstr "" + +#. Tag: member +#: Revision_History.xml:17 +#, no-c-format +msgid "content reformat" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Security.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Security.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Security.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,2381 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Security.xml:4 +#, no-c-format +msgid "Security" +msgstr "" + +#. Tag: para +#: Security.xml:6 +#, no-c-format +msgid "" +"The Seam Security API is an optional Seam feature that provides " +"authentication and authorization features for securing both domain and pa= ge " +"resources within your Seam project." +msgstr "" + +#. Tag: title +#: Security.xml:12 +#, no-c-format +msgid "Overview" +msgstr "" + +#. Tag: para +#: Security.xml:14 +#, no-c-format +msgid "Seam Security provides two different modes of operation:" +msgstr "" + +#. Tag: para +#: Security.xml:20 +#, no-c-format +msgid "" +"simplified mode - this mode supports authentication " +"services and simple role-based security checks." +msgstr "" + +#. Tag: para +#: Security.xml:26 +#, no-c-format +msgid "" +"advanced mode - this mode supports all the same " +"features as the simplified mode, plus it offers rule-based security check= s " +"using JBoss Rules." +msgstr "" + +#. Tag: title +#: Security.xml:34 +#, no-c-format +msgid "Which mode is right for my application?" +msgstr "" + +#. Tag: para +#: Security.xml:36 +#, no-c-format +msgid "" +"That all depends on the requirements of your application. If you have " +"minimal security requirements, for example if you only wish to restrict " +"certain pages and actions to users who are logged in, or who belong to a " +"certain role, then the simplified mode will probably be sufficient. The " +"advantages of this is a more simplified configuration, significantly less= " +"libraries to include, and a smaller memory footprint." +msgstr "" + +#. Tag: para +#: Security.xml:43 +#, no-c-format +msgid "" +"If on the other hand, your application requires security checks based on " +"contextual state or complex business rules, then you will require the " +"features provided by the advanced mode." +msgstr "" + +#. Tag: title +#: Security.xml:51 +#, no-c-format +msgid "Requirements" +msgstr "" + +#. Tag: para +#: Security.xml:53 +#, no-c-format +msgid "" +"If using the advanced mode features of Seam Security, the following jar " +"files are required to be configured as modules in application.xm= l. If you are using Seam Security in simplified mode, these are " +"not required:" +msgstr "" + +#. Tag: para +#: Security.xml:61 +#, no-c-format +msgid "drools-compiler.jar" +msgstr "" + +#. Tag: para +#: Security.xml:64 +#, no-c-format +msgid "drools-core.jar" +msgstr "" + +#. Tag: para +#: Security.xml:67 +#, no-c-format +msgid "janino.jar" +msgstr "" + +#. Tag: para +#: Security.xml:70 +#, no-c-format +msgid "antlr-runtime.jar" +msgstr "" + +#. Tag: para +#: Security.xml:73 +#, no-c-format +msgid "mvel14.jar" +msgstr "" + +#. Tag: para +#: Security.xml:77 +#, no-c-format +msgid "" +"For web-based security, jboss-seam-ui.jar must also be= " +"included in the application's war file." +msgstr "" + +#. Tag: title +#: Security.xml:85 +#, no-c-format +msgid "Disabling Security" +msgstr "" + +#. Tag: para +#: Security.xml:87 +#, no-c-format +msgid "" +"In some situations it may be necessary to disable Seam Security, for exam= ple " +"during unit tests. This can be done by calling the static method " +"Identity.setSecurityEnabled(false) to disable security= " +"checks. Doing this prevents any security checks being performed for the " +"following:" +msgstr "" + +#. Tag: para +#: Security.xml:95 +#, no-c-format +msgid "Entity Security" +msgstr "" + +#. Tag: para +#: Security.xml:98 +#, no-c-format +msgid "Hibernate Security Interceptor" +msgstr "" + +#. Tag: para +#: Security.xml:101 +#, no-c-format +msgid "Seam Security Interceptor" +msgstr "" + +#. Tag: para +#: Security.xml:104 +#, no-c-format +msgid "Page restrictions" +msgstr "" + +#. Tag: title +#: Security.xml:110 +#, no-c-format +msgid "Authentication" +msgstr "" + +#. Tag: para +#: Security.xml:112 +#, no-c-format +msgid "" +"The authentication features provided by Seam Security are built upon JAAS= " +"(Java Authentication and Authorization Service), and as such provide a " +"robust and highly configurable API for handling user authentication. " +"However, for less complex authentication requirements Seam offers a much " +"more simplified method of authentication that hides the complexity of JAA= S." +msgstr "" + +#. Tag: title +#: Security.xml:119 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Security.xml:121 +#, no-c-format +msgid "" +"The simplified authentication method uses a built-in JAAS login module, " +"SeamLoginModule, which delegates authentication to one= of " +"your own Seam components. This login module is already configured inside " +"Seam as part of a default application policy and as such does not require= " +"any additional configuration files. It allows you to write an authenticat= ion " +"method using the entity classes that are provided by your own application= . " +"Configuring this simplified form of authentication requires the " +"identity component to be configured in " +"components.xml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:130 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:132 +#, no-c-format +msgid "" +"If you wish to use the advanced security features such as rule-based " +"permission checks, all you need to do is include the Drools (JBoss Rules)= " +"jars in your classpath, and add some additional configuration, described " +"later." +msgstr "" + +#. Tag: para +#: Security.xml:138 +#, no-c-format +msgid "" +"The EL expression #{authenticator.authenticate} is a " +"method binding indicating that the authenticate method= of " +"the authenticator component will be used to authentica= te " +"the user." +msgstr "" + +#. Tag: title +#: Security.xml:147 +#, no-c-format +msgid "Writing an authentication method" +msgstr "" + +#. Tag: para +#: Security.xml:149 +#, no-c-format +msgid "" +"The authenticate-method property specified for " +"identity in components.xml specifie= s " +"which method will be used by SeamLoginModule to " +"authenticate users. This method takes no parameters, and is expected to " +"return a boolean indicating whether authentication is successful or not. = The " +"user's username and password can be obtained from Identity.insta= nce" +"().getUsername() and Identity.instance().getPassword()= , respectively. Any roles that the user is a member of should be " +"assigned using Identity.instance().addRole(). Here's a= " +"complete example of an authentication method inside a JavaBean component:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:160 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:162 +#, no-c-format +msgid "" +"In the above example, both User and UserRole<= /" +"literal> are application-specific entity beans. The roles " +"parameter is populated with the roles that the user is a member of, which= " +"should be added to the Set as literal string values, e= .g. " +"\"admin\", \"user\". In this case, if the user record is not found and a " +"NoResultException thrown, the authentication method " +"returns false to indicate the authentication failed." +msgstr "" + +#. Tag: title +#: Security.xml:171 +#, no-c-format +msgid "Identity.addRole()" +msgstr "" + +#. Tag: para +#: Security.xml:173 +#, no-c-format +msgid "" +"The Identity.addRole() method behaves differently " +"depending on whether the current session is authenticated or not. If the " +"session is not authenticated, then addRole() should " +"only be called during the authentication process. Wh= en " +"called here, the role name is placed into a temporary list of pre-" +"authenticated roles. Once authentication is successful, the pre-" +"authenticated roles then become \"real\" roles, and calling " +"Identity.hasRole() for those roles will then return tr= ue. " +"The following sequence diagram represents the list of pre-authenticated " +"roles as a first class object to show more clearly how it fits in to the " +"authentication process." +msgstr "" + +#. Tag: title +#: Security.xml:196 +#, no-c-format +msgid "Special Considerations" +msgstr "" + +#. Tag: para +#: Security.xml:198 +#, no-c-format +msgid "" +"When writing an authenticator method, it is important that it is kept " +"minimal and free from any side-effects. This is because there is no " +"guarantee as to how many times the authenticator method will be called by= " +"the security API, and as such it may be invoked multiple times during a " +"single request. Because of this, any special code that should execute upo= n a " +"successful or failed authentication should be written by implementing an " +"event observer. See the section on Security Events further down in this " +"chapter for more information about which events are raised by Seam Securi= ty." +msgstr "" + +#. Tag: para +#: Security.xml:208 +#, no-c-format +msgid "" +"To give an example, let's say that upon a successful login that some user= " +"statistics must be updated. We would do this by writing an event observer= " +"for the org.jboss.seam.security.loginSuccessful event,= " +"like this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:214 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Security.xml:220 +#, no-c-format +msgid "Writing a login form" +msgstr "" + +#. Tag: para +#: Security.xml:222 +#, no-c-format +msgid "" +"The Identity component provides both username= and password properties, catering for the mos= t " +"common authentication scenario. These properties can be bound directly to= " +"the username and password fields on a login form. Once these properties a= re " +"set, calling the identity.login() method will " +"authenticate the user using the provided credentials. Here's an example o= f a " +"simple login form:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:230 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"\n" +"\n" +"
    \n" +" \n" +" \n" +"
    \n" +"\n" +"
    \n" +" \n" +"
    ]]>" +msgstr "" + +#. Tag: para +#: Security.xml:232 +#, no-c-format +msgid "" +"Similarly, logging out the user is done by calling #{identity." +"logout}. Calling this action will clear the security state of t= he " +"currently authenticated user." +msgstr "" + +#. Tag: title +#: Security.xml:240 +#, no-c-format +msgid "Simplified Configuration - Summary" +msgstr "" + +#. Tag: para +#: Security.xml:241 +#, no-c-format +msgid "" +"So to sum up, there are the three easy steps to configure authentication:" +msgstr "" + +#. Tag: para +#: Security.xml:247 +#, no-c-format +msgid "" +"Configure an authentication method in components.xml." +msgstr "" + +#. Tag: para +#: Security.xml:252 +#, no-c-format +msgid "Write an authentication method." +msgstr "" + +#. Tag: para +#: Security.xml:257 +#, no-c-format +msgid "Write a login form so that the user can authenticate." +msgstr "" + +#. Tag: title +#: Security.xml:266 +#, no-c-format +msgid "Handling Security Exceptions" +msgstr "" + +#. Tag: para +#: Security.xml:268 +#, no-c-format +msgid "" +"To prevent users from receiving the default error page in response to a " +"security error, it's recommended that pages.xml is " +"configured to redirect security errors to a more \"pretty\" page. The two= " +"main types of exceptions thrown by the security API are:" +msgstr "" + +#. Tag: para +#: Security.xml:276 +#, no-c-format +msgid "" +"NotLoggedInException - This exception is thrown if the= " +"user attempts to access a restricted action or page when they are not log= ged " +"in." +msgstr "" + +#. Tag: para +#: Security.xml:282 +#, no-c-format +msgid "" +"AuthorizationException - This exception is only thrown= if " +"the user is already logged in, and they have attempted to access a " +"restricted action or page for which they do not have the necessary " +"privileges." +msgstr "" + +#. Tag: para +#: Security.xml:290 +#, no-c-format +msgid "" +"In the case of a NotLoggedInException, it is recommend= ed " +"that the user is redirected to either a login or registration page so tha= t " +"they can log in. For an AuthorizationException, it may= be " +"useful to redirect the user to an error page. Here's an example of a " +"pages.xml file that redirects both of these security " +"exceptions:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:297 +#, no-c-format +msgid "" +"\n" +"\n" +" ...\n" +"\n" +" \= n" +" \n" +" You must be logged in to perform this action\n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" You do not have the necessary security privileges to= " +"perform this action.\n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:299 +#, no-c-format +msgid "" +"Most web applications require even more sophisticated handling of login " +"redirection, so Seam includes some special functionality for handling thi= s " +"problem." +msgstr "" + +#. Tag: title +#: Security.xml:307 +#, no-c-format +msgid "Login Redirection" +msgstr "" + +#. Tag: para +#: Security.xml:309 +#, no-c-format +msgid "" +"You can ask Seam to redirect the user to a login screen when an " +"unauthenticated user tries to access a particular view (or wildcarded vie= w " +"id) as follows:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:314 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"\n" +" ...\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:316 +#, no-c-format +msgid "" +"(This is less of a blunt instrument than the exception handler shown abov= e, " +"but should probably be used in conjunction with it.)" +msgstr "" + +#. Tag: para +#: Security.xml:321 +#, no-c-format +msgid "" +"After the user logs in, we want to automatically send them back where the= y " +"came from, so they can retry the action that required logging in. If you = add " +"the following event listeners to components.xml, attem= pts " +"to access a restricted view while not logged in will be remembered, so th= at " +"upon the user successfully logging in they will be redirected to the " +"originally requested view, with any page parameters that existed in the " +"original request." +msgstr "" + +#. Tag: programlisting +#: Security.xml:330 +#, no-c-format +msgid "" +"\n" +" \n" +"\n" +"\n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:332 +#, no-c-format +msgid "" +"Note that login redirection is implemented as a conversation-scoped " +"mechanism, so don't end the conversation in your authenticate()<= /" +"literal> method." +msgstr "" + +#. Tag: title +#: Security.xml:340 +#, no-c-format +msgid "HTTP Authentication" +msgstr "" + +#. Tag: para +#: Security.xml:342 +#, no-c-format +msgid "" +"Although not recommended for use unless absolutely necessary, Seam provid= es " +"means for authenticating using either HTTP Basic or HTTP Digest (RFC 2617= ) " +"methods. To use either form of authentication, the authenticatio= n-" +"filter component must be enabled in components.xml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:348 +#, no-c-format +msgid "" +"\n" +" ]]>" +msgstr "" + +#. Tag: para +#: Security.xml:350 +#, no-c-format +msgid "" +"To enable the filter for basic authentication, set auth-type to basic, or for digest authentication, set i= t " +"to digest. If using digest authentication, the " +"key and realm must also be set:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:356 +#, no-c-format +msgid "" +"\n" +" ]]>" +msgstr "" + +#. Tag: para +#: Security.xml:358 +#, no-c-format +msgid "" +"The key can be any String value. The realm is the name of the authentication realm that is presented to the= " +"user when they authenticate." +msgstr "" + +#. Tag: title +#: Security.xml:364 +#, no-c-format +msgid "Writing a Digest Authenticator" +msgstr "" + +#. Tag: para +#: Security.xml:366 +#, no-c-format +msgid "" +"If using digest authentication, your authenticator class should extend th= e " +"abstract class org.jboss.seam.security.digest.DigestAuthenticato= r, and use the validatePassword() method to " +"validate the user's plain text password against the digest request. Here = is " +"an example:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:373 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Security.xml:379 +#, no-c-format +msgid "Advanced Authentication Features" +msgstr "" + +#. Tag: para +#: Security.xml:381 +#, no-c-format +msgid "" +"This section explores some of the advanced features provided by the secur= ity " +"API for addressing more complex security requirements." +msgstr "" + +#. Tag: title +#: Security.xml:387 +#, no-c-format +msgid "Using your container's JAAS configuration" +msgstr "" + +#. Tag: para +#: Security.xml:389 +#, no-c-format +msgid "" +"If you would rather not use the simplified JAAS configuration provided by= " +"the Seam Security API, you may instead delegate to the default system JAA= S " +"configuration by providing a jaas-config-name property= in " +"components.xml. For example, if you are using JBoss AS= " +"and wish to use the other policy (which uses the " +"UsersRolesLoginModule login module provided by JBoss A= S), " +"then the entry in components.xml would look like this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:397 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Security.xml:399 +#, no-c-format +msgid "" +"Please keep in mind that doing this does not mean that your user will be " +"authenticated in whichever container your Seam application is deployed in= . " +"It merely instructs Seam Security to authenticate itself using the " +"configured JAAS security policy." +msgstr "" + +#. Tag: title +#: Security.xml:411 +#, no-c-format +msgid "Error Messages" +msgstr "" + +#. Tag: para +#: Security.xml:413 +#, no-c-format +msgid "" +"The security API produces a number of default faces messages for various " +"security-related events. The following table lists the message keys that = can " +"be used to override these messages by specifying them in a messa= ge." +"properties resource file. To suppress the message, just put the= " +"key with an empty value in the resource file." +msgstr "" + +#. Tag: title +#: Security.xml:421 +#, no-c-format +msgid "Security Message Keys" +msgstr "" + +#. Tag: para +#: Security.xml:430 +#, no-c-format +msgid "Message Key" +msgstr "" + +#. Tag: para +#: Security.xml:433 Security.xml:1143 +#, no-c-format +msgid "Description" +msgstr "" + +#. Tag: literal +#: Security.xml:443 +#, no-c-format +msgid "org.jboss.seam.loginSuccessful" +msgstr "" + +#. Tag: para +#: Security.xml:447 +#, no-c-format +msgid "" +"This message is produced when a user successfully logs in via the securit= y " +"API." +msgstr "" + +#. Tag: literal +#: Security.xml:455 +#, no-c-format +msgid "org.jboss.seam.loginFailed" +msgstr "" + +#. Tag: para +#: Security.xml:459 +#, no-c-format +msgid "" +"This message is produced when the login process fails, either because the= " +"user provided an incorrect username or password, or because authenticatio= n " +"failed in some other way." +msgstr "" + +#. Tag: literal +#: Security.xml:468 +#, no-c-format +msgid "org.jboss.seam.NotLoggedIn" +msgstr "" + +#. Tag: para +#: Security.xml:472 +#, no-c-format +msgid "" +"This message is produced when a user attempts to perform an action or acc= ess " +"a page that requires a security check, and the user is not currently " +"authenticated." +msgstr "" + +#. Tag: literal +#: Security.xml:481 +#, no-c-format +msgid "org.jboss.seam.AlreadyLoggedIn" +msgstr "" + +#. Tag: para +#: Security.xml:485 +#, no-c-format +msgid "" +"This message is produced when a user that is already authenticated attemp= ts " +"to log in again." +msgstr "" + +#. Tag: title +#: Security.xml:496 +#, no-c-format +msgid "Authorization" +msgstr "" + +#. Tag: para +#: Security.xml:498 +#, no-c-format +msgid "" +"There are a number of authorization features provided by the Seam Securit= y " +"API for securing access to components, component methods, and pages. This= " +"section describes each of these. An important thing to note is that if yo= u " +"wish to use any of the advanced features (such as rule-based permissions)= " +"then your components.xml must be configured to support= " +"this - see the Configuration section above." +msgstr "" + +#. Tag: title +#: Security.xml:507 +#, no-c-format +msgid "Core concepts" +msgstr "" + +#. Tag: para +#: Security.xml:509 +#, no-c-format +msgid "" +"Each of the authorization mechanisms provided by the Seam Security API ar= e " +"built upon the concept of a user being granted roles and/or permissions. = A " +"role is a group, or type, of us= er " +"that may have been granted certain privileges for performing one or more " +"specific actions within an application. A permission on the other hand is= a " +"privilege (sometimes once-off) for performing a single, specific action. = It " +"is entirely possible to build an application using nothing but permission= s, " +"however roles offer a higher level of convenience when granting privilege= s " +"to groups of users." +msgstr "" + +#. Tag: para +#: Security.xml:518 +#, no-c-format +msgid "" +"Roles are simple, consisting of only a name such as \"admin\", \"user\", " +"\"customer\", etc. Permissions consist of both a name and an action, and = are " +"represented within this documentation in the form name:action, for example customer:delete, or " +"customer:insert." +msgstr "" + +#. Tag: title +#: Security.xml:527 +#, no-c-format +msgid "Securing components" +msgstr "" + +#. Tag: para +#: Security.xml:529 +#, no-c-format +msgid "" +"Let's start by examining the simplest form of authorization, component " +"security, starting with the @Restrict annotation." +msgstr "" + +#. Tag: title +#: Security.xml:535 +#, no-c-format +msgid "The @Restrict annotation" +msgstr "" + +#. Tag: para +#: Security.xml:537 +#, no-c-format +msgid "" +"Seam components may be secured either at the method or the class level, " +"using the @Restrict annotation. If both a method and i= t's " +"declaring class are annotated with @Restrict, the meth= od " +"restriction will take precedence (and the class restriction will not appl= y). " +"If a method invocation fails a security check, then an exception will be " +"thrown as per the contract for Identity.checkRestriction() (see Inline Restrictions). A @Restrict on jus= t " +"the component class itself is equivalent to adding @Restrict to each of its methods." +msgstr "" + +#. Tag: para +#: Security.xml:547 +#, no-c-format +msgid "" +"An empty @Restrict implies a permission check of " +"componentName:methodName. Take for example the followi= ng " +"component method:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:552 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:554 +#, no-c-format +msgid "" +"In this example, the implied permission required to call the del= ete" +"() method is account:delete. The equivalent = of " +"this would be to write @Restrict(\"#{s:hasPermission" +"('account','delete',null)}\"). Now let's look at another exampl= e:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:561 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:563 +#, no-c-format +msgid "" +"This time, the component class itself is annotated with @Restric= t. This means that any methods without an overriding " +"@Restrict annotation require an implicit permission " +"check. In the case of this example, the insert() metho= d " +"requires a permission of account:insert, while the " +"delete() method requires that the user is a member of = the " +"admin role." +msgstr "" + +#. Tag: para +#: Security.xml:571 +#, no-c-format +msgid "" +"Before we go any further, let's address the #{s:hasRole()} expression seen in the above example. Both s:hasRole and s:hasPermission are EL functions, which " +"delegate to the correspondingly named methods of the Identity class. These functions can be used within any EL expression " +"throughout the entirety of the security API." +msgstr "" + +#. Tag: para +#: Security.xml:578 +#, no-c-format +msgid "" +"Being an EL expression, the value of the @Restrict " +"annotation may reference any objects that exist within a Seam context. Th= is " +"is extremely useful when performing permission checks for a specific obje= ct " +"instance. Look at this example:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:584 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:586 +#, no-c-format +msgid "" +"The interesting thing to note from this example is the reference to " +"selectedAccount seen within the hasPermission= () function call. The value of this variable will be looked up from= " +"within the Seam context, and passed to the hasPermission() method in Identity, which in this case can th= en " +"determine if the user has the required permission for modifying the " +"specified Account object." +msgstr "" + +#. Tag: title +#: Security.xml:596 +#, no-c-format +msgid "Inline restrictions" +msgstr "" + +#. Tag: para +#: Security.xml:597 +#, no-c-format +msgid "" +"Sometimes it might be desirable to perform a security check in code, with= out " +"using the @Restrict annotation. In this situation, sim= ply " +"use Identity.checkRestriction() to evaluate a security= " +"expression, like this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:603 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:605 +#, no-c-format +msgid "" +"If the expression specified doesn't evaluate to true, " +"either" +msgstr "" + +#. Tag: para +#: Security.xml:611 +#, no-c-format +msgid "" +"if the user is not logged in, a NotLoggedInException " +"exception is thrown or" +msgstr "" + +#. Tag: para +#: Security.xml:617 +#, no-c-format +msgid "" +"if the user is logged in, an AuthorizationException " +"exception is thrown." +msgstr "" + +#. Tag: para +#: Security.xml:624 +#, no-c-format +msgid "" +"It is also possible to call the hasRole() and " +"hasPermission() methods directly from Java code:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:629 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Security.xml:635 +#, no-c-format +msgid "Security in the user interface" +msgstr "" + +#. Tag: para +#: Security.xml:637 +#, no-c-format +msgid "" +"One indication of a well designed user interface is that the user is not " +"presented with options for which they don't have the necessary privileges= to " +"use. Seam Security allows conditional rendering of either 1) sections of = a " +"page or 2) individual controls, based upon the privileges of the user, us= ing " +"the very same EL expressions that are used for component security." +msgstr "" + +#. Tag: para +#: Security.xml:644 +#, no-c-format +msgid "" +"Let's take a look at some examples of interface security. First of all, " +"let's pretend that we have a login form that should only be rendered if t= he " +"user is not already logged in. Using the identity.isLoggedIn() property, we can write this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:650 +#, no-c-format +msgid "" +"]]" +">" +msgstr "" + +#. Tag: para +#: Security.xml:652 +#, no-c-format +msgid "" +"If the user isn't logged in, then the login form will be rendered - very " +"straight forward so far. Now let's pretend there is a menu on the page th= at " +"contains some actions which should only be accessible to users in the " +"manager role. Here's one way that these could be writt= en:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:658 +#, no-c-format +msgid "" +"\n" +" Manager Reports\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:660 +#, no-c-format +msgid "" +"This is also quite straight forward. If the user is not a member of the " +"manager role, then the outputLink will not be rendered= . " +"The rendered attribute can generally be used on the " +"control itself, or on a surrounding <s:div> or " +"<s:span> control." +msgstr "" + +#. Tag: para +#: Security.xml:667 +#, no-c-format +msgid "" +"Now for something more complex. Let's say you have a h:dataTable= control on a page listing records for which you may or may not w= ish " +"to render action links depending on the user's privileges. The s= :" +"hasPermission EL function allows us to pass in an object parame= ter " +"which can be used to determine whether the user has the requested permiss= ion " +"for that object or not. Here's how a dataTable with secured links might l= ook:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:675 +#, no-c-format +msgid "" +"\n" +" \n" +" Name\n" +" #{cl.name}\n" +" \n" +" \n" +" City\n" +" #{cl.city}\n" +" \n" +" \n" +" Action\n" +" \= n" +" \= n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Security.xml:680 +#, no-c-format +msgid "Securing pages" +msgstr "" + +#. Tag: para +#: Security.xml:681 +#, no-c-format +msgid "" +"Page security requires that the application is using a pages.xml= file, however is extremely simple to configure. Simply include a= " +"<restrict/> element within the page elements that you wish to secure. If no explicit restriction is " +"specified by the restrict element, an implied permissi= on " +"of /viewId.xhtml:render will be checked when the page = is " +"accessed via a non-faces (GET) request, and a permission of /vie= wId." +"xhtml:restore will be required when any JSF postback (form " +"submission) originates from the page. Otherwise, the specified restrictio= n " +"will be evaluated as a standard security expression. Here's a couple of " +"examples:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:692 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:694 +#, no-c-format +msgid "" +"This page has an implied permission of /settings.xhtml:render required for non-faces requests and an implied permission of " +"/settings.xhtml:restore for faces requests." +msgstr "" + +#. Tag: programlisting +#: Security.xml:699 +#, no-c-format +msgid "" +"\n" +" #{s:hasRole('admin')}\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:701 +#, no-c-format +msgid "" +"Both faces and non-faces requests to this page require that the user is a= " +"member of the admin role." +msgstr "" + +#. Tag: title +#: Security.xml:709 +#, no-c-format +msgid "Securing Entities" +msgstr "" + +#. Tag: para +#: Security.xml:711 +#, no-c-format +msgid "" +"Seam security also makes it possible to apply security restrictions to re= ad, " +"insert, update and delete actions for entities." +msgstr "" + +#. Tag: para +#: Security.xml:716 +#, no-c-format +msgid "" +"To secure all actions for an entity class, add a @Restrict annotation on the class itself:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:721 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:723 +#, no-c-format +msgid "" +"If no expression is specified in the @Restrict " +"annotation, the default security check that is performed is a permission " +"check of entityName:action, where entityName<= /" +"literal> is the Seam component name of the entity (or the fully-qualified= " +"class name if no @Name is specified), and the action i= s " +"either read, insert, updat= e or delete." +msgstr "" + +#. Tag: para +#: Security.xml:731 +#, no-c-format +msgid "" +"It is also possible to only restrict certain actions, by placing a " +"@Restrict annotation on the relevent entity lifecycle " +"method (annotated as follows):" +msgstr "" + +#. Tag: para +#: Security.xml:738 +#, no-c-format +msgid "" +"@PostLoad - Called after an entity instance is loaded " +"from the database. Use this method to configure a read= " +"permission." +msgstr "" + +#. Tag: para +#: Security.xml:744 +#, no-c-format +msgid "" +"@PrePersist - Called before a new instance of the enti= ty " +"is inserted. Use this method to configure an insert " +"permission." +msgstr "" + +#. Tag: para +#: Security.xml:750 +#, no-c-format +msgid "" +"@PreUpdate - Called before an entity is updated. Use t= his " +"method to configure an update permission." +msgstr "" + +#. Tag: para +#: Security.xml:756 +#, no-c-format +msgid "" +"@PreRemove - Called before an entity is deleted. Use t= his " +"method to configure a delete permission." +msgstr "" + +#. Tag: para +#: Security.xml:763 +#, no-c-format +msgid "" +"Here's an example of how an entity would be configured to perform a secur= ity " +"check for any insert operations. Please note that the " +"method is not required to do anything, the only important thing in regard= to " +"security is how it is annotated:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:769 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Security.xml:772 +#, no-c-format +msgid "Using /META-INF/orm.xml" +msgstr "" + +#. Tag: para +#: Security.xml:775 +#, no-c-format +msgid "" +"You can also specify the call back method in /META-INF/orm.xml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:779 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:781 +#, no-c-format +msgid "" +"Of course, you still need to annotate the prePersist()= " +"method on Customer with @Restrict" +msgstr "" + +#. Tag: para +#: Security.xml:787 +#, no-c-format +msgid "" +"And here's an example of an entity permission rule that checks if the " +"authenticated user is allowed to insert a new MemberBlog " +"record (from the seamspace example). The entity for which the security ch= eck " +"is being made is automatically inserted into the working memory (in this " +"case MemberBlog):" +msgstr "" + +#. Tag: programlisting +#: Security.xml:793 +#, no-c-format +msgid "" +" (member.getUsername().equals" +"(principalName)))\n" +"then\n" +" check.grant();\n" +"end;]]>" +msgstr "" + +#. Tag: para +#: Security.xml:795 +#, no-c-format +msgid "" +"This rule will grant the permission memberBlog:insert = if " +"the currently authenticated user (indicated by the Principal fact) has the same name as the member for which the blog entry i= s " +"being created. The \"principalName : name\" structure " +"that can be seen in the Principal fact (and other plac= es) " +"is a variable binding - it binds the name property of = the " +"Principal to a variable called principalName<= /" +"literal>. Variable bindings allow the value to be referred to in other " +"places, such as the following line which compares the member's username t= o " +"the Principal name. For more details, please refer to = the " +"JBoss Rules documentation." +msgstr "" + +#. Tag: para +#: Security.xml:805 +#, no-c-format +msgid "" +"Finally, we need to install a listener class that integrates Seam securit= y " +"with your JPA provider." +msgstr "" + +#. Tag: title +#: Security.xml:811 +#, no-c-format +msgid "Entity security with JPA" +msgstr "" + +#. Tag: para +#: Security.xml:813 +#, no-c-format +msgid "" +"Security checks for EJB3 entity beans are performed with an " +"EntityListener. You can install this listener by using= " +"the following META-INF/orm.xml file:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:818 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: title +#: Security.xml:823 +#, no-c-format +msgid "Entity security with a Managed Hibernate Session" +msgstr "" + +#. Tag: para +#: Security.xml:825 +#, no-c-format +msgid "" +"If you are using a Hibernate SessionFactory configured= " +"via Seam, and are using annotations, or orm.xml, then = you " +"don't need to do anything special to use entity security." +msgstr "" + +#. Tag: title +#: Security.xml:838 +#, no-c-format +msgid "Writing Security Rules" +msgstr "" + +#. Tag: para +#: Security.xml:840 +#, no-c-format +msgid "" +"Up to this point there has been a lot of mention of permissions, but no " +"information about how permissions are actually defined or granted. This " +"section completes the picture, by explaining how permission checks are " +"processed, and how to implement permission checks for a Seam application." +msgstr "" + +#. Tag: title +#: Security.xml:847 +#, no-c-format +msgid "Permissions Overview" +msgstr "" + +#. Tag: para +#: Security.xml:849 +#, no-c-format +msgid "" +"So how does the security API know whether a user has the custome= r:" +"modify permission for a specific customer? Seam Security provid= es " +"quite a novel method for determining user permissions, based on JBoss Rul= es. " +"A couple of the advantages of using a rule engine are 1) a centralized " +"location for the business logic that is behind each user permission, and = 2) " +"speed - JBoss Rules uses very efficient algorithms for evaluating large " +"numbers of complex rules involving multiple conditions." +msgstr "" + +#. Tag: title +#: Security.xml:860 +#, no-c-format +msgid "Configuring a rules file" +msgstr "" + +#. Tag: para +#: Security.xml:862 +#, no-c-format +msgid "" +"Seam Security expects to find a RuleBase component cal= led " +"securityRules which it uses to evaluate permission " +"checks. This is configured in components.xml as follow= s:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:867 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" \n" +" /META-INF/security.drl\n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:869 +#, no-c-format +msgid "" +"Once the RuleBase component is configured, it's time t= o " +"write the security rules." +msgstr "" + +#. Tag: title +#: Security.xml:875 +#, no-c-format +msgid "Creating a security rules file" +msgstr "" + +#. Tag: para +#: Security.xml:876 +#, no-c-format +msgid "" +"For this step you need to create a file called security.drl in the /META-INF directory of your applicatio= n's " +"jar file. In actual fact this file can be called anything you want, and " +"exist in any location as long as it is configured appropriately in " +"components.xml." +msgstr "" + +#. Tag: para +#: Security.xml:883 +#, no-c-format +msgid "" +"So what should the security rules file contain? At this stage it might be= a " +"good idea to at least skim through the JBoss Rules documentation, however= to " +"get started here's an extremely simple example:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:888 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:890 +#, no-c-format +msgid "" +"Let's break this down. The first thing we see is the package declaration.= A " +"package in JBoss Rules is essentially a collection of rules. The package " +"name can be anything you want - it doesn't relate to anything else outsid= e " +"the scope of the rule base." +msgstr "" + +#. Tag: para +#: Security.xml:896 +#, no-c-format +msgid "" +"The next thing we can notice is a couple of import statements for the " +"PermissionCheck and Role classes. " +"These imports inform the rules engine that we'll be referencing these " +"classes within our rules." +msgstr "" + +#. Tag: para +#: Security.xml:902 +#, no-c-format +msgid "" +"Finally we have the code for the rule. Each rule within a package should = be " +"given a unique name (usually describing the purpose of the rule). In this= " +"case our rule is called CanUserDeleteCustomers and wil= l " +"be used to check whether a user is allowed to delete a customer record." +msgstr "" + +#. Tag: para +#: Security.xml:908 +#, no-c-format +msgid "" +"Looking at the body of the rule definition we can notice two distinct " +"sections. Rules have what is known as a left hand side (LHS) and a right " +"hand side (RHS). The LHS consists of the conditional part of the rule, i.= e. " +"a list of conditions which must be satisfied for the rule to fire. The LH= S " +"is represented by the when section. The RHS is the " +"consequence, or action section of the rule that will only be fired if all= of " +"the conditions in the LHS are met. The RHS is represented by the " +"then section. The end of the rule is denoted by the " +"end; line." +msgstr "" + +#. Tag: para +#: Security.xml:917 +#, no-c-format +msgid "" +"If we look at the LHS of the rule, we see two conditions listed there. Le= t's " +"examine the first condition:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:921 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:923 +#, no-c-format +msgid "" +"In plain english, this condition is stating that there must exist a " +"PermissionCheck object with a name " +"property equal to \"customer\", and an action property= " +"equal to \"delete\" within the working memory." +msgstr "" + +#. Tag: para +#: Security.xml:929 +#, no-c-format +msgid "" +"So what is the working memory? Also known as a \"stateful session\" in " +"Drools terminology, the working memory is a session-scoped object that " +"contains the contextual information that is required by the rules engine = to " +"make a decision about a permission check. Each time the " +"hasPermission() method is called, a temporary " +"PermissionCheck object, or Fact, = is " +"inserted into the working memory. This PermissionCheck= " +"corresponds exactly to the permission that is being checked, so for examp= le " +"if you call hasPermission(\"account\", \"create\", null) " +"then a PermissionCheck object with a name equal to \"account\" and action equal to \"cr= eate" +"\" will be inserted into the working memory for the duration of the " +"permission check." +msgstr "" + +#. Tag: para +#: Security.xml:941 +#, no-c-format +msgid "" +"Besides the PermissionCheck facts, there is also a " +"org.jboss.seam.security.Role fact for each of the role= s " +"that the authenticated user is a member of. These Role= " +"facts are synchronized with the user's authenticated roles at the beginni= ng " +"of every permission check. As a consequence, any Role " +"object that is inserted into the working memory during the course of a " +"permission check will be removed before the next permission check occurs,= if " +"the authenticated user is not a member of that role. Besides the " +"PermissionCheck and Role facts, the= " +"working memory also contains the java.security.Principal " +"object that was created during the authentication process." +msgstr "" + +#. Tag: para +#: Security.xml:952 +#, no-c-format +msgid "" +"It is also possible to insert additional long-lived facts into the workin= g " +"memory by calling ((RuleBasedIdentity) RuleBasedIdentity.instanc= e" +"()).getSecurityContext().insert(), passing the object as a " +"parameter. The exception to this is Role objects, whic= h " +"as already discussed are synchronized at the start of each permission che= ck." +msgstr "" + +#. Tag: para +#: Security.xml:959 +#, no-c-format +msgid "" +"Getting back to our simple example, we can also notice that the first lin= e " +"of our LHS is prefixed with c:. This is a variable " +"binding, and is used to refer back to the object that is matched by the " +"condition. Moving onto the second line of our LHS, we see this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:965 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: Security.xml:967 +#, no-c-format +msgid "" +"This condition simply states that there must be a Role= " +"object with a name of \"admin\" within the working " +"memory. As mentioned, user roles are inserted into the working memory at = the " +"beginning of each permission check. So, putting both conditions together,= " +"this rule is essentially saying \"I will fire if you are checking for the= " +"customer:delete permission and the user is a member of= " +"the admin role\"." +msgstr "" + +#. Tag: para +#: Security.xml:975 +#, no-c-format +msgid "" +"So what is the consequence of the rule firing? Let's take a look at the R= HS " +"of the rule:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:979 +#, no-c-format +msgid "" +msgstr "" + +#. Tag: para +#: Security.xml:981 +#, no-c-format +msgid "" +"The RHS consists of Java code, and in this case is invoking the " +"grant() method of the c object, whi= ch " +"as already mentioned is a variable binding for the PermissionChe= ck object. Besides the name and action<= /" +"literal> properties of the PermissionCheck object, the= re " +"is also a granted property which is initially set to " +"false. Calling grant() on a " +"PermissionCheck sets the granted " +"property to true, which means that the permission chec= k " +"was successful, allowing the user to carry out whatever action the " +"permission check was intended for." +msgstr "" + +#. Tag: title +#: Security.xml:994 +#, no-c-format +msgid "Wildcard permission checks" +msgstr "" + +#. Tag: para +#: Security.xml:996 +#, no-c-format +msgid "" +"It is possible to implement a wildcard permission check (which allows all= " +"actions for a given permission name), by omitting the action constraint for the PermissionCheck in your ru= le, " +"like this:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1002 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:1004 +#, no-c-format +msgid "" +"This rule allows users with the admin role to perform " +"any action for any customer " +"permission check." +msgstr "" + +#. Tag: title +#: Security.xml:1015 +#, no-c-format +msgid "SSL Security" +msgstr "" + +#. Tag: para +#: Security.xml:1017 +#, no-c-format +msgid "" +"Seam includes basic support for serving sensitive pages via the HTTPS " +"protocol. This is easily configured by specifying a scheme for the page in pages.xml. The following exam= ple " +"shows how the view /login.xhtml is configured to use " +"HTTPS:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1024 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Security.xml:1026 +#, no-c-format +msgid "" +"This configuration is automatically extended to both s:link and s:button JSF controls, which (when " +"specifying the view) will also render the link using t= he " +"correct protocol. Based on the previous example, the following link will = use " +"the HTTPS protocol because /login.xhtml is configured = to " +"use it:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1033 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Security.xml:1035 +#, no-c-format +msgid "" +"Browsing directly to a view when using the incorrect= " +"protocol will cause a redirect to the same view using the corre= ct protocol. For example, browsing to a page that has sch= eme=3D" +"\"https\" using HTTP will cause a redirect to the same page usi= ng " +"HTTPS." +msgstr "" + +#. Tag: para +#: Security.xml:1042 +#, no-c-format +msgid "" +"It is also possible to configure a default scheme fo= r " +"all pages. This is useful if you wish to use HTTPS for a only few pages. = If " +"no default scheme is specified then the normal behavior is to continue us= e " +"the current scheme. So once the user accessed a page that required HTTPS,= " +"then HTTPS would continue to be used after the user navigated away to oth= er " +"non-HTTPS pages. (While this is good for security, it is not so great for= " +"performance!). To define HTTP as the default scheme, a= dd " +"this line to pages.xml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1051 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Security.xml:1053 +#, no-c-format +msgid "" +"Of course, if none of the pages in your application = use " +"HTTPS then it is not required to specify a default scheme." +msgstr "" + +#. Tag: para +#: Security.xml:1058 +#, no-c-format +msgid "" +"You may configure Seam to automatically invalidate the current HTTP sessi= on " +"each time the scheme changes. Just add this line to components.x= ml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1063 +#, no-c-format +msgid "" +"]]= >" +msgstr "" + +#. Tag: para +#: Security.xml:1065 +#, no-c-format +msgid "" +"This option helps make your system less vulnerable to sniffing of the " +"session id or leakage of sensitive data from pages using HTTPS to other " +"pages using HTTP." +msgstr "" + +#. Tag: title +#: Security.xml:1073 +#, no-c-format +msgid "CAPTCHA" +msgstr "" + +#. Tag: para +#: Security.xml:1075 +#, no-c-format +msgid "" +"Though strictly not part of the security API, Seam provides a built-in " +"CAPTCHA (Completely Automated " +"Public Turing test to tell " +"Computers and Humans = Apart) algorithm to prevent automated processes from interacting " +"with your application." +msgstr "" + +#. Tag: title +#: Security.xml:1083 +#, no-c-format +msgid "Configuring the CAPTCHA Servlet" +msgstr "" + +#. Tag: para +#: Security.xml:1084 +#, no-c-format +msgid "" +"To get up and running, it is necessary to configure the Seam Resource " +"Servlet, which will provide the Captcha challenge images to your pages. T= his " +"requires the following entry in web.xml:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1089 +#, no-c-format +msgid "" +"\n" +" Seam Resource Servlet\n" +" org.jboss.seam.servlet.SeamResourceServlet\n" +"\n" +"\n" +"\n" +" Seam Resource Servlet\n" +" /seam/resource/*\n" +"]]>" +msgstr "" + +#. Tag: title +#: Security.xml:1094 +#, no-c-format +msgid "Adding a CAPTCHA to a form" +msgstr "" + +#. Tag: para +#: Security.xml:1096 +#, no-c-format +msgid "" +"Adding a CAPTCHA challenge to a form is extremely easy. Here's an example= :" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1100 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Security.xml:1102 +#, no-c-format +msgid "" +"That's all there is to it. The graphicImage control " +"displays the CAPTCHA challenge, and the inputText " +"receives the user's response. The response is automatically validated " +"against the CAPTCHA when the form is submitted." +msgstr "" + +#. Tag: title +#: Security.xml:1111 +#, no-c-format +msgid "Customising the CAPTCHA algorithm" +msgstr "" + +#. Tag: para +#: Security.xml:1113 +#, no-c-format +msgid "" +"You may customize the CAPTCHA algorithm by overriding the built-in compon= ent:" +msgstr "" + +#. Tag: programlisting +#: Security.xml:1117 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Security.xml:1124 Security.xml:1131 +#, no-c-format +msgid "Security Events" +msgstr "" + +#. Tag: para +#: Security.xml:1126 +#, no-c-format +msgid "" +"The following table describes a number of events (see ) raised by Seam Security." +msgstr "" + +#. Tag: para +#: Security.xml:1140 +#, no-c-format +msgid "Event Key" +msgstr "" + +#. Tag: literal +#: Security.xml:1153 +#, no-c-format +msgid "org.jboss.seam.security.loginSuccessful" +msgstr "" + +#. Tag: para +#: Security.xml:1157 +#, no-c-format +msgid "Raised when a login attempt is successful." +msgstr "" + +#. Tag: literal +#: Security.xml:1165 +#, no-c-format +msgid "org.jboss.seam.security.loginFailed" +msgstr "" + +#. Tag: para +#: Security.xml:1169 +#, no-c-format +msgid "Raised when a login attempt fails." +msgstr "" + +#. Tag: literal +#: Security.xml:1177 +#, no-c-format +msgid "org.jboss.seam.security.alreadyLoggedIn" +msgstr "" + +#. Tag: para +#: Security.xml:1181 +#, no-c-format +msgid "" +"Raised when a user that is already authenticated attempts to log in again= ." +msgstr "" + +#. Tag: literal +#: Security.xml:1189 +#, no-c-format +msgid "org.jboss.seam.security.notLoggedIn" +msgstr "" + +#. Tag: para +#: Security.xml:1193 +#, no-c-format +msgid "Raised when a security check fails when the user is not logged in." +msgstr "" + +#. Tag: literal +#: Security.xml:1201 +#, no-c-format +msgid "org.jboss.seam.security.notAuthorized" +msgstr "" + +#. Tag: para +#: Security.xml:1205 +#, no-c-format +msgid "" +"Raised when a security check fails when the user is logged in however " +"doesn't have sufficient privileges." +msgstr "" + +#. Tag: literal +#: Security.xml:1213 +#, no-c-format +msgid "org.jboss.seam.security.preAuthenticate" +msgstr "" + +#. Tag: para +#: Security.xml:1217 +#, no-c-format +msgid "Raised just prior to user authentication." +msgstr "" + +#. Tag: literal +#: Security.xml:1225 +#, no-c-format +msgid "org.jboss.seam.security.postAuthenticate" +msgstr "" + +#. Tag: para +#: Security.xml:1229 +#, no-c-format +msgid "Raised just after user authentication." +msgstr "" + +#. Tag: literal +#: Security.xml:1237 +#, no-c-format +msgid "org.jboss.seam.security.loggedOut" +msgstr "" + +#. Tag: para +#: Security.xml:1241 +#, no-c-format +msgid "Raised after the user has logged out." +msgstr "" + +#. Tag: literal +#: Security.xml:1249 +#, no-c-format +msgid "org.jboss.seam.security.credentialsUpdated" +msgstr "" + +#. Tag: para +#: Security.xml:1253 +#, no-c-format +msgid "Raised when the user's credentials have been changed." +msgstr "" + +#. Tag: literal +#: Security.xml:1261 +#, no-c-format +msgid "org.jboss.seam.security.rememberMe" +msgstr "" + +#. Tag: para +#: Security.xml:1265 +#, no-c-format +msgid "Raised when the Identity's rememberMe property is changed." +msgstr "" + +#. Tag: title +#: Security.xml:1278 +#, no-c-format +msgid "Run As" +msgstr "" + +#. Tag: para +#: Security.xml:1280 +#, no-c-format +msgid "" +"Sometimes it may be necessary to perform certain operations with elevated= " +"privileges, such as creating a new user account as an unauthenticated use= r. " +"Seam Security supports such a mechanism via the RunAsOperation class. This class allows either the Principal= or " +"Subject, or the user's roles to be overridden for a " +"single set of operations." +msgstr "" + +#. Tag: para +#: Security.xml:1288 +#, no-c-format +msgid "" +"The following code example demonstrates how RunAsOperation is used, by overriding its getRoles() method = to " +"specify a set of roles to masquerade as for the duration of the operation= . " +"The execute() method contains the code that will be " +"executed with the elevated privileges." +msgstr "" + +#. Tag: programlisting +#: Security.xml:1295 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Security.xml:1297 +#, no-c-format +msgid "" +"In a similar way, the getPrincipal() or " +"getSubject() methods can also be overriden to specify = the " +"Principal and Subject instances to = use " +"for the duration of the operation. Finally, the run() " +"method is used to carry out the RunAsOperation." +msgstr "" + +#. Tag: title +#: Security.xml:1308 +#, no-c-format +msgid "Extending the Identity component" +msgstr "" + +#. Tag: para +#: Security.xml:1310 +#, no-c-format +msgid "" +"Sometimes it might be necessary to extend the Identity component if your " +"application has special security requirements. For example, users might b= e " +"required to authenticate using a Company or Department ID, along with the= ir " +"usual username and password. If permission-based security is required the= n " +"RuleBasedIdentity should be extended, otherwise Identity should be extend= ed." +msgstr "" + +#. Tag: para +#: Security.xml:1318 +#, no-c-format +msgid "" +"The following example shows an extended Identity component with an " +"additional companyCode field. The install precendence = of " +"APPLICATION ensures that this extended Identity gets " +"installed in preference to the built-in Identity." +msgstr "" + +#. Tag: programlisting +#: Security.xml:1324 +#, no-c-format +msgid "" +"" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Spring.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Spring.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Spring.po 2008-04-21 0= 0:41:49 UTC (rev 7985) @@ -0,0 +1,875 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Spring.xml:3 +#, no-c-format +msgid "Spring Framework integration" +msgstr "" + +#. Tag: para +#: Spring.xml:5 +#, no-c-format +msgid "" +"The Spring integration module allows easy migration of Spring-based proje= cts " +"to Seam and allows Spring applications to take advantage of key Seam " +"features like conversations and Seam's more sophisticated persistence " +"context management." +msgstr "" + +#. Tag: para +#: Spring.xml:9 +#, no-c-format +msgid "" +"Note! The Spring integration code is included in the jboss-seam-ioc libra= ry. " +"This dependency is required for all seam-spring integration techniques " +"covered in this chapter." +msgstr "" + +#. Tag: para +#: Spring.xml:12 +#, no-c-format +msgid "Seam's support for Spring provides the ability to:" +msgstr "" + +#. Tag: para +#: Spring.xml:16 +#, no-c-format +msgid "inject Seam component instances into Spring beans" +msgstr "" + +#. Tag: para +#: Spring.xml:19 +#, no-c-format +msgid "inject Spring beans into Seam components" +msgstr "" + +#. Tag: para +#: Spring.xml:22 +#, no-c-format +msgid "turn Spring beans into Seam components" +msgstr "" + +#. Tag: para +#: Spring.xml:25 +#, no-c-format +msgid "allow Spring beans to live in any Seam context" +msgstr "" + +#. Tag: para +#: Spring.xml:28 +#, no-c-format +msgid "start a spring WebApplicationContext with a Seam component" +msgstr "" + +#. Tag: para +#: Spring.xml:31 +#, no-c-format +msgid "Support for Spring PlatformTransactionManagement" +msgstr "" + +#. Tag: para +#: Spring.xml:34 +#, no-c-format +msgid "" +"provides a Seam managed replacement for Spring's " +"OpenEntityManagerInViewFilter and " +"OpenSessionInViewFilter" +msgstr "" + +#. Tag: para +#: Spring.xml:37 +#, no-c-format +msgid "" +"Support for Spring TaskExecutors to back " +"@Asynchronous calls" +msgstr "" + +#. Tag: title +#: Spring.xml:42 +#, no-c-format +msgid "Injecting Seam components into Spring beans" +msgstr "" + +#. Tag: para +#: Spring.xml:44 +#, no-c-format +msgid "" +"Injecting Seam component instances into Spring beans is accomplished usin= g " +"the <seam:instance/> namespace handler. To enabl= e " +"the Seam namespace handler, the Seam namespace must be added to the Sprin= g " +"beans definition file:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:48 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:50 +#, no-c-format +msgid "Now any Seam component may be injected into any Spring bean:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:52 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:54 +#, no-c-format +msgid "An EL expression may be used instead of a component name:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:56 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:58 +#, no-c-format +msgid "" +"Seam component instances may even be made available for injection into " +"Spring beans by a Spring bean id." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:60 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:62 +#, no-c-format +msgid "Now for the caveat!" +msgstr "" + +#. Tag: para +#: Spring.xml:64 +#, no-c-format +msgid "" +"Seam was designed from the ground up to support a stateful component mode= l " +"with multiple contexts. Spring was not. Unlike Seam bijection, Spring " +"injection does not occur at method invocation time. Instead, injection " +"happens only when the Spring bean is instantiated. So the instance availa= ble " +"when the bean is instantiated will be the same instance that the bean use= s " +"for the entire life of the bean. For example, if a Seam " +"CONVERSATION-scoped component instance is directly " +"injected into a singleton Spring bean, that singleton will hold a referen= ce " +"to the same instance long after the conversation is over! We call this " +"problem scope impedance. Seam bijection ensures that= " +"scope impedance is maintained naturally as an invocation flows through th= e " +"system. In Spring, we need to inject a proxy of the Seam component, and " +"resolve the reference when the proxy is invoked." +msgstr "" + +#. Tag: para +#: Spring.xml:74 +#, no-c-format +msgid "" +"The <seam:instance/> tag lets us automatically " +"proxy the Seam component." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:76 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:78 +#, no-c-format +msgid "" +"This example shows one way to use a Seam-managed persistence context from= a " +"Spring bean. (For a more robust way to use Seam-managed persistence conte= xts " +"as a replacement for the Spring OpenEntityManagerInView " +"filter see section on Using a Seam= " +"Managed Persistence Context in Spring)" +msgstr "" + +#. Tag: title +#: Spring.xml:85 +#, no-c-format +msgid "Injecting Spring beans into Seam components" +msgstr "" + +#. Tag: para +#: Spring.xml:87 +#, no-c-format +msgid "" +"It is even easier to inject Spring beans into Seam component instances. " +"Actually, there are two possible approaches:" +msgstr "" + +#. Tag: para +#: Spring.xml:92 +#, no-c-format +msgid "inject a Spring bean using an EL expression" +msgstr "" + +#. Tag: para +#: Spring.xml:95 +#, no-c-format +msgid "make the Spring bean a Seam component" +msgstr "" + +#. Tag: para +#: Spring.xml:99 +#, no-c-format +msgid "" +"We'll discuss the second option in the next section. The easiest approach= is " +"to access the Spring beans via EL." +msgstr "" + +#. Tag: para +#: Spring.xml:102 +#, no-c-format +msgid "" +"The Spring DelegatingVariableResolver is an integratio= n " +"point Spring provides for integrating Spring with JSF. This " +"VariableResolver makes all Spring beans available in E= L " +"by their bean id. You'll need to add the " +"DelegatingVariableResolver to faces-config.xm= l:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:107 +#, no-c-format +msgid "" +"\n" +" \n" +" org.springframework.web.jsf.DelegatingVariableResolver\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:109 +#, no-c-format +msgid "Then you can inject Spring beans using @In:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:111 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Spring.xml:113 +#, no-c-format +msgid "" +"The use of Spring beans in EL is not limited to injection. Spring beans m= ay " +"be used anywhere that EL expressions are used in Seam: process and pagefl= ow " +"definitions, working memory assertions, etc..." +msgstr "" + +#. Tag: title +#: Spring.xml:119 +#, no-c-format +msgid "Making a Spring bean into a Seam component" +msgstr "" + +#. Tag: para +#: Spring.xml:121 +#, no-c-format +msgid "" +"The <seam:component/> namespace handler can be u= sed " +"to make any Spring bean a Seam component. Just place the <sea= m:" +"component/> tag within the declaration of the bean that you " +"wish to be a Seam component:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:125 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:127 +#, no-c-format +msgid "" +"By default, <seam:component/> will create a " +"STATELESS Seam component with class and name provided = in " +"the bean definition. Occasionally, such as when a FactoryBean is used, the class of the Spring bean may not be the class " +"appearing in the bean definition. In such cases the class " +"should be explicitly specified. A Seam component name may be explicitly " +"specified in cases where there is potential for a naming conflict." +msgstr "" + +#. Tag: para +#: Spring.xml:133 +#, no-c-format +msgid "" +"The scope attribute of <seam:component/>= ; may be used if you wish the Spring bean to be managed in a " +"particular Seam scope. The Spring bean must be scoped to prototy= pe if the Seam scope specified is anything other than " +"STATELESS. Pre-existing Spring beans usually have a " +"fundamentally stateless character, so this attribute is not usually neede= d." +msgstr "" + +#. Tag: title +#: Spring.xml:142 +#, no-c-format +msgid "Seam-scoped Spring beans" +msgstr "" + +#. Tag: para +#: Spring.xml:144 +#, no-c-format +msgid "" +"The Seam integration package also lets you use Seam's contexts as Spring = 2.0 " +"style custom scopes. This lets you declare any Spring bean in any of Seam= 's " +"contexts. However, note once again that Spring's component model was neve= r " +"architected to support statefulness, so please use this feature with grea= t " +"care. In particular, clustering of session or conversation scoped Spring " +"beans is deeply problematic, and care must be taken when injecting a bean= or " +"component from a wider scope into a bean of a narrower scope." +msgstr "" + +#. Tag: para +#: Spring.xml:150 +#, no-c-format +msgid "" +"By specifying <seam:configure-scopes/> once in a= " +"Spring bean factory configuration, all of the Seam scopes will be availab= le " +"to Spring beans as custom scopes. To associate a Spring bean with a " +"particular Seam scope, specify the Seam scope in the scope attribute of the bean definition." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:155 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"...\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:157 +#, no-c-format +msgid "" +"The prefix of the scope name may be changed by specifying the " +"prefix attribute in the configure-scopes definition. (The default prefix is seam.)" +msgstr "" + +#. Tag: para +#: Spring.xml:160 +#, no-c-format +msgid "" +"By default an instance of a Spring Component registered in this way is no= t " +"automatically created when referenced using @In. To ha= ve " +"an instance auto-created you must either specify @In(create=3Dtr= ue) at the injection point to identify a specific bean to be auto " +"created or you can use the default-auto-create attribu= te " +"of configure-scopes to make all spring beans who use a= " +"seam scope auto created." +msgstr "" + +#. Tag: para +#: Spring.xml:165 +#, no-c-format +msgid "" +"Seam-scoped Spring beans defined this way can be injected into other Spri= ng " +"beans without the use of <seam:instance/>. Howev= er, " +"care must be taken to ensure scope impedance is maintained. The normal " +"approach used in Spring is to specify <aop:scoped-proxy/><= /" +"literal> in the bean definition. However, Seam-scoped Spring beans are " +"not compatible with <aop:scoped-proxy/&g= t;. So if you need to inject a Seam-scoped Spring bean into a " +"singleton, <seam:instance/> must be used:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:173 +#, no-c-format +msgid "" +"\n" +"\n" +"...\n" +"\n" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Spring.xml:177 +#, no-c-format +msgid "Using Spring PlatformTransactionManagement" +msgstr "" + +#. Tag: para +#: Spring.xml:179 +#, no-c-format +msgid "" +"Spring provides an extensible transaction management abstraction with " +"support for many transaction APIs (JPA, Hibernate, JDO, and JTA) Spring a= lso " +"provides tight integrations with many application server TransactionManag= ers " +"such as Websphere and Weblogic. Spring transaction management exposes " +"support for many advanced features such as nested transactions and suppor= ts " +"full Java EE transaction propagation rules like REQUIRES_NEW and " +"NOT_SUPPORTED. For more information see the spring documentation here." +msgstr "" + +#. Tag: para +#: Spring.xml:187 +#, no-c-format +msgid "" +"To configure Seam to use Spring transactions enable the SpringTransaction= " +"component like so:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:189 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:191 +#, no-c-format +msgid "" +"The spring:spring-transaction component will utilize " +"Springs transaction synchronization capabilities for synchronization " +"callbacks." +msgstr "" + +#. Tag: title +#: Spring.xml:197 +#, no-c-format +msgid "Using a Seam Managed Persistence Context in Spring" +msgstr "" + +#. Tag: para +#: Spring.xml:199 +#, no-c-format +msgid "" +"One of the most powerful features of Seam is its conversation scope and t= he " +"ability to have an EntityManager open for the life of a conversation. Thi= s " +"eliminates many of the problems associated with the detachment and re-" +"attachment of entities as well as mitigates occurrences of the dreaded " +"LazyInitializationException. Spring does not provide a= " +"way to manage an persistence context beyond the scope of a single web " +"request (OpenEntityManagerInViewFilter). So, it would = be " +"nice if Spring developers could have access to a Seam managed persistence= " +"context using all of the same tools Spring provides for integration with = JPA" +"(e.g. PersistenceAnnotationBeanPostProcessor, " +"JpaTemplate, etc.)" +msgstr "" + +#. Tag: para +#: Spring.xml:209 +#, no-c-format +msgid "" +"Seam provides a way for Spring to access a Seam managed persistence conte= xt " +"with Spring's provided JPA tools bringing conversation scoped persistence= " +"context capabilities to Spring applications." +msgstr "" + +#. Tag: para +#: Spring.xml:213 +#, no-c-format +msgid "This integration work provides the following functionality:" +msgstr "" + +#. Tag: para +#: Spring.xml:217 +#, no-c-format +msgid "" +"transparent access to a Seam managed persistence context using Spring " +"provided tools" +msgstr "" + +#. Tag: para +#: Spring.xml:220 +#, no-c-format +msgid "" +"access to Seam conversation scoped persistence contexts in a non web requ= est " +"(e.g. asynchronous quartz job)" +msgstr "" + +#. Tag: para +#: Spring.xml:224 +#, no-c-format +msgid "" +"allows for using Seam managed persistence contexts with Spring managed " +"transactions (will need to flush the persistence context manually)" +msgstr "" + +#. Tag: para +#: Spring.xml:229 +#, no-c-format +msgid "" +"Spring's persistence context propagation model allows only one open " +"EntityManager per EntityManagerFactory so the Seam integration works by " +"wrapping an EntityManagerFactory around a Seam managed persistence contex= t." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:233 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:235 +#, no-c-format +msgid "" +"Where 'persistenceContextName' is the name of the Seam managed persistenc= e " +"context component. By default this EntityManagerFactory has a unitName eq= ual " +"to the Seam component name or in this case 'entityManager'. If you wish t= o " +"provide a different unitName you can do so by providing a " +"persistenceUnitName like so:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:240 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:242 +#, no-c-format +msgid "" +"This EntityManagerFactory can then be used in any Spring provided tools. = For " +"example, using Spring's PersistenceAnnotationBeanPostProcessor is the exact same as before." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:245 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:247 +#, no-c-format +msgid "" +"If you define your real EntityManagerFactory in Spring but wish to use a " +"Seam managed persistence context you can tell the " +"PersistenceAnnotationBeanPostProcessor which " +"persistenctUnitName you wish to use by default by specifying the " +"defaultPersistenceUnitName property." +msgstr "" + +#. Tag: para +#: Spring.xml:252 +#, no-c-format +msgid "The applicationContext.xml might look like:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:253 +#, no-c-format +msgid "" +"\n" +" \n" +"\n" +"\n" +" \n" +" \n" +"\n" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:255 +#, no-c-format +msgid "The component.xml might look like:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:256 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:259 +#, no-c-format +msgid "" +"JpaTemplate and JpaDaoSupport are " +"configured the same way for a Seam managed persistence context as they wo= uld " +"be fore a Seam managed persistence context." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:262 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Spring.xml:265 +#, no-c-format +msgid "Using a Seam Managed Hibernate Session in Spring" +msgstr "" + +#. Tag: para +#: Spring.xml:267 +#, no-c-format +msgid "" +"The Seam Spring integration also provides support for complete access to = a " +"Seam managed Hibernate session using spring's tools. This integration is " +"very similar to the JPA integratio= n." +msgstr "" + +#. Tag: para +#: Spring.xml:270 +#, no-c-format +msgid "" +"Like Spring's JPA integration spring's propagation model allows only one " +"open EntityManager per EntityManagerFactory per transaction??? to be " +"available to spring tools. So, the Seam Session integration works by " +"wrapping a proxy SessionFactory around a Seam managed Hibernate session " +"context." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:275 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:277 +#, no-c-format +msgid "" +"Where 'sessionName' is the name of the persistence:managed-" +"hibernate-session component. This SessionFactory can then be us= ed " +"in any Spring provided tools. The integration also provides support for " +"calls to SessionFactory.getCurrentInstance() as long a= s " +"you call getCurrentInstance() on the SeamManagedSessionFactory." +msgstr "" + +#. Tag: title +#: Spring.xml:283 +#, no-c-format +msgid "Spring Application Context as a Seam Component" +msgstr "" + +#. Tag: para +#: Spring.xml:285 +#, no-c-format +msgid "" +"Although it is possible to use the Spring ContextLoaderListener<= /" +"literal> to start your application's Spring ApplicationContext there are = a " +"couple of limitations." +msgstr "" + +#. Tag: para +#: Spring.xml:290 +#, no-c-format +msgid "" +"the Spring ApplicationContext must be started after = the " +"SeamListener" +msgstr "" + +#. Tag: para +#: Spring.xml:294 +#, no-c-format +msgid "" +"it can be tricky starting a Spring ApplicationContext for use in Seam uni= t " +"and integration tests" +msgstr "" + +#. Tag: para +#: Spring.xml:299 +#, no-c-format +msgid "" +"To overcome these two limitations the Spring integration includes a Seam " +"component that will start a Spring ApplicationContext. To use this Seam " +"component place the <spring:context-loader/> " +"definition in the components.xml. Specify your Spring " +"context file location in the config-locations attribut= e. " +"If more than one config file is needed you can place them in the nested " +"<spring:config-locations/> element following " +"standard components.xml multi value practices." +msgstr "" + +#. Tag: programlisting +#: Spring.xml:307 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: title +#: Spring.xml:310 +#, no-c-format +msgid "Using a Spring TaskExecutor for @Asynchronous" +msgstr "" + +#. Tag: para +#: Spring.xml:312 +#, no-c-format +msgid "" +"Spring provides an abstraction for executing code asynchronously called a= " +"TaskExecutor. The Spring Seam integration allows for t= he " +"use of a Spring TaskExecutor for executing immediate " +"@Asynchronous method calls. To enable this functionali= ty " +"install the SpringTaskExecutorDispatchor and provide a= " +"spring bean defined taskExecutor like so:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:317 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Spring.xml:319 +#, no-c-format +msgid "" +"Because a Spring TaskExecutor does not support schedul= ing " +"of an asynchronous event a fallback Seam Dispatcher ca= n " +"be provided to handle scheduled asynchronous event like so:" +msgstr "" + +#. Tag: programlisting +#: Spring.xml:322 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +"]]>" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Testing.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Testing.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Testing.po 2008-04-21 = 00:41:49 UTC (rev 7985) @@ -0,0 +1,867 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Testing.xml:2 +#, no-c-format +msgid "Testing Seam applications" +msgstr "" + +#. Tag: para +#: Testing.xml:3 +#, no-c-format +msgid "" +"Most Seam applications will need at least two kinds of automated tests: " +"unit tests, which test a particular Seam component i= n " +"isolation, and scripted integration tests which " +"exercise all Java layers of the application (that is, everything except t= he " +"view pages)." +msgstr "" + +#. Tag: para +#: Testing.xml:10 +#, no-c-format +msgid "Both kinds of tests are very easy to write." +msgstr "" + +#. Tag: title +#: Testing.xml:15 +#, no-c-format +msgid "Unit testing Seam components" +msgstr "" + +#. Tag: para +#: Testing.xml:16 +#, no-c-format +msgid "" +"All Seam components are POJOs. This is a great place to start if you want= " +"easy unit testing. And since Seam emphasises the use of bijection for int= er-" +"component interactions and access to contextual objects, it's very easy t= o " +"test a Seam component outside of its normal runtime environment." +msgstr "" + +#. Tag: para +#: Testing.xml:23 +#, no-c-format +msgid "" +"Consider the following Seam Component which creates a statement of accoun= t " +"for a customer:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:28 +#, no-c-format +msgid "" +" invoices =3D entityManager\n" +" .createQuery(\"select invoice from Invoice invoice where invoice= ." +"customer =3D :customer\")\n" +" .setParameter(\"customer\", customer)\n" +" .getResultList();\n" +" statementTotal =3D calculateTotal(invoices);\n" +" }\n" +" \n" +" public double calculateTotal(List invoices) {\n" +" double total =3D 0.0;\n" +" for (Invoice invoice: invoices)\n" +" {\n" +" double +=3D invoice.getTotal();\n" +" }\n" +" return total;\n" +" }\n" +" \n" +" // getter and setter for statementTotal\n" +" \n" +"}]]>" +msgstr "" + +#. Tag: para +#: Testing.xml:30 +#, no-c-format +msgid "" +"We could write a unit test for the calculateTotal method (which tests the= " +"business logic of the component) as follows:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:35 +#, no-c-format +msgid "" +" invoices =3D generateTestInvoices(); // A test data " +"generator\n" +" double statementTotal =3D new StatementOfAccount().calculateTotal" +"(invoices);\n" +" assert statementTotal =3D 123.45;\n" +" } \n" +"}\n" +"]]>" +msgstr "" + +#. Tag: para +#: Testing.xml:37 +#, no-c-format +msgid "" +"You'll notice we aren't testing retrieving data from or persisting data t= o " +"the database; nor are we testing any functionality provided by Seam. We a= re " +"just testing the logic of our POJOs. Seam components don't usually depend= " +"directly upon container infrastructure, so most unit testing as as easy a= s " +"that!" +msgstr "" + +#. Tag: para +#: Testing.xml:44 +#, no-c-format +msgid "However, if you want to test the entire application, read on." +msgstr "" + +#. Tag: title +#: Testing.xml:51 +#, no-c-format +msgid "Integration testing Seam components" +msgstr "" + +#. Tag: para +#: Testing.xml:53 +#, no-c-format +msgid "" +"Integration testing is slightly more difficult. In this case, we can't " +"eliminate the container infrastructure; indeed, that is part of what is " +"being tested! At the same time, we don't want to be forced to deploy our " +"application to an application server to run the automated tests. We need = to " +"be able to reproduce just enough of the container infrastructure inside o= ur " +"testing environment to be able to exercise the whole application, without= " +"hurting performance too much." +msgstr "" + +#. Tag: para +#: Testing.xml:62 +#, no-c-format +msgid "" +"The approach taken by Seam is to let you write tests that exercise your " +"components while running inside a pruned down container environment (Seam= , " +"together with the JBoss Embedded container; n.b. JBoss Embedded requires = JDK " +"1.5 and does not work with JDK 1.6)." +msgstr "" + +#. Tag: programlisting +#: Testing.xml:69 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Testing.xml:73 +#, no-c-format +msgid "Using mocks in integration tests" +msgstr "" + +#. Tag: para +#: Testing.xml:75 +#, no-c-format +msgid "" +"Occasionally, we need to be able to replace the implementation of some Se= am " +"component that depends upon resources which are not available in the " +"integration test environment. For example, suppose we have some Seam " +"component which is a facade to some payment processing system:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:82 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Testing.xml:84 +#, no-c-format +msgid "For integration tests, we can mock out this component as follows:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:88 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Testing.xml:90 +#, no-c-format +msgid "" +"Since the MOCK precedence is higher than the default " +"precedence of application components, Seam will install the mock " +"implementation whenever it is in the classpath. When deployed into " +"production, the mock implementation is absent, so the real component will= be " +"installed." +msgstr "" + +#. Tag: title +#: Testing.xml:103 +#, no-c-format +msgid "Integration testing Seam application user interactions" +msgstr "" + +#. Tag: para +#: Testing.xml:105 +#, no-c-format +msgid "" +"An even harder problem is emulating user interactions. A third problem is= " +"where to put our assertions. Some test frameworks let us test the whole " +"application by reproducing user interactions with the web browser. These " +"frameworks have their place, but they are not appropriate for use at " +"development time." +msgstr "" + +#. Tag: para +#: Testing.xml:112 +#, no-c-format +msgid "" +"SeamTest lets you write scripted " +"tests, in a simulated JSF environment. The role of a scripted test is to " +"reproduce the interaction between the view and the Seam components. In ot= her " +"words, you get to pretend you are the JSF implementation!" +msgstr "" + +#. Tag: para +#: Testing.xml:119 +#, no-c-format +msgid "This approach tests everything except the view." +msgstr "" + +#. Tag: para +#: Testing.xml:123 +#, no-c-format +msgid "Let's consider a JSP view for the component we unit tested above:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:127 +#, no-c-format +msgid "" +"\n" +" \n" +" Register New User\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"
    Username
    Real Name
    Password
    \n" +" \n" +" \n" +"
    \n" +"
    \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Testing.xml:129 +#, no-c-format +msgid "" +"We want to test the registration functionality of our application (the st= uff " +"that happens when the user clicks the Register button). We'll reproduce t= he " +"JSF request lifecycle in an automated TestNG test:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:135 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Testing.xml:137 +#, no-c-format +msgid "" +"Notice that we've extended SeamTest, which provides a " +"Seam environment for our components, and written our test script as an " +"anonymous class that extends SeamTest.FacesRequest, wh= ich " +"provides an emulated JSF request lifecycle. (There is also a " +"SeamTest.NonFacesRequest for testing GET requests.) We= 've " +"written our code in methods which are named for the various JSF phases, t= o " +"emulate the calls that JSF would make to our components. Then we've throw= n " +"in various assertions." +msgstr "" + +#. Tag: para +#: Testing.xml:148 +#, no-c-format +msgid "" +"You'll find plenty of integration tests for the Seam example applications= " +"which demonstrate more complex cases. There are instructions for running " +"these tests using Ant, or using the TestNG plugin for eclipse:" +msgstr "" + +#. Tag: title +#: Testing.xml:164 +#, no-c-format +msgid "Configuration" +msgstr "" + +#. Tag: para +#: Testing.xml:166 +#, no-c-format +msgid "" +"If you used seam-gen to create your project you are ready to start writin= g " +"tests. Otherwise you'll need to setup the testing environment in your " +"favorite build tool (e.g. ant, maven, eclipse)." +msgstr "" + +#. Tag: para +#: Testing.xml:173 +#, no-c-format +msgid "First, lets look at the dependencies you need at a minimum:" +msgstr "" + +#. Tag: entry +#: Testing.xml:182 +#, no-c-format +msgid "Group Id" +msgstr "" + +#. Tag: entry +#: Testing.xml:185 +#, no-c-format +msgid "Artifact Id" +msgstr "" + +#. Tag: entry +#: Testing.xml:188 +#, no-c-format +msgid "Location in Seam" +msgstr "" + +#. Tag: literal +#: Testing.xml:196 Testing.xml:207 Testing.xml:218 Testing.xml:229 +#, no-c-format +msgid "org.jboss.seam.embedded" +msgstr "" + +#. Tag: literal +#: Testing.xml:199 +#, no-c-format +msgid "hibernate-all" +msgstr "" + +#. Tag: literal +#: Testing.xml:202 +#, no-c-format +msgid "lib/test/hibernate-all.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:210 +#, no-c-format +msgid "jboss-embedded-all" +msgstr "" + +#. Tag: literal +#: Testing.xml:213 +#, no-c-format +msgid "lib/test/jboss-embedded-all.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:221 +#, no-c-format +msgid "thirdparty-all" +msgstr "" + +#. Tag: literal +#: Testing.xml:224 +#, no-c-format +msgid "lib/test/thirdparty-all.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:232 +#, no-c-format +msgid "jboss-embedded-api" +msgstr "" + +#. Tag: literal +#: Testing.xml:235 +#, no-c-format +msgid "lib/jboss-embedded-api.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:240 +#, no-c-format +msgid "org.jboss.seam" +msgstr "" + +#. Tag: literal +#: Testing.xml:243 +#, no-c-format +msgid "jboss-seam" +msgstr "" + +#. Tag: literal +#: Testing.xml:246 +#, no-c-format +msgid "lib/jboss-seam.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:251 +#, no-c-format +msgid "org.jboss.el" +msgstr "" + +#. Tag: literal +#: Testing.xml:254 +#, no-c-format +msgid "jboss-el" +msgstr "" + +#. Tag: literal +#: Testing.xml:257 +#, no-c-format +msgid "lib/jboss-el.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:262 +#, no-c-format +msgid "javax.faces" +msgstr "" + +#. Tag: literal +#: Testing.xml:265 +#, no-c-format +msgid "jsf-api" +msgstr "" + +#. Tag: literal +#: Testing.xml:268 +#, no-c-format +msgid "lib/jsf-api.jar" +msgstr "" + +#. Tag: literal +#: Testing.xml:273 Testing.xml:276 +#, no-c-format +msgid "javax.activation" +msgstr "" + +#. Tag: literal +#: Testing.xml:279 +#, no-c-format +msgid "lib/activation.jar" +msgstr "" + +#. Tag: para +#: Testing.xml:286 +#, no-c-format +msgid "" +"It's very important you don't put the compile time JBoss AS dependencies " +"from lib/ (e.g. jboss-system.jar) o= n " +"the classpath, these will cause Embedded JBoss to not boot. So, just add = the " +"dependencies (e.g. Drools, jBPM)you need as you go." +msgstr "" + +#. Tag: para +#: Testing.xml:294 +#, no-c-format +msgid "" +"You also need to include the bootstrap/ directory on t= he " +"classpath; bootstrap/ contains the configuration for " +"Embedded JBoss." +msgstr "" + +#. Tag: para +#: Testing.xml:300 +#, no-c-format +msgid "" +"And, of course you need to put your built project and tests onto the " +"classpath. Don't forget to put all the correct configuration files for JP= A " +"and Seam onto the classpath as well.Seam asks Embedded JBoss to deploy an= y " +"resource (jar or directory) which has seam.properties = in " +"it's root. Therefore, if you don't assemble a directory structure that " +"resembles a deployable archive containing your built project, you must pu= t a " +"seam.properties in each resource." +msgstr "" + +#. Tag: para +#: Testing.xml:311 +#, no-c-format +msgid "" +"By default, a generated project will use the java:/DefaultDS (a built in HSQL datasource in Embedded JBoss) for testing. If y= ou " +"want to use another datasource place the foo-ds.xml in= to " +"bootstrap/deploy directory." +msgstr "" + +#. Tag: title +#: Testing.xml:322 +#, no-c-format +msgid "Using SeamTest with another test framework" +msgstr "" + +#. Tag: para +#: Testing.xml:324 +#, no-c-format +msgid "" +"Seam provides TestNG support out of the box, but you can also use another= " +"test framework, such as JUnit, if you want." +msgstr "" + +#. Tag: para +#: Testing.xml:329 +#, no-c-format +msgid "" +"You'll need to provide an implementation of AbstractSeamTest which does the following:" +msgstr "" + +#. Tag: para +#: Testing.xml:336 +#, no-c-format +msgid "Calls super.begin() before every test method." +msgstr "" + +#. Tag: para +#: Testing.xml:342 +#, no-c-format +msgid "Calls super.end() after every test method." +msgstr "" + +#. Tag: para +#: Testing.xml:348 +#, no-c-format +msgid "" +"Calls super.setupClass() to setup integration test " +"environment. This should be called before any test methods are called." +msgstr "" + +#. Tag: para +#: Testing.xml:355 +#, no-c-format +msgid "" +"Calls super.cleanupClass() to clean up the integration= " +"test environment." +msgstr "" + +#. Tag: para +#: Testing.xml:361 +#, no-c-format +msgid "" +"Calls super.startSeam() to start Seam at the start of " +"integration testing." +msgstr "" + +#. Tag: para +#: Testing.xml:367 +#, no-c-format +msgid "" +"Calls super.stopSeam() to cleanly shut down Seam at th= e " +"end of integration testing." +msgstr "" + +#. Tag: title +#: Testing.xml:376 +#, no-c-format +msgid "Integration Testing with Mock Data" +msgstr "" + +#. Tag: para +#: Testing.xml:378 +#, no-c-format +msgid "" +"If you need to insert or clean data in your database before each test you= " +"can use Seam's integration with DBUnit. To do this, extend DBUnitSeamTest= " +"rather than SeamTest." +msgstr "" + +#. Tag: para +#: Testing.xml:384 +#, no-c-format +msgid "" +"You need to provide a dataset for DBUnit. IMPORTANT NOTE: DBUnit supports= " +"two formats for dataset files, flat and XML. Seam's DBUnitSeamTest assume= s " +"the flat format is used, so please ensure that your dataset is in this " +"format also." +msgstr "" + +#. Tag: programlisting +#: Testing.xml:390 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Testing.xml:392 +#, no-c-format +msgid "" +"and tell Seam about it by overriding prepareDBUnitOperations():" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:396 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Testing.xml:398 +#, no-c-format +msgid "" +"DataSetOperation defaults to DatabaseOperatio= n." +"CLEAN_INSERT if no other operation is specified as a constructo= r " +"argument. The above example cleans all tables defined BaseData.x= ml, then inserts all rows declared in BaseData.xml " +"before each @Test method is invoked." +msgstr "" + +#. Tag: para +#: Testing.xml:406 +#, no-c-format +msgid "" +"If you require extra cleanup after a test method executes, add operations= to " +"afterTestOperations list." +msgstr "" + +#. Tag: para +#: Testing.xml:411 +#, no-c-format +msgid "" +"You need to tell DBUnit about the datasource you are using by setting a " +"TestNG test parameter named datasourceJndiName:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:416 +#, no-c-format +msgid "" +"]]>" +msgstr "" + +#. Tag: para +#: Testing.xml:418 +#, no-c-format +msgid "" +"DBUnitSeamTest only works out of the box with HSQL as a datasource. If yo= u " +"want to use another database, then you'll need to implement some extra " +"methods. Read the javadoc on DBUnitSeamTest for more." +msgstr "" + +#. Tag: title +#: Testing.xml:428 +#, no-c-format +msgid "Integration Testing Seam Mail" +msgstr "" + +#. Tag: para +#: Testing.xml:430 +#, no-c-format +msgid "Warning! This feature is still under development." +msgstr "" + +#. Tag: para +#: Testing.xml:434 +#, no-c-format +msgid "It's very easy to integration test your Seam Mail:" +msgstr "" + +#. Tag: programlisting +#: Testing.xml:438 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Testing.xml:440 +#, no-c-format +msgid "" +"We create a new FacesRequest as normal. Inside the " +"invokeApplication hook we render the message using " +"getRenderedMailMessage(viewId);, passing the viewId of= " +"the message to render. The method returns the rendered message on which y= ou " +"can do your tests. You can of course also use any of the standard JSF " +"lifecycle methods." +msgstr "" + +#. Tag: para +#: Testing.xml:449 +#, no-c-format +msgid "" +"There is no support for rendering standard JSF components so you can't te= st " +"the content body of the mail message easily." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Text.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Text.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Text.po 2008-04-21 00:= 41:49 UTC (rev 7985) @@ -0,0 +1,383 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Text.xml:2 +#, no-c-format +msgid "Seam Text" +msgstr "" + +#. Tag: para +#: Text.xml:4 +#, no-c-format +msgid "" +"Collaboration-oriented websites require a human-friendly markup language = for " +"easy entry of formatted text in forum posts, wiki pages, blogs, comments,= " +"etc. Seam provides the <s:formattedText/> contro= l " +"for display of formatted text that conforms to the Seam Text language. Seam Text is implemented using an ANTLR-based parser.= " +"You don't need to know anything about ANTLR to use it, however." +msgstr "" + +#. Tag: title +#: Text.xml:13 +#, no-c-format +msgid "Basic fomatting" +msgstr "" + +#. Tag: para +#: Text.xml:14 +#, no-c-format +msgid "Here is a simple example:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:18 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Text.xml:20 +#, no-c-format +msgid "" +"If we display this using <s:formattedText/>, we " +"will get the following HTML produced:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:25 +#, no-c-format +msgid "" +"\n" +"It's easy to make emphasis, monospace\n" +"deleted text, superscripts or underlines.\n" +"

    ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:27 +#, no-c-format +msgid "" +"We can use a blank line to indicate a new paragraph, and + to indicate a heading:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:32 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Text.xml:34 +#, no-c-format +msgid "" +"(Note that a simple newline is ignored, you need an additional blank line= to " +"wrap text into a new paragraph.) This is the HTML that results:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:39 +#, no-c-format +msgid "" +"This is a big heading\n" +"

    \n" +"You must have some text following a heading!\n" +"

    \n" +" \n" +"

    This is a smaller heading

    \n" +"

    \n" +"This is the first paragraph. We can split it across multiple \n" +"lines, but we must end it with a blank line.\n" +"

    \n" +"\n" +"

    \n" +"This is the second paragraph.\n" +"

    ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:41 +#, no-c-format +msgid "" +"Ordered lists are created using the # character. " +"Unordered lists use the =3D character:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:46 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Text.xml:48 +#, no-c-format +msgid "" +"\n" +"An ordered list:\n" +"

    \n" +" \n" +"
      \n" +"
    1. first item
    2. \n" +"
    3. second item
    4. \n" +"
    5. and even the third item
    6. \n" +"
    \n" +"\n" +"

    \n" +"An unordered list:\n" +"

    \n" +"\n" +"
      \n" +"
    • an item
    • \n" +"
    • another item
    • \n" +"
    ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:50 +#, no-c-format +msgid "Quoted sections should be surrounded in double quotes:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:54 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Text.xml:56 +#, no-c-format +msgid "" +"\n" +"The other guy said:\n" +"

    \n" +" \n" +"Nyeah nyeah-nee\n" +"nyeah nyeah!\n" +"\n" +"

    \n" +"But what do you think he means by nyeah-nee?\n" +"

    ]]>" +msgstr "" + +#. Tag: title +#: Text.xml:61 +#, no-c-format +msgid "Entering code and text with special characters" +msgstr "" + +#. Tag: para +#: Text.xml:62 +#, no-c-format +msgid "" +"Special characters such as *, | and= " +"#, along with HTML characters such as <, > and & may be " +"escaped using \\:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:69 +#, no-c-format +msgid "" +" using the escape character: \\\\.]]>" +msgstr "" + +#. Tag: programlisting +#: Text.xml:71 +#, no-c-format +msgid "" +"\n" +"You can write down equations like 2*3=3D6 and HTML tags\n" +"like <body> using the escape character: \\.\n" +"

    ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:73 +#, no-c-format +msgid "And we can quote code blocks using backticks:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:77 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: programlisting +#: Text.xml:79 +#, no-c-format +msgid "" +"\n" +"My code doesn't work:\n" +"

    \n" +"\n" +"
    for (int i=3D0; i<100; i--)\n"
    +"{\n"
    +"    doSomething();\n"
    +"}
    \n" +"\n" +"

    \n" +"Any ideas?\n" +"

    ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:81 +#, no-c-format +msgid "" +"Note that inline monospace formatting always escapes (most monospace " +"formatted text is in fact code or tags with many special characters). So = you " +"can, for example, write:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:86 +#, no-c-format +msgid "| example.]]>" +msgstr "" + +#. Tag: para +#: Text.xml:88 +#, no-c-format +msgid "" +"without escaping any of the characters inside the monospace bars. The " +"downside is that you can't format inline monospace text in any other way " +"(italics, underscore, and so on)." +msgstr "" + +#. Tag: title +#: Text.xml:96 +#, no-c-format +msgid "Links" +msgstr "" + +#. Tag: para +#: Text.xml:98 +#, no-c-format +msgid "A link may be created using the following syntax:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:102 +#, no-c-format +msgid "" +"http://jboss.com/products/seam].]= ]>" +msgstr "" + +#. Tag: para +#: Text.xml:104 +#, no-c-format +msgid "Or, if you want to specify the text of the link:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:108 +#, no-c-format +msgid "http://jboss.com/products/seam]= .]]>" +msgstr "" + +#. Tag: para +#: Text.xml:110 +#, no-c-format +msgid "" +"For advanced users, it is even possible to customize the Seam Text parser= to " +"understand wikiword links written using this syntax." +msgstr "" + +#. Tag: title +#: Text.xml:118 +#, no-c-format +msgid "Entering HTML" +msgstr "" + +#. Tag: para +#: Text.xml:120 +#, no-c-format +msgid "" +"Text may even include a certain limited subset of HTML (don't worry, the " +"subset is chosen to be safe from cross-site scripting attacks). This is " +"useful for creating links:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:125 +#, no-c-format +msgid "" +"something\n" +"cool, or even include an image: ]]>" +msgstr "" + +#. Tag: para +#: Text.xml:127 +#, no-c-format +msgid "And for creating tables:" +msgstr "" + +#. Tag: programlisting +#: Text.xml:131 +#, no-c-format +msgid "" +"\n" +" First name:Gavin\n" +" Last name:King\n" +"]]>" +msgstr "" + +#. Tag: para +#: Text.xml:133 +#, no-c-format +msgid "But you can do much more if you want!" +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tools.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tools.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tools.po 2008-04-21 00= :41:49 UTC (rev 7985) @@ -0,0 +1,69 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Tools.xml:2 +#, no-c-format +msgid "Seam tools" +msgstr "" + +#. Tag: title +#: Tools.xml:5 +#, no-c-format +msgid "jBPM designer and viewer" +msgstr "" + +#. Tag: para +#: Tools.xml:7 +#, no-c-format +msgid "" +"The jBPM designer and viewer will let you design and view in a nice way y= our " +"business processes and your pageflows. This convenient tool is part of JB= oss " +"Eclipse IDE and more details can be found in the jBPM's documentation " +"(http://docs.jboss.com/jbpm/v3/gpd/)" +msgstr "" + +#. Tag: title +#: Tools.xml:13 +#, no-c-format +msgid "Business process designer" +msgstr "" + +#. Tag: para +#: Tools.xml:15 +#, no-c-format +msgid "This tool lets you design your own business process in a graphical = way." +msgstr "" + +#. Tag: screeninfo +#: Tools.xml:20 Tools.xml:42 +#, no-c-format +msgid "Business process designer" +msgstr "" + +#. Tag: title +#: Tools.xml:34 +#, no-c-format +msgid "Pageflow viewer" +msgstr "" + +#. Tag: para +#: Tools.xml:36 +#, no-c-format +msgid "" +"This tool let you design to some extend your pageflows and let you build " +"graphical views of them so you can easily share and compare ideas on how = it " +"should be designed." +msgstr "" Added: branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tutorial.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tutorial.po = (rev 0) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/sl-SL/Tutorial.po 2008-04-21= 00:41:49 UTC (rev 7985) @@ -0,0 +1,4009 @@ +# Language sl-SL translations for PACKAGE package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2008-04-21 00:37+0000\n" +"PO-Revision-Date: 2008-04-21 00:37+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DUTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Tag: title +#: Tutorial.xml:4 +#, no-c-format +msgid "Seam Tutorial" +msgstr "" + +#. Tag: title +#: Tutorial.xml:7 +#, no-c-format +msgid "Try the examples" +msgstr "" + +#. Tag: para +#: Tutorial.xml:9 +#, no-c-format +msgid "" +"In this tutorial, we'll assume that you have downloaded JBoss AS 4.2. You= " +"should also have a copy of Seam downloaded and extracted to a work direct= ory." +msgstr "" + +#. Tag: para +#: Tutorial.xml:12 +#, no-c-format +msgid "The directory structure of each example in Seam follows this patter= n:" +msgstr "" + +#. Tag: para +#: Tutorial.xml:16 +#, no-c-format +msgid "" +"Web pages, images and stylesheets may be found in examples/" +"registration/view" +msgstr "" + +#. Tag: para +#: Tutorial.xml:21 +#, no-c-format +msgid "" +"Resources such as deployment descriptors and data import scripts may be " +"found in examples/registration/" +"resources" +msgstr "" + +#. Tag: para +#: Tutorial.xml:26 +#, no-c-format +msgid "" +"Java source code may be found in examples/" +"registration/src" +msgstr "" + +#. Tag: para +#: Tutorial.xml:31 +#, no-c-format +msgid "" +"The Ant build script is examples/registration/build.xml" +msgstr "" + +#. Tag: title +#: Tutorial.xml:38 +#, no-c-format +msgid "Running the examples on JBoss AS" +msgstr "" + +#. Tag: para +#: Tutorial.xml:40 +#, no-c-format +msgid "" +"First, make sure you have Ant correctly installed, with $ANT_HOM= E and $JAVA_HOME set correctly. Next, make sure= " +"you set the location of your JBoss AS 4.2 installation in the bu= ild." +"properties file in the root folder of your Seam installation. I= f " +"you haven't already done so, start JBoss AS now by typing bin/ru= n." +"sh or bin/run.bat in the root directory of y= our " +"JBoss installation." +msgstr "" + +#. Tag: para +#: Tutorial.xml:46 +#, no-c-format +msgid "" +"Now, build and deploy the example by typing ant deploy= in " +"the examples/registration= " +"directory." +msgstr "" + +#. Tag: para +#: Tutorial.xml:49 +#, no-c-format +msgid "" +"Try it out by accessing http://localhost:8080/seam-registration/ " +"with your web browser." +msgstr "" + +#. Tag: title +#: Tutorial.xml:56 +#, no-c-format +msgid "Running the examples on Tomcat" +msgstr "" + +#. Tag: para +#: Tutorial.xml:58 +#, no-c-format +msgid "" +"First, make sure you have Ant correctly installed, with $ANT_HOM= E and $JAVA_HOME set correctly. Next, make sure= " +"you set the location of your Tomcat 6.0 installation in the buil= d." +"properties file in the root folder of your Seam installation. Y= ou " +"will need to follow the instructions in for installing JBoss Embedded on Tomcat 6.0. JBoss Embedded = is " +"required to run the Seam demo applications on Tomcat. (However, it is " +"possible to use Seam on Tomcat without JBoss Embedded.)" +msgstr "" + +#. Tag: para +#: Tutorial.xml:67 +#, no-c-format +msgid "" +"Now, build and deploy the example by typing ant tomcat.deploy in the examples/registration directory." +msgstr "" + +#. Tag: para +#: Tutorial.xml:72 +#, no-c-format +msgid "Finally, start Tomcat." +msgstr "" + +#. Tag: para +#: Tutorial.xml:74 +#, no-c-format +msgid "" +"Try it out by accessing http://localhost:8080/jboss-seam-registration/<= /" +"literal> with your web browser." +msgstr "" + +#. Tag: para +#: Tutorial.xml:80 +#, no-c-format +msgid "" +"When you deploy the example to Tomcat, any EJB3 components will run insid= e " +"the JBoss Embeddable EJB3 container, a complete standalone EJB3 container= " +"environment." +msgstr "" + +#. Tag: title +#: Tutorial.xml:88 +#, no-c-format +msgid "Running the example tests" +msgstr "" + +#. Tag: para +#: Tutorial.xml:89 +#, no-c-format +msgid "" +"Most of the examples come with a suite of TestNG integration tests. The " +"easiest way to run the tests is to run ant testexample= " +"inside the examples/registration directory. It is also possible to run the tests inside your IDE= " +"using the TestNG plugin." +msgstr "" + +#. Tag: title +#: Tutorial.xml:100 +#, no-c-format +msgid "Your first Seam application: the registration example" +msgstr "" + +#. Tag: para +#: Tutorial.xml:102 +#, no-c-format +msgid "" +"The registration example is a fairly trivial application that lets a new " +"user store his username, real name and password in the database. The exam= ple " +"isn't intended to show off all of the cool functionality of Seam. However= , " +"it demonstrates the use of an EJB3 session bean as a JSF action listener,= " +"and basic configuration of Seam." +msgstr "" + +#. Tag: para +#: Tutorial.xml:107 +#, no-c-format +msgid "" +"We'll go slowly, since we realize you might not yet be familiar with EJB = 3.0." +msgstr "" + +#. Tag: para +#: Tutorial.xml:109 +#, no-c-format +msgid "" +"The start page displays a very basic form with three input fields. Try " +"filling them in and then submitting the form. This will save a user objec= t " +"in the database." +msgstr "" + +#. Tag: title +#: Tutorial.xml:122 Tutorial.xml:518 Tutorial.xml:706 Tutorial.xml:898 +#, no-c-format +msgid "Understanding the code" +msgstr "" + +#. Tag: para +#: Tutorial.xml:124 +#, no-c-format +msgid "" +"The example is implemented with two JSP pages, one entity bean and one " +"stateless session bean." +msgstr "" + +#. Tag: para +#: Tutorial.xml:135 +#, no-c-format +msgid "Let's take a look at the code, starting from the \"bottom\"." +msgstr "" + +#. Tag: title +#: Tutorial.xml:138 +#, no-c-format +msgid "The entity bean: User.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:140 +#, no-c-format +msgid "" +"We need an EJB entity bean for user data. This class defines " +"persistence and validation " +"declaratively, via annotations. It also needs some extra annotations that= " +"define the class as a Seam component." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:157 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:160 +#, no-c-format +msgid "" +"The EJB3 standard @Entity annotation indicates that th= e " +"User class is an entity bean." +msgstr "" + +#. Tag: para +#: Tutorial.xml:164 +#, no-c-format +msgid "" +"A Seam component needs a component name specified by= " +"the @Name = " +"annotation. This name must be unique within the Seam application. When JS= F " +"asks Seam to resolve a context variable with a name that is the same as a= " +"Seam component name, and the context variable is currently undefined (nul= l), " +"Seam will instantiate that component, and bind the new instance to the " +"context variable. In this case, Seam will instantiate a User the first time JSF encounters a variable named user." +msgstr "" + +#. Tag: para +#: Tutorial.xml:175 +#, no-c-format +msgid "" +"Whenever Seam instantiates a component, it binds the new instance to a " +"context variable in the component's default context.= " +"The default context is specified using the @Scope annotation. The User bean is a session scoped component." +msgstr "" + +#. Tag: para +#: Tutorial.xml:183 +#, no-c-format +msgid "" +"The EJB standard @Table annotation indicates that the " +"User class is mapped to the users " +"table." +msgstr "" + +#. Tag: para +#: Tutorial.xml:188 +#, no-c-format +msgid "" +"name, password and usernam= e are the persistent attributes of the entity bean. All of our " +"persistent attributes define accessor methods. These are needed when this= " +"component is used by JSF in the render response and update model values " +"phases." +msgstr "" + +#. Tag: para +#: Tutorial.xml:195 +#, no-c-format +msgid "" +"An empty constructor is both required by both the EJB specification and b= y " +"Seam." +msgstr "" + +#. Tag: para +#: Tutorial.xml:199 +#, no-c-format +msgid "" +"The @NotNull and @Length annotation= s " +"are part of the Hibernate Validator framework. Seam integrates Hibernate " +"Validator and lets you use it for data validation (even if you are not us= ing " +"Hibernate for persistence)." +msgstr "" + +#. Tag: para +#: Tutorial.xml:205 +#, no-c-format +msgid "" +"The EJB standard @Id annotation indicates the primary = key " +"attribute of the entity bean." +msgstr "" + +#. Tag: para +#: Tutorial.xml:211 +#, no-c-format +msgid "" +"The most important things to notice in this example are the @Nam= e and @Scope annotations. These annotations " +"establish that this class is a Seam component." +msgstr "" + +#. Tag: para +#: Tutorial.xml:213 +#, no-c-format +msgid "" +"We'll see below that the properties of our User class = are " +"bound directly to JSF components and are populated by JSF during the upda= te " +"model values phase. We don't need any tedious glue code to copy data back= " +"and forth between the JSP pages and the entity bean domain model." +msgstr "" + +#. Tag: para +#: Tutorial.xml:217 +#, no-c-format +msgid "" +"However, entity beans shouldn't do transaction management or database " +"access. So we can't use this component as a JSF action listener. For that= we " +"need a session bean." +msgstr "" + +#. Tag: title +#: Tutorial.xml:224 +#, no-c-format +msgid "" +"The stateless session bean class: RegisterAction.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:226 +#, no-c-format +msgid "" +"Most Seam application use session beans as JSF action listeners (you can = use " +"JavaBeans instead if you like)." +msgstr "" + +#. Tag: para +#: Tutorial.xml:228 +#, no-c-format +msgid "" +"We have exactly one JSF action in our application, and one session bean " +"method attached to it. In this case, we'll use a stateless session bean, " +"since all the state associated with our action is held by the Us= er bean." +msgstr "" + +#. Tag: para +#: Tutorial.xml:232 +#, no-c-format +msgid "This is the only really interesting code in the example!" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:248 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:252 +#, no-c-format +msgid "" +"The EJB standard @Stateless annotation marks this clas= s " +"as a stateless session bean." +msgstr "" + +#. Tag: para +#: Tutorial.xml:256 +#, no-c-format +msgid "" +"The @In " +"annotation marks an attribute of the bean as injected by Seam. In this ca= se, " +"the attribute is injected from a context variable named user (the instance variable name)." +msgstr "" + +#. Tag: para +#: Tutorial.xml:263 +#, no-c-format +msgid "" +"The EJB standard @PersistenceContext annotation is use= d " +"to inject the EJB3 entity manager." +msgstr "" + +#. Tag: para +#: Tutorial.xml:267 +#, no-c-format +msgid "" +"The Seam @Logger annotation is used to inject the " +"component's Log instance." +msgstr "" + +#. Tag: para +#: Tutorial.xml:271 +#, no-c-format +msgid "" +"The action listener method uses the standard EJB3 EntityManager<= /" +"literal> API to interact with the database, and returns the JSF outcome. " +"Note that, since this is a session bean, a transaction is automatically " +"begun when the register() method is called, and commit= ted " +"when it completes." +msgstr "" + +#. Tag: para +#: Tutorial.xml:278 +#, no-c-format +msgid "" +"Notice that Seam lets you use a JSF EL expression inside EJB-QL. Under th= e " +"covers, this results in an ordinary JPA setParameter()= " +"call on the standard JPA Query object. Nice, huh?" +msgstr "" + +#. Tag: para +#: Tutorial.xml:283 +#, no-c-format +msgid "" +"The Log API lets us easily display templated log messa= ges." +msgstr "" + +#. Tag: para +#: Tutorial.xml:287 +#, no-c-format +msgid "" +"JSF action listener methods return a string-valued outcome that determine= s " +"what page will be displayed next. A null outcome (or a void action listen= er " +"method) redisplays the previous page. In plain JSF, it is normal to alway= s " +"use a JSF navigation rule to determine the JSF view = id " +"from the outcome. For complex application this indirection is useful and = a " +"good practice. However, for very simple examples like this one, Seam lets= " +"you use the JSF view id as the outcome, eliminating the requirement for a= " +"navigation rule. Note that when you use a view id as an outcome= , " +"Seam always performs a browser redirect." +msgstr "" + +#. Tag: para +#: Tutorial.xml:299 +#, no-c-format +msgid "" +"Seam provides a number of built-in components to hel= p " +"solve common problems. The FacesMessages component mak= es " +"it easy to display templated error or success messages. Built-in Seam " +"components may be obtained by injection, or by calling an instan= ce()" +" method." +msgstr "" + +#. Tag: para +#: Tutorial.xml:309 +#, no-c-format +msgid "" +"Note that we did not explicitly specify a @Scope this " +"time. Each Seam component type has a default scope if not explicitly " +"specified. For stateless session beans, the default scope is the stateles= s " +"context. Actually, all stateless session beans belon= g " +"in the stateless context." +msgstr "" + +#. Tag: para +#: Tutorial.xml:314 +#, no-c-format +msgid "" +"Our session bean action listener performs the business and persistence lo= gic " +"for our mini-application. In more complex applications, we might need to " +"layer the code and refactor persistence logic into a dedicated data acces= s " +"component. That's perfectly trivial to do. But notice that Seam does not " +"force you into any particular strategy for application layering." +msgstr "" + +#. Tag: para +#: Tutorial.xml:319 +#, no-c-format +msgid "" +"Furthermore, notice that our session bean has simultaneous access to cont= ext " +"associated with the web request (the form values in the User object, for example), and state held in transactional resources " +"(the EntityManager object). This is a break from " +"traditional J2EE architectures. Again, if you are more comfortable with t= he " +"traditional J2EE layering, you can certainly implement that in a Seam " +"application. But for many applications, it's simply not very useful." +msgstr "" + +#. Tag: title +#: Tutorial.xml:329 +#, no-c-format +msgid "The session bean local interface: Register.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:331 +#, no-c-format +msgid "Naturally, our session bean needs a local interface." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:334 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:337 +#, no-c-format +msgid "That's the end of the Java code. Now onto the deployment descriptor= s." +msgstr "" + +#. Tag: title +#: Tutorial.xml:342 +#, no-c-format +msgid "" +"The Seam component deployment descriptor: components.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:344 +#, no-c-format +msgid "" +"If you've used many Java frameworks before, you'll be used to having to " +"declare all your component classes in some kind of XML file that graduall= y " +"grows more and more unmanageable as your project matures. You'll be relie= ved " +"to know that Seam does not require that application components be " +"accompanied by XML. Most Seam applications require a very small amount of= " +"XML that does not grow very much as the project gets bigger." +msgstr "" + +#. Tag: para +#: Tutorial.xml:350 +#, no-c-format +msgid "" +"Nevertheless, it is often useful to be able to provide for some= external configuration of some components " +"(particularly the components built in to Seam). You have a couple of opti= ons " +"here, but the most flexible option is to provide this configuration in a " +"file called components.xml, located in the WE= B-" +"INF directory. We'll use the components.xml " +"file to tell Seam how to find our EJB components in JNDI:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:358 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:360 +#, no-c-format +msgid "" +"This code configures a property named jndiPattern of a= " +"built-in Seam component named org.jboss.seam.core.init= . " +"The funny @ symbols are there because our Ant build " +"script puts the correct JNDI pattern in when we deploy the application." +msgstr "" + +#. Tag: title +#: Tutorial.xml:367 +#, no-c-format +msgid "The web deployment description: web.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:369 +#, no-c-format +msgid "" +"The presentation layer for our mini-application will be deployed in a WAR= . " +"So we'll need a web deployment descriptor." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:372 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +"\n" +" \n" +" org.jboss.seam.servlet.SeamListener\n" +" \n" +"\n" +" \n" +" \n" +" \n" +" com.sun.faces.config.ConfigureListener\n" +" \n" +" \n" +" \n" +" javax.faces.DEFAULT_SUFFIX\n" +" .xhtml\n" +" \n" +" \n" +" \n" +" Faces Servlet\n" +" javax.faces.webapp.FacesServlet\n" +" 1\n" +" \n" +"\n" +" \n" +" Faces Servlet\n" +" *.seam\n" +" \n" +" \n" +" \n" +" 10\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:375 +#, no-c-format +msgid "" +"This web.xml file configures Seam and JSF. The " +"configuration you see here is pretty much identical in all Seam applicati= ons." +msgstr "" + +#. Tag: title +#: Tutorial.xml:381 +#, no-c-format +msgid "The JSF configration: faces-config.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:383 +#, no-c-format +msgid "" +"Most Seam applications use JSF views as the presentation layer. So usuall= y " +"we'll need faces-config.xml. In our case, we are going= to " +"use Facelets for defining our views, so we need to tell JSF to use Facele= ts " +"as its templating engine." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:389 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +" \n" +" com.sun.facelets.FaceletViewHandler\= n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:393 +#, no-c-format +msgid "" +"Note that we don't need any JSF managed bean declarations! Our managed be= ans " +"are annotated Seam components. In Seam applications, the faces-" +"config.xml is used much less often than in plain JSF." +msgstr "" + +#. Tag: para +#: Tutorial.xml:397 +#, no-c-format +msgid "" +"In fact, once you have all the basic descriptors set up, the on= ly XML you need to write as you add new functionality to a Seam " +"application is orchestration: navigation rules or jBPM process definition= s. " +"Seam takes the view that process flow and " +"configuration data are the only things that truly " +"belong in XML." +msgstr "" + +#. Tag: para +#: Tutorial.xml:402 +#, no-c-format +msgid "" +"In this simple example, we don't even need a navigation rule, since we " +"decided to embed the view id in our action code." +msgstr "" + +#. Tag: title +#: Tutorial.xml:408 +#, no-c-format +msgid "The EJB deployment descriptor: ejb-jar.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:410 +#, no-c-format +msgid "" +"The ejb-jar.xml file integrates Seam with EJB3, by " +"attaching the SeamInterceptor to all session beans in = the " +"archive." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:413 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" org.jboss.seam.ejb.SeamInterceptor\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" *\n" +" org.jboss.seam.ejb.SeamInterceptor\n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Tutorial.xml:418 +#, no-c-format +msgid "" +"The EJB persistence deployment descriptor: persistence.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:420 +#, no-c-format +msgid "" +"The persistence.xml file tells the EJB persistence " +"provider where to find the datasource, and contains some vendor-specific " +"settings. In this case, enables automatic schema export at startup time." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:424 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +" \n" +" org.hibernate.ejb.HibernatePersistence\n" +" java:/DefaultDS\n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: title +#: Tutorial.xml:429 +#, no-c-format +msgid "" +"The view: register.xhtml and registered.xhtml= " +msgstr "" + +#. Tag: para +#: Tutorial.xml:431 +#, no-c-format +msgid "" +"The view pages for a Seam application could be implemented using any " +"technology that supports JSF. In this example we use Facelets, because we= " +"think it's better than JSP." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:436 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +" \n" +" Register New User\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" Username: \n" +" Real Name: \n" +" Password: \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:439 +#, no-c-format +msgid "" +"The only thing here that is specific to Seam is the <s:" +"validateAll> tag. This JSF component tells JSF to validate a= ll " +"the contained input fields against the Hibernate Validator annotations " +"specified on the entity bean." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:445 +#, no-c-format +msgid "" +"\n" +"\n" +"\n" +"\n" +" \n" +" Successfully Registered New User\n" +" \n" +" \n" +" \n" +" Welcome, #{user.name}, you are successfully registered as #{user= ." +"username}.\n" +" \n" +" \n" +"\n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:449 +#, no-c-format +msgid "" +"This is a boring old Facelets page using some embedded EL. There is nothi= ng " +"specific to Seam here." +msgstr "" + +#. Tag: title +#: Tutorial.xml:455 +#, no-c-format +msgid "The EAR deployment descriptor: application.xml" +msgstr "" + +#. Tag: para +#: Tutorial.xml:457 +#, no-c-format +msgid "" +"Finally, since our application is deployed as an EAR, we need a deploymen= t " +"descriptor there, too." +msgstr "" + +#. Tag: title +#: Tutorial.xml:459 +#, no-c-format +msgid "registration application" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:460 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" Seam Registration\n" +"\n" +" \n" +" \n" +" jboss-seam-registration.war\n" +" /seam-registration\n" +" \n" +" \n" +" \n" +" jboss-seam-registration.jar\n" +" \n" +" \n" +" jboss-seam.jar\n" +" \n" +" \n" +" jboss-el.jar\n" +" \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:463 +#, no-c-format +msgid "" +"This deployment descriptor links modules in the enterprise archive and bi= nds " +"the web application to the context root /seam-registration." +msgstr "" + +#. Tag: para +#: Tutorial.xml:466 +#, no-c-format +msgid "" +"We've now seen all the files in the entire applicati= on!" +msgstr "" + +#. Tag: title +#: Tutorial.xml:472 Tutorial.xml:656 Tutorial.xml:870 Tutorial.xml:1008 +#, no-c-format +msgid "How it works" +msgstr "" + +#. Tag: para +#: Tutorial.xml:474 +#, no-c-format +msgid "" +"When the form is submitted, JSF asks Seam to resolve the variable named " +"user. Since there is no value already bound to that na= me " +"(in any Seam context), Seam instantiates the user " +"component, and returns the resulting User entity bean " +"instance to JSF after storing it in the Seam session context." +msgstr "" + +#. Tag: para +#: Tutorial.xml:478 +#, no-c-format +msgid "" +"The form input values are now validated against the Hibernate Validator " +"constraints specified on the User entity. If the " +"constraints are violated, JSF redisplays the page. Otherwise, JSF binds t= he " +"form input values to properties of the User entity bea= n." +msgstr "" + +#. Tag: para +#: Tutorial.xml:481 +#, no-c-format +msgid "" +"Next, JSF asks Seam to resolve the variable named register. Seam finds the RegisterAction stateless sess= ion " +"bean in the stateless context and returns it. JSF invokes the " +"register() action listener method." +msgstr "" + +#. Tag: para +#: Tutorial.xml:484 +#, no-c-format +msgid "" +"Seam intercepts the method call and injects the User " +"entity from the Seam session context, before continuing the invocation." +msgstr "" + +#. Tag: para +#: Tutorial.xml:486 +#, no-c-format +msgid "" +"The register() method checks if a user with the entere= d " +"username already exists. If so, an error message is queued with the " +"FacesMessages component, and a null outcome is returne= d, " +"causing a page redisplay. The FacesMessages component " +"interpolates the JSF expression embedded in the message string and adds a= " +"JSF FacesMessage to the view." +msgstr "" + +#. Tag: para +#: Tutorial.xml:491 +#, no-c-format +msgid "" +"If no user with that username exists, the \"/registered.xhtml\"<= /" +"literal> outcome triggers a browser redirect to the registered." +"xhtml page. When JSF comes to render the page, it asks Seam to " +"resolve the variable named user and uses property valu= es " +"of the returned User entity from Seam's session scope." +msgstr "" + +#. Tag: title +#: Tutorial.xml:501 +#, no-c-format +msgid "Clickable lists in Seam: the messages example" +msgstr "" + +#. Tag: para +#: Tutorial.xml:503 +#, no-c-format +msgid "" +"Clickable lists of database search results are such an important part of = any " +"online application that Seam provides special functionality on top of JSF= to " +"make it easier to query data using EJB-QL or HQL and display it as a " +"clickable list using a JSF <h:dataTable>. The " +"messages example demonstrates this functionality." +msgstr "" + +#. Tag: para +#: Tutorial.xml:519 +#, no-c-format +msgid "" +"The message list example has one entity bean, Message,= " +"one session bean, MessageListBean and one JSP." +msgstr "" + +#. Tag: title +#: Tutorial.xml:523 +#, no-c-format +msgid "The entity bean: Message.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:525 +#, no-c-format +msgid "" +"The Message entity defines the title, text, date and t= ime " +"of a message, and a flag indicating whether the message has been read:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:530 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: title +#: Tutorial.xml:536 +#, no-c-format +msgid "The stateful session bean: MessageManagerBean.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:538 +#, no-c-format +msgid "" +"Just like in the previous example, we have a session bean, " +"MessageManagerBean, which defines the action listener " +"methods for the two buttons on our form. One of the buttons selects a " +"message from the list, and displays that message. The other button delete= s a " +"message. So far, this is not so different to the previous example." +msgstr "" + +#. Tag: para +#: Tutorial.xml:543 +#, no-c-format +msgid "" +"But MessageManagerBean is also responsible for fetchin= g " +"the list of messages the first time we navigate to the message list page.= " +"There are various ways the user could navigate to the page, and not all o= f " +"them are preceded by a JSF action—the user might have bookmarked th= e " +"page, for example. So the job of fetching the message list takes place in= a " +"Seam factory method, instead of in an action listene= r " +"method." +msgstr "" + +#. Tag: para +#: Tutorial.xml:549 +#, no-c-format +msgid "" +"We want to cache the list of messages in memory between server requests, = so " +"we will make this a stateful session bean." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:565 +#, no-c-format +msgid "" +" messageList;\n" +" \n" +" @DataModelSelection\n" +" @Out(required=3Dfalse)\n" +" private Message message;\n" +" \n" +" @PersistenceContext(type=3DEXTENDED)\n" +" private EntityManager em;\n" +" \n" +" @Factory(\"messageList\")\n" +" public void findMessages()\n" +" {\n" +" messageList =3D em.createQuery(\"from Message msg order by msg.date= time " +"desc\")\n" +" .getResultList();\n" +" }\n" +" \n" +" public void select()\n" +" {\n" +" message.setRead(true);\n" +" }\n" +" \n" +" public void delete()\n" +" {\n" +" messageList.remove(message);\n" +" em.remove(message);\n" +" message=3Dnull;\n" +" }\n" +" \n" +" @Remove\n" +" public void destroy() {}\n" +"\n" +"}]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:568 +#, no-c-format +msgid "" +"The @DataModel annotation exposes an attibute of type " +"java.util.List to the JSF page as an instance of " +"javax.faces.model.DataModel. This allows us to use the= " +"list in a JSF <h:dataTable> with clickable links= " +"for each row. In this case, the DataModel is made " +"available in a session context variable named messageList." +msgstr "" + +#. Tag: para +#: Tutorial.xml:576 +#, no-c-format +msgid "" +"The @DataModelSelection annotation tells Seam to injec= t " +"the List element that corresponded to the clicked link= ." +msgstr "" + +#. Tag: para +#: Tutorial.xml:580 +#, no-c-format +msgid "" +"The @Out annotation then exposes the selected value " +"directly to the page. So ever time a row of the clickable list is selecte= d, " +"the Message is injected to the attribute of the statef= ul " +"bean, and the subsequently outjected to the event " +"context variable named message." +msgstr "" + +#. Tag: para +#: Tutorial.xml:587 +#, no-c-format +msgid "" +"This stateful bean has an EJB3 extended persistence context. The messages retrieved in the query remain in the managed stat= e " +"as long as the bean exists, so any subsequent method calls to the statefu= l " +"bean can update them without needing to make any explicit call to the " +"EntityManager." +msgstr "" + +#. Tag: para +#: Tutorial.xml:593 +#, no-c-format +msgid "" +"The first time we navigate to the JSP page, there will be no value in the= " +"messageList context variable. The @Factory annotation tells Seam to create an instance of " +"MessageManagerBean and invoke the findMessage= s()" +" method to initialize the value. We call findMessages(= ) a factory method for messages." +msgstr "" + +#. Tag: para +#: Tutorial.xml:601 +#, no-c-format +msgid "" +"The select() action listener method marks the selected= " +"Message as read, and updates it in the database." +msgstr "" + +#. Tag: para +#: Tutorial.xml:605 +#, no-c-format +msgid "" +"The delete() action listener method removes the select= ed " +"Message from the database." +msgstr "" + +#. Tag: para +#: Tutorial.xml:609 +#, no-c-format +msgid "" +"All stateful session bean Seam components must have = a " +"method with no parameters marked @Remove that Seam use= s " +"to remove the stateful bean when the Seam context ends, and clean up any " +"server-side state." +msgstr "" + +#. Tag: para +#: Tutorial.xml:618 +#, no-c-format +msgid "" +"Note that this is a session-scoped Seam component. It is associated with = the " +"user login session, and all requests from a login session share the same " +"instance of the component. (In Seam applications, we usually use session-" +"scoped components sparingly.)" +msgstr "" + +#. Tag: title +#: Tutorial.xml:625 +#, no-c-format +msgid "" +"The session bean local interface: MessageManager.java" +msgstr "" + +#. Tag: para +#: Tutorial.xml:627 +#, no-c-format +msgid "All session beans have a business interface, of course." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:629 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:631 +#, no-c-format +msgid "From now on, we won't show local interfaces in our code examples." +msgstr "" + +#. Tag: para +#: Tutorial.xml:633 +#, no-c-format +msgid "" +"Let's skip over components.xml, persistence.x= ml, web.xml, ejb-jar.xml, " +"faces-config.xml and application.xml " +"since they are much the same as the previous example, and go straight to = the " +"JSP." +msgstr "" + +#. Tag: title +#: Tutorial.xml:641 +#, no-c-format +msgid "The view: messages.jsp" +msgstr "" + +#. Tag: para +#: Tutorial.xml:643 +#, no-c-format +msgid "" +"The JSP page is a straightforward use of the JSF <h:dataTable= >" +" component. Again, nothing specific to Seam." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:647 +#, no-c-format +msgid "" +"\n" +"<%@ taglib uri=3D\"http://java.sun.com/jsf/core\" prefix=3D\"f\" %>\n" +"\n" +" \n" +" Messages\n" +" \n" +" \n" +" \n" +" \n" +"

    Message List

    \n" +" \n" +" 0}\">\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"

    \n" +"
    \n" +"
    \n" +"
    \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:658 +#, no-c-format +msgid "" +"The first time we navigate to the messages.jsp page, " +"whether by a JSF postback (faces request) or a direct browser GET request= " +"(non-faces request), the page will try to resolve the messageLis= t context variable. Since this context variable is not initialized= , " +"Seam will call the factory method findMessages(), whic= h " +"performs a query against the database and results in a DataModel= being outjected. This DataModel provides the = row " +"data needed for rendering the <h:dataTable>." +msgstr "" + +#. Tag: para +#: Tutorial.xml:666 +#, no-c-format +msgid "" +"When the user clicks the <h:commandLink>, JSF ca= lls " +"the select() action listener. Seam intercepts this cal= l " +"and injects the selected row data into the message " +"attribute of the messageManager component. The action " +"listener fires, marking the selected Message as read. = At " +"the end of the call, Seam outjects the selected Message " +"to the context variable named message. Next, the EJB " +"container commits the transaction, and the change to the Message= is flushed to the database. Finally, the page is re-rendered, " +"redisplaying the message list, and displaying the selected message below = it." +msgstr "" + +#. Tag: para +#: Tutorial.xml:675 +#, no-c-format +msgid "" +"If the user clicks the <h:commandButton>, JSF ca= lls " +"the delete() action listener. Seam intercepts this cal= l " +"and injects the selected row data into the message " +"attribute of the messageList component. The action " +"listener fires, removing the selected Message from the= " +"list, and also calling remove() on the " +"EntityManager. At the end of the call, Seam refreshes = the " +"messageList context variable and clears the context " +"variable named message. The EJB container commits the " +"transaction, and deletes the Message from the database= . " +"Finally, the page is re-rendered, redisplaying the message list." +msgstr "" + +#. Tag: title +#: Tutorial.xml:690 +#, no-c-format +msgid "Seam and jBPM: the todo list example" +msgstr "" + +#. Tag: para +#: Tutorial.xml:692 +#, no-c-format +msgid "" +"jBPM provides sophisticated functionality for workflow and task managemen= t. " +"To get a small taste of how jBPM integrates with Seam, we'll show you a " +"simple \"todo list\" application. Since managing lists of tasks is such c= ore " +"functionality for jBPM, there is hardly any Java code at all in this exam= ple." +msgstr "" + +#. Tag: para +#: Tutorial.xml:707 +#, no-c-format +msgid "" +"The center of this example is the jBPM process definition. There are also= " +"two JSPs and two trivial JavaBeans (There was no reason to use session " +"beans, since they do not access the database, or have any other " +"transactional behavior). Let's start with the process definition:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:721 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:724 +#, no-c-format +msgid "" +"The <start-state> node represents the logical st= art " +"of the process. When the process starts, it immediately transitions to th= e " +"todo node." +msgstr "" + +#. Tag: para +#: Tutorial.xml:729 +#, no-c-format +msgid "" +"The <task-node> node represents a wait= " +"state, where business process execution pauses, waiting for on= e " +"or more tasks to be performed." +msgstr "" + +#. Tag: para +#: Tutorial.xml:734 +#, no-c-format +msgid "" +"The <task> element defines a task to be performe= d " +"by a user. Since there is only one task defined on this node, when it is " +"complete, execution resumes, and we transition to the end state. The task= " +"gets its description from a Seam component named todoList " +"(one of the JavaBeans)." +msgstr "" + +#. Tag: para +#: Tutorial.xml:740 +#, no-c-format +msgid "" +"Tasks need to be assigned to a user or group of users when they are creat= ed. " +"In this case, the task is assigned to the current user, which we get from= a " +"built-in Seam component named actor. Any Seam componen= t " +"may be used to perform task assignment." +msgstr "" + +#. Tag: para +#: Tutorial.xml:746 +#, no-c-format +msgid "" +"The <end-state> node defines the logical end of = the " +"business process. When execution reaches this node, the process instance = is " +"destroyed." +msgstr "" + +#. Tag: para +#: Tutorial.xml:755 +#, no-c-format +msgid "" +"If we view this process definition using the process definition editor " +"provided by JBossIDE, this is what it looks like:" +msgstr "" + +#. Tag: para +#: Tutorial.xml:767 +#, no-c-format +msgid "" +"This document defines our business process as a grap= h " +"of nodes. This is the most trivial possible business process: there is on= e " +"task to be performed, and when that task is complete= , " +"the business process ends." +msgstr "" + +#. Tag: para +#: Tutorial.xml:771 +#, no-c-format +msgid "" +"The first JavaBean handles the login screen login.jsp.= " +"Its job is just to initialize the jBPM actor id using the actor<= /" +"literal> component. (In a real application, it would also need to " +"authenticate the user.)" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:776 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:780 +#, no-c-format +msgid "" +"Here we see the use of @In to inject the built-in " +"Actor component." +msgstr "" + +#. Tag: para +#: Tutorial.xml:783 +#, no-c-format +msgid "The JSP itself is trivial:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:785 +#, no-c-format +msgid "" +"\n" +"<%@ taglib uri=3D\"http://java.sun.com/jsf/core\" prefix=3D\"f\"%>\n" +"\n" +"\n" +"Login\n" +"\n" +"\n" +"

    Login

    \n" +"\n" +" \n" +"
    \n" +" \n" +" \= n" +"
    \n" +"
    \n" +"
    \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:789 +#, no-c-format +msgid "" +"The second JavaBean is responsible for starting business process instance= s, " +"and ending tasks." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:800 +#, no-c-format +msgid "" +"" +msgstr "" + +#. Tag: para +#: Tutorial.xml:803 +#, no-c-format +msgid "" +"The description property accepts user input form the JSP page, and expose= s " +"it to the process definition, allowing the task description to be set." +msgstr "" + +#. Tag: para +#: Tutorial.xml:807 +#, no-c-format +msgid "" +"The Seam @CreateProcess annotation creates a new jBPM " +"process instance for the named process definition." +msgstr "" + +#. Tag: para +#: Tutorial.xml:811 +#, no-c-format +msgid "" +"The Seam @StartTask annotation starts work on a task. = The " +"@EndTask ends the task, and allows the business proces= s " +"execution to resume." +msgstr "" + +#. Tag: para +#: Tutorial.xml:820 +#, no-c-format +msgid "" +"In a more realistic example, @StartTask and " +"@EndTask would not appear on the same method, because " +"there is usually work to be done using the application in order to comple= te " +"the task." +msgstr "" + +#. Tag: para +#: Tutorial.xml:824 +#, no-c-format +msgid "Finally, the meat of the application is in todo.jsp:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:827 +#, no-c-format +msgid "" +"\n" +"<%@ taglib uri=3D\"http://java.sun.com/jsf/core\" prefix=3D\"f\" %>\n" +"<%@ taglib uri=3D\"http://jboss.com/products/seam/taglib\" prefix=3D\"s\"= %>\n" +"\n" +"\n" +"Todo List\n" +"\n" +"\n" +"

    Todo List

    \n" +"\n" +" \n" +"
    \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"
    \n" +"
    \n" +" \n" +"
    \n" +"
    \n" +" \= n" +"
    \n" +"
    \n" +" \n" +"
    \n" +" \n" +" \n" +"
    \n" +"
    \n" +"
    \n" +"\n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:831 +#, no-c-format +msgid "Let's take this one piece at a time." +msgstr "" + +#. Tag: para +#: Tutorial.xml:833 +#, no-c-format +msgid "" +"The page renders a list of tasks, which it gets from a built-in Seam " +"component named taskInstanceList. The list is defined " +"inside a JSF form." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:837 +#, no-c-format +msgid "" +"\n" +"
    \n" +" \n" +" \n" +" ...\n" +" \n" +"
    \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:840 +#, no-c-format +msgid "" +"Each element of the list is an instance of the jBPM class " +"TaskInstance. The following code simply displays the " +"interesting properties of each task in the list. For the description, " +"priority and due date, we use input controls, to allow the user to update= " +"these values." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:844 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:847 +#, no-c-format +msgid "" +"This button ends the task by calling the action method annotated " +"@StartTask @EndTask. It passes the task id to Seam as = a " +"request parameter:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:850 +#, no-c-format +msgid "" +"\n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:852 +#, no-c-format +msgid "" +"(Note that this is using a Seam <s:button> JSF " +"control from the seam-ui.jar package.)" +msgstr "" + +#. Tag: para +#: Tutorial.xml:855 +#, no-c-format +msgid "" +"This button is used to update the properties of the tasks. When the form = is " +"submitted, Seam and jBPM will make any changes to the tasks persistent. " +"There is no need for any action listener method:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:858 +#, no-c-format +msgid "]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:860 +#, no-c-format +msgid "" +"A second form on the page is used to create new items, by calling the act= ion " +"method annotated @CreateProcess." +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:863 +#, no-c-format +msgid "" +"\n" +"
    \n" +" \n" +" \n" +"
    \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:865 +#, no-c-format +msgid "" +"There are several other files needed for the example, but they are just " +"standard jBPM and Seam configuration and not very interesting." +msgstr "" + +#. Tag: para +#: Tutorial.xml:871 Tutorial.xml:1009 Tutorial.xml:1436 Tutorial.xml:1446 +#, no-c-format +msgid "TODO" +msgstr "" + +#. Tag: title +#: Tutorial.xml:877 +#, no-c-format +msgid "Seam pageflow: the numberguess example" +msgstr "" + +#. Tag: para +#: Tutorial.xml:879 +#, no-c-format +msgid "" +"For Seam applications with relatively freeform (ad hoc) navigation, JSF/S= eam " +"navigation rules are a perfectly good way to define the page flow. For " +"applications with a more constrained style of navigation, especially for " +"user interfaces which are more stateful, navigation rules make it difficu= lt " +"to really understand the flow of the system. To understand the flow, you " +"need to piece it together from the view pages, the actions and the " +"navigation rules." +msgstr "" + +#. Tag: para +#: Tutorial.xml:885 +#, no-c-format +msgid "" +"Seam allows you to use a jPDL process definition to define pageflow. The " +"simple number guessing example shows how this is done." +msgstr "" + +#. Tag: para +#: Tutorial.xml:899 +#, no-c-format +msgid "" +"The example is implemented using one JavaBean, three JSP pages and a jPDL= " +"pageflow definition. Let's begin with the pageflow:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:911 +#, no-c-format +msgid "" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"]]>" +msgstr "" + +#. Tag: para +#: Tutorial.xml:914 +#, no-c-format +msgid "" +"The <page> element defines a wait state where th= e " +"system displays a particular JSF view and waits for user input. The " +"view-id is the same JSF view id used in plain JSF " +"navigation rules. The redirect attribute tells Seam to= " +"use post-then-redirect when navigating to the page. (This results in " +"friendly browser URLs.)" +msgstr "" + +#. Tag: para +#: Tutorial.xml:921 +#, no-c-format +msgid "" +"The <transition> element names a JSF outcome. Th= e " +"transition is triggered when a JSF action results in that outcome. Execut= ion " +"will then proceed to the next node of the pageflow graph, after invocatio= n " +"of any jBPM transition actions." +msgstr "" + +#. Tag: para +#: Tutorial.xml:927 +#, no-c-format +msgid "" +"A transition <action> is just like a JSF action,= " +"except that it occurs when a jBPM transition occurs. The transition actio= n " +"can invoke any Seam component." +msgstr "" + +#. Tag: para +#: Tutorial.xml:932 +#, no-c-format +msgid "" +"A <decision> node branches the pageflow, and " +"determines the next node to execute by evaluating a JSF EL expression." +msgstr "" + +#. Tag: para +#: Tutorial.xml:940 +#, no-c-format +msgid "" +"Here is what the pageflow looks like in the JBoss Developer Studio pagefl= ow " +"editor:" +msgstr "" + +#. Tag: para +#: Tutorial.xml:951 +#, no-c-format +msgid "" +"Now that we have seen the pageflow, it is very, very easy to understand t= he " +"rest of the application!" +msgstr "" + +#. Tag: para +#: Tutorial.xml:953 +#, no-c-format +msgid "" +"Here is the main page of the application, numberGuess.jspx:" +msgstr "" + +#. Tag: programlisting +#: Tutorial.xml:957 +#, no-c-format +msgid "" +"\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" Guess a number...\n" +" \n" +" -

    JBoss Seam Debug Page

    +

    JBoss Seam Debug Page

    This page allows you to view and inspect any component in any Seam c= ontext associated with the current session. @@ -232,4 +233,4 @@ = - \ No newline at end of file + --===============5165855182322078641==-- From seam-commits at lists.jboss.org Mon Apr 21 00:10:06 2008 Content-Type: multipart/mixed; boundary="===============6105544651163152026==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7992 - branches/Seam_2_0/src/debug/META-INF. Date: Mon, 21 Apr 2008 00:10:06 -0400 Message-ID: --===============6105544651163152026== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-21 00:10:06 -0400 (Mon, 21 Apr 2008) New Revision: 7992 Modified: branches/Seam_2_0/src/debug/META-INF/debug.xhtml Log: JBSEAM-1370 Modified: branches/Seam_2_0/src/debug/META-INF/debug.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/debug/META-INF/debug.xhtml 2008-04-21 04:09:54 UT= C (rev 7991) +++ branches/Seam_2_0/src/debug/META-INF/debug.xhtml 2008-04-21 04:10:06 UT= C (rev 7992) @@ -12,6 +12,7 @@ body, div, span, td, th, caption { font-family: 'Trebuchet MS', Verd= ana, Arial, Sans-Serif; font-size: small; } ul, li, pre { padding: 0; margin: 0; } h1 { color: #090; } + h1 a { text-decoration: none; color: #090; } h2, h2 span { font-size: large; color: #339; } h2 a { text-decoration: none; color: #339; } pre { padding: 8px; margin: 10px 0; border: 1px solid #CCC; backgrou= nd-color: #f9f9f9; } @@ -52,7 +53,7 @@ -

    JBoss Seam Debug Page

    +

    JBoss Seam Debug Page

    This page allows you to view and inspect any component in any Seam c= ontext associated with the current session. @@ -232,4 +233,4 @@ = - \ No newline at end of file + --===============6105544651163152026==-- From seam-commits at lists.jboss.org Mon Apr 21 01:45:26 2008 Content-Type: multipart/mixed; boundary="===============8771601512164520654==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7993 - trunk/src/main/org/jboss/seam/core. Date: Mon, 21 Apr 2008 00:39:48 -0400 Message-ID: --===============8771601512164520654== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-21 00:39:48 -0400 (Mon, 21 Apr 2008) New Revision: 7993 Modified: trunk/src/main/org/jboss/seam/core/ConversationPropagation.java Log: didn't mean to include this Modified: trunk/src/main/org/jboss/seam/core/ConversationPropagation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/core/ConversationPropagation.java 2008-04= -21 04:10:06 UTC (rev 7992) +++ trunk/src/main/org/jboss/seam/core/ConversationPropagation.java 2008-04= -21 04:39:48 UTC (rev 7993) @@ -101,25 +101,35 @@ = private void restoreNaturalConversationId(Map parameters) { + //First, try to get the conversation id from the request parameter d= efined for the page String viewId =3D Pages.getCurrentViewId(); if ( viewId!=3Dnull ) { - Page page =3D Pages.instance().getPage(viewId); = = + Page page =3D Pages.instance().getPage(viewId); = if(conversationName !=3D null) { - ConversationIdParameter currentConversationIdParameter =3D Pa= ges.instance().getConversationIdParameter(conversationName); = + ConversationIdParameter currentConversationIdParameter =3D Pa= ges.instance().getConversationIdParameter(conversationName); + = if(currentConversationIdParameter =3D=3D null) { throw new IllegalStateException("The conversationName spe= cified: " + conversationName + ", does not exist."); } - conversationId =3D currentConversationIdParameter.getRequestC= onversationId(parameters); = + // Try to restore the conversation from parameters (the user = has specified the exact conversation to restore using f:param) + conversationId =3D currentConversationIdParameter.getRequestC= onversationId(parameters); + if (conversationId =3D=3D null) + { + // Try to restore the conversation from the EL expression = on the conversation definition + conversationId =3D currentConversationIdParameter.getConve= rsationId(); + } } else { conversationId =3D page.getConversationIdParameter().getReque= stConversationId(parameters); - } + } = + //TODO: how about the parent conversation id? } + } = private void restoreSyntheticConversationId(Map parameters) --===============8771601512164520654==-- From seam-commits at lists.jboss.org Mon Apr 21 09:01:52 2008 Content-Type: multipart/mixed; boundary="===============1599338956144839827==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7994 - branches/Seam_1_2_1_AP. Date: Mon, 21 Apr 2008 09:01:52 -0400 Message-ID: --===============1599338956144839827== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manaRH Date: 2008-04-21 09:01:51 -0400 (Mon, 21 Apr 2008) New Revision: 7994 Modified: branches/Seam_1_2_1_AP/readme.txt Log: JBPAPP-755 Modified: branches/Seam_1_2_1_AP/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/readme.txt 2008-04-21 04:39:48 UTC (rev 7993) +++ branches/Seam_1_2_1_AP/readme.txt 2008-04-21 13:01:51 UTC (rev 7994) @@ -1,6 +1,6 @@ JBoss Seam - Contextual Component framework for Java EE 5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D -version 1.2.0.PATCH1, February 2007 +version 1.2.1, March 2007 = This software is distributed under the terms of the FSF Lesser Gnu Public License (see lgpl.txt). @@ -8,10 +8,9 @@ Get Up And Running Quick ------------------------ = -1. Install JBoss AS 4.0.5.GA with the EJB 3.0 profile selected - using the JEMS installer +1. Download and unpack JBoss AS 4.2.2.GA = = - http://jboss.sourceforge.net/jnlp/jems-installer-1.2.0.BETA3.jnlp + http://www.jboss.org/jbossas/downloads/ = 2. Edit the "build.properties" file and change jboss.home to your = JBoss AS installation directory @@ -52,4 +51,4 @@ ---------- = * Read the documentation in the "doc/reference/en" directory -* Read the online FAQ http://www.jboss.com/products/seam/faq +* Read the online FAQ http://www.seamframework.org/Documentation/FAQs --===============1599338956144839827==-- From seam-commits at lists.jboss.org Mon Apr 21 11:19:32 2008 Content-Type: multipart/mixed; boundary="===============3470419964257323343==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7995 - branches/Seam_2_0. Date: Mon, 21 Apr 2008 11:19:32 -0400 Message-ID: --===============3470419964257323343== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-21 11:19:32 -0400 (Mon, 21 Apr 2008) New Revision: 7995 Modified: branches/Seam_2_0/release-process.txt Log: Major updates to the release process. Modified: branches/Seam_2_0/release-process.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/release-process.txt 2008-04-21 13:01:51 UTC (rev 7994) +++ branches/Seam_2_0/release-process.txt 2008-04-21 15:19:32 UTC (rev 7995) @@ -8,149 +8,236 @@ - one place at top including date. - changelog.txt - Generate a JIRA release note report for the release in "text" format - - Only "issue types" that have jira's will work + - Only "issue types" that have jira's will work - Usually that is (Bug, Feature Request, Task, and Patch) - Check all the issue types one at a time to determine final list. - build/default.build.properties = - Change the version numbers as needed - Set the qualifier using a "." ex. ".CR1" or ".GA" - Check that build.properties has the qualifier commented out for the = release + = +Maven repository settings +------------------------- +* A released version of seam should not reference any repositories other t= han + "repository.jboss.org". See "build/readme.txt" for details. + - Search "$DIST/build" for "pluginRepository". = + - Should only find "root.pom.xml" and "docs.pom.xml" + - Comment out any other "" entry + - Comment out any "" that references a commented out entry. + - Verify prior to tagging + - run "ant cleanall testall testreport" with these changes + - This should build, and test without a problem. = -SVN Tagging and Checkout +SVN tagging and checkout ------------------------ * Note: testing can begin prior to official tagging but a complete process= should be executed on the tag prior to release. = * Tag the release (XX as needed) -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.or= g/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag"" - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0= https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1" -* In a clean directory checkout the required seam source ( XX as needed) +* In a clean directory checkout the newly tagged seam source ( XX as neede= d) - "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX s= eam" = - ex. "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0= _2_CR1 seam" +* In the original branch/trunk change: + - Qualifier back to "-SNAPSHOT" in default.build.properties file. + - The version numbers should stay the same = + - Any new work is that versions snapshot + - Revert the Maven repository changes if needed = -Building and Checking Diff +Building and Checking Dist -------------------------- -* Run "mkdir ../releaselogs" +* Run "mkdir ../releaselogs" for release artifacts. + * Initial build and test suite execution - - run initial build to get dependencies and other requirements + - run initial build to download dependencies and setup env. - run "ant > ../releaselogs/x.x.x.XX.initbuild.txt" - - edit build.properties and un-comment "validate.xml =3D true" - - run "ant cleanall testall testreport > ../releaselogs/x.x.x.XX.testa= llreport.txt" + - run "ant -Dvalidate.xml=3Dtrue cleanall testall testreport > ../rele= aselogs/x.x.x.XX.testallreport.txt" - check report/junit-noframes.html - There should be no failures or errors. - run "cp -R test-output ../releaselogs" - run "cp -R test-report ../releaselogs" - - comment out "validate.xml =3D true" in build.properties + = * Create the distribution build - run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt" - Use the dist build for all example tests -* Diff the zip, gz, and exploded version of the build - - ex. = - - explode the zip and gz into a tmp dir - - cp distribution directory into the tmp dir - - in tmp dir run: + = +* Diff the zip, gz, and exploded version of the dist build + - example of how to do it: + - explode the zip and gz into "../tmp/zip" and "../tmp/gz" + - cp distribution directory into "../tmp/dist" = + - in "../tmp" run: - "diff -r ./gz/. ./zip/." - - "diff -r ./gz/. ./dir/." + - "diff -r ./gz/. ./dist/." - There should be no differences. + - Delete "../tmp" if you wish + = * check that the following files/directories exist in the dist "ls -1" -bootstrap -build -build.properties -build.xml -changelog.txt -doc -examples -lgpl.txt -lib -mail -readme.txt -seam -seam-gen -seam-text.g -seam.bat -seam2migration.txt -src -ui + bootstrap + build + build.properties + build.xml + changelog.txt + doc + examples + lgpl.txt + lib + mail + readme.txt + seam + seam-gen + seam-text.g + seam.bat + seam2migration.txt + src + ui = * check that the following source directories exist in the dist "ls -1 src" -debug -gen -ioc -jbas5 -mail -main -pdf -remoting -test + debug + gen + ioc + jbas5 + mail + main + pdf + remoting + test = * check that the following examples exist in the dist "ls -1 examples" -blog -booking -build.xml -contactlist -drools -dvdstore -groovybooking -hibernate -icefaces -itext -jee5 -jpa -mail -messages -nestedbooking -numberguess -quartz -readme.txt -registration -remoting -seam-examples.html -seambay -seamdiscs -seampay -seamspace -spring -todo -ui -wiki + blog + booking + build.xml + contactlist + drools + dvdstore + groovybooking + hibernate + icefaces + itext + jee5 + jpa + mail + messages + nestedbooking + numberguess + quartz + readme.txt + registration + remoting + seambay + seamdiscs + seampay + seamspace + spring + todo + ui + wiki = -* [future] jar, archive, dependency report -* [future] directory structure report +* Archive reports + - run these in the dist directory + find . -name *.jar > ../releaselogs/jarlist.txt + find . -name *.sar > ../releaselogs/sarlist.txt + find . -name *.war > ../releaselogs/warlist.txt + find . -name *.ear > ../releaselogs/earlist.txt + find . -name *.zip > ../releaselogs/ziplist.txt + find . -name *.gz > ../releaselogs/gzlist.txt + find . -name *seam*.jar > ../releaselogs/seamjarlist.txt + - Manually review the lists for problems + - seam jars all in one place + - = = -Tests ------ -* edit the $dist/build.properties and set the jboss.home and tomcat.home +* In the dist run "ant dependencyReport" + - run "cp ./dependency-report.txt ../releaselogs" + - Review for snapshot dependencies + - there should be none. + - Compare with real jar versions from META-INF/MANIFEST.MF + - + +* Built source verification + - Create a copy of the $DIST directory + - In the original run "ant" + - diff the original and the built versions + - only difference should be build related = + - + - Extract seam jars from orig, and the newly built into different dirs + - diff the directories + - Should be no differences except version of ant and/or jdk versio= ns + = +Example verification +-------------------- +* The list of examples below is extensive, and testing may not touch each. + - This should be based on risk analysis, and release note review. + - For a major/minor GA build they should all be tested. + - Any examples that are not tested should be noted. = +* Verify the the following are accurate and up to date: + - "$DIST/readme.txt" = + - "$DIST/examples/readme.txt" = +* For these examples verify the following: + - readme.txt is accurate + - ant deploy = + - ant tomcat.deploy - for supported examples + - ant test + - ant clean + - ant undeploy +* Examples with "(tutorial)" are discussed in the reference guide tutorial. + - document should be validated as well + - including tomcat deployments +* Edit the $dist/build.properties and set the jboss.home and tomcat.home - JBoss AS 4.2.2.GA and Tomcat 6.X -* Test the steps in the readme.txt - - this deploys the booking example on JBoss 4.2.2 - - Sanity check the application -* Sanity check the following example applications on JBoss 4.2.2 - - dvdstore - - jpa - - hibernate - - seamspace +* JBoss 4.2.2 examples + - blog (tutorial) + - booking (tutorial) - contactlist + - drools + - dvdstore (tutorial) + - groovybooking + - hibernate (tutorial) + - icefaces - itext + - jpa = - mail + - messages (tutorial) + - nestedbooking + - numberguess (tutorial) + - quartz + - registration (tutorial) + - remoting/chatroom + - remoting/gwt + - remoting/helloworld + - remoting/poker + - remoting/progressbar + - seambay - seamdiscs - - remoting/chatroom - - blog -* Sanity check the following example applications on Tomcat - - booking - - dvdstore + - seampay + - seamspace - spring - - jpa - - hibernate -* Sanity check the folowing example applications on GlassFish + - takeaway + - todo (tutorial) + - ui + - wiki (not ready for testing until 2.1.X) +* Tomcat 6 examples = + - Note: use JBoss embedded unless specified differently + - blog (tutorial) + - booking (tutorial) + - dvdstore (tutorial) + - hibernate (tutorial) + - hibernate (tutorial) without embedded + - jpa = + - jpa without embedded + - messages (tutorial) + - numberguess (tutorial) + - registration (tutorial) + - seambay + - seampay + - todo (tutorial) +* GlassFish v2.1 examples - jee5 - jpa - hibernate -* Validate /examples/seam-examples.html - - ant deploypresentation - - check for errors and spot check apps - they were already test above. = -Test seam-gen & JBDS -------------- +JBDS and seam-gen verification +------------------------------ +These tests use a stable version of MySQL and the latest release of JBDS. + * export the following tables to MySQL: - CREATE TABLE `Person` ( `username` varchar(10) NOT NULL, `name` varchar(100) NOT NULL, @@ -171,41 +258,147 @@ CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `person` (`u= sername`) ) ENGINE=3DInnoDB = = +* seam-gen review seam-gen chapter of the reference guide + - accurate and up to date * seam-gen EAR = - run "seam setup create-project generate-entities explode" - - test the app, at least the list and edit pages for Person + - during setup choose an EAR project + - test the basic functionality of the app (CRUD on each table) - run "seam new-action new-form restart" - test both generated pages - run the unit tests in eclipse using the TestNG plugin = +* seam-gen IceFaces EAR test = + - run "seam setup create-project generate-entities explode" + - during setup choose an EAR project + - during setup choose to use IceFaces instead of RichFaces + - test the basic functionality of the app (CRUD on each table) * seam-gen WAR = - run "seam setup create-project generate-entities explode" - - test the app, at least the list and edit pages for Person + - during setup choose a WAR project + - test the basic functionality of the app (CRUD on each table) - run "seam new-action new-form restart" - test both generated pages - run the unit tests in eclipse using the TestNG plugin = -* Create a new war project in JBDS +* JBDS - import the EAR seam-gen generated project into JBDS. + - Enable Seam support in project properties + - Check that EL code completion works for Seam components = + - Check that Hibernate Console work on the project + - expand the Configuration node + - Open HQL editor and query "from SomeEntity" and execute the query +* JBDS new WAR project - Reverse engineer entities from MySQL - - Test generated pages (check hot deployment of Seam components, html) + - Create "new Seam Action" and "new Seam Form" + - Test generated pages (check hot deployment of Seam components, html) = - Test running unit tests from Eclipse -* Create a new ear project in JBDS +* JBDS new EAR project = - Reverse engineer entities from MySQL - - Test generated pages (check hot deployment of Seam components, html) - - Test running unit tests from Eclipse + - Create "new Seam Action" and "new Seam Form" + - Test generated pages (check hot deployment of Seam components, html) = + - Test running unit tests from JBDS +* JBDS - test a subset of the examples with testNG plugin. + - See "/readme.txt" and "/examples/readme.txt" for details. = + = +Portal Bridge Verification +-------------------------- +* Use the latest released version of the PortalBridge and JBoss Portal. + - http://labs.jboss.com/portletbridge + - http://www.jboss.org/jbossportal/ +* Deploy and verify the bridge booking example to JBoss portal. +* Deploy a second version of the booking example as a separate portlet + - +* Build the seam identity extension with the booking example + - + - Go to the booking demo seamBookingPortlet/pom.xml + - go to the bottom and uncomment the identity module. + - Build the booking demo and login via the portal admin link. = + - this should automatically logs you into the seam booking demo + = +Document review +--------------- +* Review the API javadocs in both IE and FF. + - Specifically for version differences + - This is not a full review +* Review the Reference Guide documentation in both IE and FF. + - Review for format and code styles + - Review for version numbers, and dependencies + - Review any extensive changes based on release notes and the team. = + - This is not a full review = Final Build + Upload -------------- -* run "ant cleanall dist" +* When ready for the release + - checkout a clean version of the tag + - run "ant cleanall dist > ../releaselogs/x.x.x.XX.finaldistbuild.txt" + - diff this to the one used for testing = -* upload .zip and .tar.gz to upload.sf.net -* do the sf.net file release stuff -* Do the release procedure for maven as described in build/readme.txt -* upload the doc directory of the dist to docs.jboss.org - - remember to update the latest/ dir -* update the documentation and download pages on jboss.org -* update the DTDs and XSDs on jboss.com/products/seam -* announce the release on the news page on jboss.org +* Follow instructions for sourceforge upload + - Create md5 files for the ".zip" and ".tar.gz" files + - + - upload the .zip and .tar.gz and md5 files to SF FTP "upload.sf.net/i= ncoming" folder + = +* Login to sourceforge.org and go to jboss.org project + - Under admin tab click on "file releases" + - Add a release to the "JBoss Seam" project + - Set "Status" to "hidden" + - Paste this release changelog snippet in the "changelog" + - Paste this release readme.txt in the "release notes" = + - Add the 4 files uploaded to the release + - Keep everything hidden for now. = +* Upload the "$DIST/doc" directory to "docs.jboss.com/seam/" = + - Note: this can take a long time. + = +* Maven release procedure.(see build/readme.txt for details) + - Checkout/update JBoss repository = + - checkout "svn co https://svn.jboss.org/repos/repository.jboss.or= g/maven2" + - Note this can take a very long time + - update (if already local) "svn update ." in the "maven2" directo= ry. + - Adding this to an eclipse project with svn plugin can make it much e= asier. + - Set the "offline.repository.jboss.org" property in "build/build.prop= erties" + - to the directory you checked out to. + - Run "ant releaseSeam" in the build directory + - Review and Commit the release changes to repository.jboss.org + +Final Coordination and Announcement +----------------------------------- +* For a GA release and if its newest version of Seam + - Update "http://docs.jboss.com/seam/latest" with the docs from this v= ersion. + - Not for cr,alpha,beta releases + - This can take a long time +* Update the DTDs and XSDs on jboss.com/products/seam + - Easiest way to use a script that checks for changes + - + - Update any changes to the site +* Login to sourceforge.org and modify the Seam release entry + - Change the date to today + - Change "Status" to active +* Update the documentation and download pages on seamframework.org + - documentation points to "docs.jboss.com" + - downloads point to sourceforge download page +* Update Jira so that version shows as "released" = +* Announce the release + - Blog on in.relation.to + - seamframework.org news, and forums + - jboss.org news + Update Demos ------------ -This step is not needed for every point release: -* upload the booking and dvdstore examples to demo.jboss.com +* This step is not needed for every point release: +* Upload the booking and dvdstore examples to demo.jboss.com +* + +Notes +----- +* To reapply a tag: + - First delete the original + - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XX= X -m "removing old tag prior to applying updated tag" + - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_= 2_CR1 -m "removing old tag prior to applying updated tag" + - Recopy back to tag + -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.or= g/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag"" + - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 http= s://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "Updated tag for = 2.0.2.CR1" + +[FUTURE] +-------- +* Store release related scripts (especially when more automated) in svn. +* Store release logs, and reports in svn. +* Find a jar/archive reporting tool for detailed dependency, version, loca= tion reports. --===============3470419964257323343==-- From seam-commits at lists.jboss.org Mon Apr 21 13:34:46 2008 Content-Type: multipart/mixed; boundary="===============8168079193362110927==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7996 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US. Date: Mon, 21 Apr 2008 13:34:46 -0400 Message-ID: --===============8168079193362110927== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-21 13:34:45 -0400 (Mon, 21 Apr 2008) New Revision: 7996 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Configuration.xml Log: add missing / in XML short tag Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Configuration.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Configuration.xml 2008= -04-21 15:19:32 UTC (rev 7995) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Configuration.xml 2008= -04-21 17:34:45 UTC (rev 7996) @@ -740,14 +740,14 @@ Add the Embedded JBoss listener to con= f/server.xml. It should appear after all other listeners in the file. = - ]]> + ]]> = WAR file scanning should be enabled by adding a = listener to conf/context.xml. = - ]]> + ]]> = --===============8168079193362110927==-- From seam-commits at lists.jboss.org Mon Apr 21 14:27:16 2008 Content-Type: multipart/mixed; boundary="===============3635630099429056145==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7997 - trunk. Date: Mon, 21 Apr 2008 14:27:16 -0400 Message-ID: --===============3635630099429056145== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jbalunas(a)redhat.com Date: 2008-04-21 14:27:16 -0400 (Mon, 21 Apr 2008) New Revision: 7997 Modified: trunk/release-process.txt Log: major update to the seam release process Modified: trunk/release-process.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/release-process.txt 2008-04-21 17:34:45 UTC (rev 7996) +++ trunk/release-process.txt 2008-04-21 18:27:16 UTC (rev 7997) @@ -1,44 +1,244 @@ Seam Release Process =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = - Updating version numbers ------------------------ -* Update the version number embedded in: - - readme.txt - - changelog.txt (insert JIRA release notes) - - build/default.build.properties (you're probably building locally with = - -SNAPSHOT as the qualifer in build.properties, comment it out when bui= lding - for a release) +* Update the version information: + - readme.txt = + - one place at top including date. + - changelog.txt + - Generate a JIRA release note report for the release in "text" format + - Only "issue types" that have jira's will work + - Usually that is (Bug, Feature Request, Task, and Patch) + - Check all the issue types one at a time to determine final list. + - build/default.build.properties = + - Change the version numbers as needed + - Set the qualifier using a "." ex. ".CR1" or ".GA" + - Check that build.properties has the qualifier commented out for the = release + = +Maven repository settings +------------------------- +* A released version of seam should not reference any repositories other t= han + "repository.jboss.org". See "build/readme.txt" for details. + - Search "$DIST/build" for "pluginRepository". = + - Should only find "root.pom.xml" and "docs.pom.xml" + - Comment out any other "" entry + - Comment out any "" that references a commented out entry. + - Verify prior to tagging + - run "ant cleanall testall testreport" with these changes + - This should build, and test without a problem. = -Tests ------ -* "ant cleanall testall testreport" with validate.xml =3D true in build.pr= operties, check report/junit-noframes.html -* Sanity check the following example applications on JBoss 4.2.2 - - booking - - dvdstore - - jpa - - hibernate - - seamspace +SVN tagging and checkout +------------------------ +* Note: testing can begin prior to official tagging but a complete process= should be executed on the tag prior to release. = +* Tag the release (XX as needed) + -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.or= g/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag"" + - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0= https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1" +* In a clean directory checkout the newly tagged seam source ( XX as neede= d) + - "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX s= eam" = + - ex. "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0= _2_CR1 seam" +* In the original branch/trunk change: + - Qualifier back to "-SNAPSHOT" in default.build.properties file. + - The version numbers should stay the same = + - Any new work is that versions snapshot + - Revert the Maven repository changes if needed + +Building and Checking Dist +-------------------------- +* Run "mkdir ../releaselogs" for release artifacts. + +* Initial build and test suite execution + - run initial build to download dependencies and setup env. + - run "ant > ../releaselogs/x.x.x.XX.initbuild.txt" + - run "ant -Dvalidate.xml=3Dtrue cleanall testall testreport > ../rele= aselogs/x.x.x.XX.testallreport.txt" + - check report/junit-noframes.html + - There should be no failures or errors. + - run "cp -R test-output ../releaselogs" + - run "cp -R test-report ../releaselogs" + = +* Create the distribution build + - run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt" + - Use the dist build for all example tests + = +* Diff the zip, gz, and exploded version of the dist build + - example of how to do it: + - explode the zip and gz into "../tmp/zip" and "../tmp/gz" + - cp distribution directory into "../tmp/dist" = + - in "../tmp" run: + - "diff -r ./gz/. ./zip/." + - "diff -r ./gz/. ./dist/." + - There should be no differences. + - Delete "../tmp" if you wish + = +* check that the following files/directories exist in the dist "ls -1" + bootstrap + build + build.properties + build.xml + changelog.txt + doc + examples + lgpl.txt + lib + mail + readme.txt + seam + seam-gen + seam-text.g + seam.bat + seam2migration.txt + src + ui + +* check that the following source directories exist in the dist "ls -1 src" + debug + gen + ioc + jbas5 + mail + main + pdf + remoting + test + +* check that the following examples exist in the dist "ls -1 examples" + blog + booking + build.xml + contactlist + drools + dvdstore + groovybooking + hibernate + icefaces + itext + jee5 + jpa + mail + messages + nestedbooking + numberguess + quartz + readme.txt + registration + remoting + seambay + seamdiscs + seampay + seamspace + spring + todo + ui + wiki + +* Archive reports + - run these in the dist directory + find . -name *.jar > ../releaselogs/jarlist.txt + find . -name *.sar > ../releaselogs/sarlist.txt + find . -name *.war > ../releaselogs/warlist.txt + find . -name *.ear > ../releaselogs/earlist.txt + find . -name *.zip > ../releaselogs/ziplist.txt + find . -name *.gz > ../releaselogs/gzlist.txt + find . -name *seam*.jar > ../releaselogs/seamjarlist.txt + - Manually review the lists for problems + - seam jars all in one place + - = + = +* In the dist run "ant dependencyReport" + - run "cp ./dependency-report.txt ../releaselogs" + - Review for snapshot dependencies + - there should be none. + - Compare with real jar versions from META-INF/MANIFEST.MF + - + +* Built source verification + - Create a copy of the $DIST directory + - In the original run "ant" + - diff the original and the built versions + - only difference should be build related = + - + - Extract seam jars from orig, and the newly built into different dirs + - diff the directories + - Should be no differences except version of ant and/or jdk versio= ns + = +Example verification +-------------------- +* The list of examples below is extensive, and testing may not touch each. + - This should be based on risk analysis, and release note review. + - For a major/minor GA build they should all be tested. + - Any examples that are not tested should be noted. = +* Verify the the following are accurate and up to date: + - "$DIST/readme.txt" = + - "$DIST/examples/readme.txt" = +* For these examples verify the following: + - readme.txt is accurate + - ant deploy = + - ant tomcat.deploy - for supported examples + - ant test + - ant clean + - ant undeploy +* Examples with "(tutorial)" are discussed in the reference guide tutorial. + - document should be validated as well + - including tomcat deployments +* Edit the $dist/build.properties and set the jboss.home and tomcat.home + - JBoss AS 4.2.2.GA and Tomcat 6.X +* JBoss 4.2.2 examples + - blog (tutorial) + - booking (tutorial) - contactlist + - drools + - dvdstore (tutorial) + - groovybooking + - hibernate (tutorial) + - icefaces - itext + - jpa = - mail + - messages (tutorial) + - nestedbooking + - numberguess (tutorial) + - quartz + - registration (tutorial) + - remoting/chatroom + - remoting/gwt + - remoting/helloworld + - remoting/poker + - remoting/progressbar + - seambay + - seamdiscs + - seampay + - seamspace - spring - - seamdiscs -* Sanity check the following example applications on Tomcat - - booking - - dvdstore - - jpa - - hibernate -* Sanity check the folowing example applications on GlassFish + - takeaway + - todo (tutorial) + - ui + wiket + - wiki = +* Tomcat 6 examples = + - Note: use JBoss embedded unless specified differently + - blog (tutorial) + - booking (tutorial) + - dvdstore (tutorial) + - hibernate (tutorial) + - hibernate (tutorial) without embedded + - jpa = + - jpa without embedded + - messages (tutorial) + - numberguess (tutorial) + - registration (tutorial) + - seambay + - seampay + - todo (tutorial) +* GlassFish v2.1 examples - jee5 - jpa - hibernate = -Test seam-gen & JBDS -------------- +JBDS and seam-gen verification +------------------------------ +These tests use a stable version of MySQL and the latest release of JBDS. + * export the following tables to MySQL: - CREATE TABLE `Person` ( `username` varchar(10) NOT NULL, `name` varchar(100) NOT NULL, @@ -59,106 +259,147 @@ CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `person` (`u= sername`) ) ENGINE=3DInnoDB = = -* run "seam setup create-project generate-entities explode" - - test the app, at least the list and edit pages for Person -* run "seam new-action new-form restart" - - test both generated pages - - run the unit tests in eclipse using the TestNG plugin = -* Create a new war project in JBDS +* seam-gen review seam-gen chapter of the reference guide + - accurate and up to date +* seam-gen EAR = + - run "seam setup create-project generate-entities explode" + - during setup choose an EAR project + - test the basic functionality of the app (CRUD on each table) + - run "seam new-action new-form restart" + - test both generated pages + - run the unit tests in eclipse using the TestNG plugin = +* seam-gen IceFaces EAR test = + - run "seam setup create-project generate-entities explode" + - during setup choose an EAR project + - during setup choose to use IceFaces instead of RichFaces + - test the basic functionality of the app (CRUD on each table) +* seam-gen WAR = + - run "seam setup create-project generate-entities explode" + - during setup choose a WAR project + - test the basic functionality of the app (CRUD on each table) + - run "seam new-action new-form restart" + - test both generated pages + - run the unit tests in eclipse using the TestNG plugin = +* JBDS - import the EAR seam-gen generated project into JBDS. + - Enable Seam support in project properties + - Check that EL code completion works for Seam components = + - Check that Hibernate Console work on the project + - expand the Configuration node + - Open HQL editor and query "from SomeEntity" and execute the query +* JBDS new WAR project - Reverse engineer entities from MySQL - - Test generated pages (check hot deployment of Seam components, html) + - Create "new Seam Action" and "new Seam Form" + - Test generated pages (check hot deployment of Seam components, html) = - Test running unit tests from Eclipse -* Create a new ear project in JBDS +* JBDS new EAR project = - Reverse engineer entities from MySQL - - Test generated pages (check hot deployment of Seam components, html) - - Test running unit tests from Eclipse + - Create "new Seam Action" and "new Seam Form" + - Test generated pages (check hot deployment of Seam components, html) = + - Test running unit tests from JBDS +* JBDS - test a subset of the examples with testNG plugin. + - See "/readme.txt" and "/examples/readme.txt" for details. = + = +Portal Bridge Verification +-------------------------- +* Use the latest released version of the PortalBridge and JBoss Portal. + - http://labs.jboss.com/portletbridge + - http://www.jboss.org/jbossportal/ +* Deploy and verify the bridge booking example to JBoss portal. +* Deploy a second version of the booking example as a separate portlet + - +* Build the seam identity extension with the booking example + - + - Go to the booking demo seamBookingPortlet/pom.xml + - go to the bottom and uncomment the identity module. + - Build the booking demo and login via the portal admin link. = + - this should automatically logs you into the seam booking demo + = +Document review +--------------- +* Review the API javadocs in both IE and FF. + - Specifically for version differences + - This is not a full review +* Review the Reference Guide documentation in both IE and FF. + - Review for format and code styles + - Review for version numbers, and dependencies + - Review any extensive changes based on release notes and the team. = + - This is not a full review = - - -Tag SVN -------- -* "svn copy trunk tags/JBoss_Seam_x_x_x_XX" -* "svn commit tags/JBoss_Seam_x_x_x_XX" - -Build + Upload +Final Build + Upload -------------- -* run "ant cleanall dist" -* check that the following files/directories exist in the dist "ls -1" +* When ready for the release + - checkout a clean version of the tag + - run "ant cleanall dist > ../releaselogs/x.x.x.XX.finaldistbuild.txt" + - diff this to the one used for testing = -bootstrap -build -build.properties -build.xml -changelog.txt -doc -examples -lgpl.txt -lib -mail -pom.xml -readme.txt -seam -seam-gen -seam-text.g -seam.bat -seam2migration.txt -src -ui +* Follow instructions for sourceforge upload + - Create md5 files for the ".zip" and ".tar.gz" files + - + - upload the .zip and .tar.gz and md5 files to SF FTP "upload.sf.net/i= ncoming" folder + = +* Login to sourceforge.org and go to jboss.org project + - Under admin tab click on "file releases" + - Add a release to the "JBoss Seam" project + - Set "Status" to "hidden" + - Paste this release changelog snippet in the "changelog" + - Paste this release readme.txt in the "release notes" = + - Add the 4 files uploaded to the release + - Keep everything hidden for now. = -* check that the following source directories exist in the dist "ls -1 src" +* Upload the "$DIST/doc" directory to "docs.jboss.com/seam/" = + - Note: this can take a long time. + = +* Maven release procedure.(see build/readme.txt for details) + - Checkout/update JBoss repository = + - checkout "svn co https://svn.jboss.org/repos/repository.jboss.or= g/maven2" + - Note this can take a very long time + - update (if already local) "svn update ." in the "maven2" directo= ry. + - Adding this to an eclipse project with svn plugin can make it much e= asier. + - Set the "offline.repository.jboss.org" property in "build/build.prop= erties" + - to the directory you checked out to. + - Run "ant releaseSeam" in the build directory + - Review and Commit the release changes to repository.jboss.org = -debug -gen -ioc -mail -main -pdf -remoting -test +Final Coordination and Announcement +----------------------------------- +* For a GA release and if its newest version of Seam + - Update "http://docs.jboss.com/seam/latest" with the docs from this v= ersion. + - Not for cr,alpha,beta releases + - This can take a long time +* Update the DTDs and XSDs on jboss.com/products/seam + - Easiest way to use a script that checks for changes + - + - Update any changes to the site +* Login to sourceforge.org and modify the Seam release entry + - Change the date to today + - Change "Status" to active +* Update the documentation and download pages on seamframework.org + - documentation points to "docs.jboss.com" + - downloads point to sourceforge download page +* Update Jira so that version shows as "released" = +* Announce the release + - Blog on in.relation.to + - seamframework.org news, and forums + - jboss.org news = -* check that the following examples exist in the dist "ls -1 examples" - -blog -booking -build.xml -contactlist -drools -dvdstore -groovybooking -hibernate -icefaces -itext -jee5 -jpa -mail -messages -numberguess -portal -quartz -readme.txt -registration -remoting -seam-examples.html -seambay -seamdiscs -seampay -seamspace -spring -todo -ui -wiki - -* upload .zip and .tar.gz to upload.sf.net -* do the sf.net file release stuff -* Do the release proceedure for maven as described in build/readme.txt -* upload the doc directory of the dist to docs.jboss.org - - remember to update the latest/ dir -* update the documentation and download pages on jboss.org -* update the DTDs and XSDs on jboss.com/products/seam -* announce the release on the news page on jboss.org - Update Demos ------------ -This step is not needed for every point release: -* upload the booking and dvdstore examples to demo.jboss.com +* This step is not needed for every point release: +* Upload the booking and dvdstore examples to demo.jboss.com +* = +Notes +----- +* To reapply a tag: + - First delete the original + - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XX= X -m "removing old tag prior to applying updated tag" + - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_= 2_CR1 -m "removing old tag prior to applying updated tag" + - Recopy back to tag + -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.or= g/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag"" + - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 http= s://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "Updated tag for = 2.0.2.CR1" + +[FUTURE] +-------- +* Store release related scripts (especially when more automated) in svn. +* Store release logs, and reports in svn. +* Find a jar/archive reporting tool for detailed dependency, version, loca= tion reports. --===============3635630099429056145==-- From seam-commits at lists.jboss.org Mon Apr 21 16:06:44 2008 Content-Type: multipart/mixed; boundary="===============0215137789661938271==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r7999 - trunk/src/main/org/jboss/seam. Date: Mon, 21 Apr 2008 16:06:44 -0400 Message-ID: --===============0215137789661938271== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-21 16:06:44 -0400 (Mon, 21 Apr 2008) New Revision: 7999 Modified: trunk/src/main/org/jboss/seam/components-2.1.xsd Log: JBSEAM-1531 Modified: trunk/src/main/org/jboss/seam/components-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/components-2.1.xsd 2008-04-21 18:54:20 UT= C (rev 7998) +++ trunk/src/main/org/jboss/seam/components-2.1.xsd 2008-04-21 20:06:44 UT= C (rev 7999) @@ -1,8 +1,20 @@ - + + + = + The top-level schema for a Seam components.xml. For more infor= mation on Seam, see + http://www.seamframework.org. = + + + + + The components tag is a the root element fo= r a components.xml containing multiples + component definitions. + @@ -13,7 +25,12 @@ + + + The component tag defines a single Seam com= ponent. It may serve as to the root element of + a fine-grained *.component.xml file. + @@ -22,88 +39,204 @@ - = - = + + + + The import tag declares additional global component namesp= aces that will be in effect for + all components. = + + + + - + + + = + The JNDI name used to lookup the component. This value= is only used with EJB + components that don't follow the global JNDI pattern. = + + + - = + - - + + + The name of component + + + = + + + The Java class of the component implemen= tation + + + + + The scope of the component + + = - - - - - - - - - - - - - - - - + = - - - - - + + + + + The precedence of the component, expressed as a positi= ve integer. Higher + precedence components override lower precedence compon= ents. The pre-definied precedence + values are: = + = + BUILT_IN =3D 0, = + FRAMEWORK =3D 10, + APPLICATION =3D 20, + DEPLOYMENT =3D 30, + MOCK =3D 40 + + + + + + + = + + + + The installed value indicates whether or not the compo= nent definition should be installed. + + + + = + + + + Indicates whether or not a components instance should = be created when + one doesn't exist and when the component is requested = using a method that = + would not normally instantiate a new instance. (such = as basic injection) + + + + = + + + + Indicates that an instance of the component should be = created when the = + the component's controlling scope starts. This is onl= y used for application and + session scope. + + + + = + + + + A list of component names that this component depends = on and that should be created before + this component is started. + + + = + + + Factories are like a component instances except their valu= es are = + determined by computing a value or calling a method on ano= ther = + component. + + + = - - - + + + The name of the factory component + + = + + + + The method binding used to evauluate the factory valu= e. A factory should have either + a method binding or a value binding, but not both. + + + + = + + + + The value binding used to evauluate the factory value= . A factory should have either + a method binding or a value binding, but not both. + + + + = + + The scope of the factory value + + = - - - - - - - - - - - - - - - - + = - + = + + + + Indicates whether or not the factory value should be c= reated when + one doesn't exist and when the component is requested = using a method that = + would not normally instantiate a new instance. (such = as basic injection) + + + + = + = + + + A generic property. The body contains the value or values. + + - - + + + = - + + + The property name + + - - + = = + + + For map values, the key for the following va= lue + + + = + + + + For list values, the value to be added. + For map values, the value for the preceding key + + + + @@ -118,6 +251,9 @@ = + + An event handler definition + @@ -125,17 +261,97 @@ + = - + + + The event type to handle + + = + + The action to be taken when the event occurs= + + = - + + + An EL expression to be invoked when the = event is invoked + + = + + + + + + + + + + + + + + + + = + + + = + + + + + + + + + = + + + + = + + + + = + + + + + + + + + + + + + + + + + + + = + + + + + + + + + --===============0215137789661938271==-- From seam-commits at lists.jboss.org Mon Apr 21 18:30:09 2008 Content-Type: multipart/mixed; boundary="===============3303853324723971267==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8000 - trunk/src/main/org/jboss/seam. Date: Mon, 21 Apr 2008 18:30:08 -0400 Message-ID: --===============3303853324723971267== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-21 18:30:08 -0400 (Mon, 21 Apr 2008) New Revision: 8000 Modified: trunk/src/main/org/jboss/seam/async-2.1.xsd trunk/src/main/org/jboss/seam/core-2.1.xsd trunk/src/main/org/jboss/seam/pdf-2.1.xsd trunk/src/main/org/jboss/seam/theme-2.1.xsd trunk/src/main/org/jboss/seam/transaction-2.1.xsd trunk/src/main/org/jboss/seam/web-2.1.xsd Log: JBSEAM-1531 Modified: trunk/src/main/org/jboss/seam/async-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/async-2.1.xsd 2008-04-21 20:06:44 UTC (re= v 7999) +++ trunk/src/main/org/jboss/seam/async-2.1.xsd 2008-04-21 22:30:08 UTC (re= v 8000) @@ -5,15 +5,21 @@ = + + + - + = + + + @@ -22,13 +28,16 @@ = + + + - + = Modified: trunk/src/main/org/jboss/seam/core-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/core-2.1.xsd 2008-04-21 20:06:44 UTC (rev= 7999) +++ trunk/src/main/org/jboss/seam/core-2.1.xsd 2008-04-21 22:30:08 UTC (rev= 8000) @@ -2,71 +2,78 @@ + = = + + The core Seam components + + = + + A Seam component that holds Seam configurati= on settings + + = - - - - - - - - - - - - - - - - - - + + + + = + + The Seam conversation manager + + = - - - - - + + + + + = + + Access to application resources and resource= bundles + - + + + A list of resource bundle names<= /xs:documentation> + + - - + = = + + Integration with JBoss Cache + - + - Modified: trunk/src/main/org/jboss/seam/pdf-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/pdf-2.1.xsd 2008-04-21 20:06:44 UTC (rev = 7999) +++ trunk/src/main/org/jboss/seam/pdf-2.1.xsd 2008-04-21 22:30:08 UTC (rev = 8000) @@ -8,26 +8,49 @@ = + + + The PDF document store is used to store rendered documents= for download on a later request. + + - - + + + + When a document had expired or otherwise cannot be loa= ded, this page is displayed. + + + + + + + Controls whether or not the URLs for documents should = contain their correct file name extensions. + Using file name extensions requires additional configu= ration in web.xml. + + + = + + + The key stores holds the encryption keys for creating sign= ed PDF documents + + - + - - - - - + + + + + Modified: trunk/src/main/org/jboss/seam/theme-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/theme-2.1.xsd 2008-04-21 20:06:44 UTC (re= v 7999) +++ trunk/src/main/org/jboss/seam/theme-2.1.xsd 2008-04-21 22:30:08 UTC (re= v 8000) @@ -5,27 +5,22 @@ = + + Theme selector component + - + - + = - - - - - - - - - - - + + + + - Modified: trunk/src/main/org/jboss/seam/transaction-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/transaction-2.1.xsd 2008-04-21 20:06:44 U= TC (rev 7999) +++ trunk/src/main/org/jboss/seam/transaction-2.1.xsd 2008-04-21 22:30:08 U= TC (rev 8000) @@ -5,6 +5,9 @@ = + + + @@ -14,29 +17,38 @@ = + + + - + = + + + - + = - + + + + - + = Modified: trunk/src/main/org/jboss/seam/web-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/web-2.1.xsd 2008-04-21 20:06:44 UTC (rev = 7999) +++ trunk/src/main/org/jboss/seam/web-2.1.xsd 2008-04-21 22:30:08 UTC (rev = 8000) @@ -5,6 +5,12 @@ = + + + Detects multipart form requests and processes them accordi= ng to the = + multipart/form-data specification (RFC-2388). + + @@ -13,6 +19,10 @@ = + + This filter allows Seam to propagate the con= versation context across browser redirects. It intercepts any = +browser redirects and adds a request parameter that specifies the Seam con= versation identifier. + @@ -20,6 +30,9 @@ = = + + This filter provides the exception mapping f= unctionality in pages.xml. + @@ -27,6 +40,10 @@ = + + This filter allows custom servlets to intera= ct with the Seam contexts. It sets up the Seam contexts at the begin- = +ning of each request, and tears them down at the end of the request. + @@ -34,6 +51,9 @@ = + + + @@ -42,26 +62,37 @@ = = + + Sets the character encoding of submitted for= m data. + - - + + = = + + Although not recommended for use unless abso= lutely necessary, Seam provides means for authenticating using = +either HTTP Basic or HTTP Digest (RFC 2617) methods. + - - - - + + + + = + + This filter adds the authenticated user name= to the log4j mapped diagnostic context so that it can be included in = +formatted log output if desired, by adding %X{username} to the pattern. + @@ -69,6 +100,9 @@ = + + The ajax4jsf filter for RichFaces + @@ -77,47 +111,26 @@ = = - - - + + + = - - - + + + = - - - - - - - - = - + = + = - - - - - - - - - - - - - - - - - + + + = @@ -126,8 +139,9 @@ + = - + = = --===============3303853324723971267==-- From seam-commits at lists.jboss.org Tue Apr 22 00:49:09 2008 Content-Type: multipart/mixed; boundary="===============1094356024244652261==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8001 - trunk/src/main/org/jboss/seam/security/permission. Date: Tue, 22 Apr 2008 00:49:09 -0400 Message-ID: --===============1094356024244652261== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-22 00:49:09 -0400 (Tue, 22 Apr 2008) New Revision: 8001 Added: trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionSt= ore.java trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionRe= solver.java Removed: trunk/src/main/org/jboss/seam/security/permission/acl/ trunk/src/main/org/jboss/seam/security/permission/dynamic/ Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionManager.java trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java Log: consolidate dynamic and acl permission resolvers into PersistentPermissionR= esolver Added: trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissi= onStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionS= tore.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionS= tore.java 2008-04-22 04:49:09 UTC (rev 8001) @@ -0,0 +1,440 @@ +package org.jboss.seam.security.permission; + +import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.BUILT_IN; + +import java.io.Serializable; +import java.security.Principal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; +import javax.persistence.Query; + +import org.jboss.seam.Component; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.annotations.security.permission.PermissionAction; +import org.jboss.seam.annotations.security.permission.PermissionDiscrimina= tor; +import org.jboss.seam.annotations.security.permission.PermissionRole; +import org.jboss.seam.annotations.security.permission.PermissionTarget; +import org.jboss.seam.annotations.security.permission.PermissionUser; +import org.jboss.seam.core.Expressions; +import org.jboss.seam.core.Expressions.ValueExpression; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Role; +import org.jboss.seam.security.SimplePrincipal; +import org.jboss.seam.security.management.JpaIdentityStore; +import org.jboss.seam.util.AnnotatedBeanProperty; + +/** + * A permission store implementation that uses JPA as its persistence mech= anism. + * = + * @author Shane Bryzak + */ +(a)Name("org.jboss.seam.security.permission.jpaDynamicPermissionStore") +(a)Install(precedence =3D BUILT_IN, value=3Dfalse) = +(a)Scope(APPLICATION) +(a)BypassInterceptors +public class JpaDynamicPermissionStore implements PermissionStore, Seriali= zable +{ + private static final LogProvider log =3D Logging.getLogProvider(JpaDyna= micPermissionStore.class); = + = + private ValueExpression entityManager; + = + private Class userPermissionClass; + private Class rolePermissionClass; + = + private AnnotatedBeanProperty userProperty; + private AnnotatedBeanProperty roleProperty; + = + private AnnotatedBeanProperty targetProperty; + private AnnotatedBeanProperty actionProperty; = + private AnnotatedBeanProperty discriminatorPro= perty; + = + private AnnotatedBeanProperty roleTargetProperty; + private AnnotatedBeanProperty roleActionProperty; + = + private String selectUserPermissionQuery; + private String selectRolePermissionQuery; + + @Create + public void init() + { = + if (userPermissionClass =3D=3D null) + { + log.debug("No permissionClass set, JpaDynamicPermissionStore will= be unavailable."); + return; + } = + = + if (entityManager =3D=3D null) + { + entityManager =3D Expressions.instance().createValueExpression("#= {entityManager}", EntityManager.class); + } = + = + initProperties(); + buildQueries(); + } = + = + protected void initProperties() + { + userProperty =3D AnnotatedBeanProperty.scanForProperty(userPermissio= nClass, PermissionUser.class); + targetProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionTarget.class); + actionProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionAction.class); + = + if (rolePermissionClass !=3D null) + { + roleProperty =3D AnnotatedBeanProperty.scanForProperty(rolePermis= sionClass, PermissionRole.class); + if (roleProperty !=3D null) + { + roleTargetProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionTarget.class); + roleActionProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionAction.class); + } + } + else + { + roleProperty =3D AnnotatedBeanProperty.scanForProperty(userPermis= sionClass, PermissionRole.class); + if (roleProperty !=3D null) + { + discriminatorProperty =3D AnnotatedBeanProperty.scanForPropert= y(userPermissionClass, PermissionDiscriminator.class); + } + } + = + if (userProperty =3D=3D null) = + { + throw new RuntimeException("Invalid userPermissionClass " + userP= ermissionClass.getName() + = + " - required annotation @PermissionUser not found on any Fi= eld or Method."); + } + + if (rolePermissionClass !=3D null) + { + if (roleProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionRole not found on any= Field or Method."); + } + = + if (roleTargetProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionTarget not found on a= ny Field or Method."); + } + = + if (roleActionProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionAction not found on a= ny Field or Method."); + } + } + else if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Invalid userPermissionClass " + roleP= ermissionClass.getName() + + " - no rolePermissionClass set and @PermissionDiscriminator= annotation not found on " + + "any Field or Method"); + } + } = + = + protected void buildQueries() + { + StringBuffer query =3D new StringBuffer(); + query.append("select p from "); + query.append(userPermissionClass.getName()); + query.append(" p where "); + query.append(targetProperty.getName()); + query.append(" =3D :target and "); + query.append(actionProperty.getName()); + query.append(" =3D :action"); + = + selectUserPermissionQuery =3D query.toString(); + = + if (rolePermissionClass !=3D null) + { + query.setLength(0); + query.append("select p from "); + query.append(rolePermissionClass.getName()); + query.append(" p where "); + query.append(roleTargetProperty.getName()); + query.append(" =3D :target and "); + query.append(roleActionProperty.getName()); + query.append(" =3D :action"); + = + selectRolePermissionQuery =3D query.toString(); + } + else + { + selectRolePermissionQuery =3D selectUserPermissionQuery; + } + } + = + public boolean grantPermission(Permission permission) + { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + = + try + { + if (recipientIsRole) + { + if (rolePermissionClass !=3D null) + { + Object instance =3D rolePermissionClass.newInstance(); + roleTargetProperty.setValue(instance, permission.getTarget(= ).toString()); + roleActionProperty.setValue(instance, permission.getAction(= )); + roleProperty.setValue(instance, permission.getRecipient().g= etName()); + lookupEntityManager().persist(instance); + return true; + } + = + if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Could not grant permission, rol= ePermissionClass not set"); = + } + } + = + if (userPermissionClass =3D=3D null) + { + throw new RuntimeException("Could not grant permission, userPe= rmissionClass not set"); + } + = + Object instance =3D userPermissionClass.newInstance(); + targetProperty.setValue(instance, permission.getTarget().toString= ()); + actionProperty.setValue(instance, permission.getAction()); = = + userProperty.setValue(instance, resolvePrincipal(permission.getRe= cipient())); + = + if (discriminatorProperty !=3D null) + { + discriminatorProperty.setValue(instance, getDiscriminatorValue= (recipientIsRole)); + } + = + lookupEntityManager().persist(instance); + = + return true; + } + catch (Exception ex) + { + throw new RuntimeException("Could not grant permission", ex); + } = + } + = + private String getDiscriminatorValue(boolean isRole) + { + PermissionDiscriminator discriminator =3D (PermissionDiscriminator) = discriminatorProperty.getAnnotation(); + return isRole ? discriminator.roleValue() : discriminator.userValue(= ); = + } + = + public boolean revokePermission(Permission permission) + { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + + EntityManager em =3D lookupEntityManager(); + = + Query qry =3D em.createQuery(recipientIsRole ? selectRolePermissionQ= uery : + selectUserPermissionQuery) + .setParameter("target", permission.getTarget()) + .setParameter("action", permission.getAction()) + .setParameter("recipient", resolvePrincipal(permission.getRecipie= nt())); + = + if (discriminatorProperty !=3D null) + { + qry.setParameter("discriminator", getDiscriminatorValue(recipient= IsRole)); + } + = + try + { + Object instance =3D qry.getSingleResult(); = + em.remove(instance); + return true; + } + catch (NoResultException ex) + { + return false; + } + } = + = + /** + * If the user or role properties in the entity class refer to other en= tities, then this method + * uses the JpaIdentityStore (if available) to lookup that user or role= entity. Otherwise it + * simply returns the name of the recipient. = + * = + * @param recipient + * @return + */ + protected Object resolvePrincipal(Principal recipient) + { + boolean recipientIsRole =3D recipient instanceof Role; + = + JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); + = + if (identityStore !=3D null) + { + if (recipientIsRole && roleProperty !=3D null && roleProperty.get= PropertyClass().equals(identityStore.getRoleClass())) + { + return identityStore.lookupRole(recipient.getName()); + } + else if (userProperty.getPropertyClass().equals(identityStore.get= UserClass())) + { + return identityStore.lookupUser(recipient.getName()); + } + } = + = + return recipient.getName(); + } + = + protected String resolvePrincipalName(Object principal, boolean isUser + ) + { + if (principal instanceof String) + { + return (String) principal; + } + = + JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); + = + if (identityStore !=3D null) + { + if (isUser && identityStore.getUserClass().equals(principal.getCl= ass())) + { + return identityStore.getUserName(principal); + } + = + if (!isUser && identityStore.getRoleClass().equals(principal.getC= lass())) + { + return identityStore.getRoleName(principal); + } + } + = + throw new IllegalArgumentException("Cannot resolve principal name fo= r principal " + principal); = + } + + public List listPermissions(Object target, String action) = + { + List permissions =3D new ArrayList(); + = + Query permissionQuery =3D lookupEntityManager().createQuery(selectUs= erPermissionQuery) + .setParameter("target", target); + = + if (action !=3D null) + { + permissionQuery.setParameter("action", action); + } + = + List userPermissions =3D permissionQuery.getResultList(); = + = + Map principalCache =3D new HashMap(); + = + boolean useDiscriminator =3D rolePermissionClass =3D=3D null && disc= riminatorProperty !=3D null; + = + for (Object permission : userPermissions) + { + Principal principal; + boolean isUser =3D true; + = + if (useDiscriminator && = + discriminatorProperty.getAnnotation().roleValue().equals(discr= iminatorProperty.getValue(permission))) + { + isUser =3D false; + } + + String name =3D resolvePrincipalName(isUser ? userProperty.getVal= ue(permission) : + roleProperty.getValue(permission), isUser); + = + String key =3D (isUser ? "user:" : "role:") + name; + = + if (!principalCache.containsKey(key)) + { + principal =3D isUser ? new SimplePrincipal(name) : new Role(na= me); + principalCache.put(key, principal); + } + else + { + principal =3D principalCache.get(key); + } + = + permissions.add(new Permission(target, (String) (action !=3D null= ? action : actionProperty.getValue(permission)), = + principal)); + } + = + if (rolePermissionClass =3D=3D null) + { + permissionQuery =3D lookupEntityManager().createQuery(selectRoleP= ermissionQuery) + .setParameter("target", target); = + = + if (action !=3D null) + { + permissionQuery.setParameter("action", action); + } + = + List rolePermissions =3D permissionQuery.getResultList(); + = + for (Object permission : rolePermissions) + { + Principal principal; + = + String name =3D resolvePrincipalName(roleProperty.getValue(per= mission), false); + String key =3D "role:" + name; + = + if (!principalCache.containsKey(key)) + { + principal =3D new Role(name); + principalCache.put(key, principal); + } + else + { + principal =3D principalCache.get(key); + } + = + permissions.add(new Permission(target, (String) (action !=3D n= ull ? action : = + roleActionProperty.getValue(permission)), principal)); + } + } + = + return permissions; + } + + public List listPermissions(Object target) = + { + return listPermissions(target, null); + } + + private EntityManager lookupEntityManager() + { + return entityManager.getValue(); + } + = + public ValueExpression getEntityManager() + { + return entityManager; + } + = + public void setEntityManager(ValueExpression expression) + { + this.entityManager =3D expression; + } = + = + public Class getUserPermissionClass() + { + return userPermissionClass; + } + = + public void setUserPermissionClass(Class userPermissionClass) + { + this.userPermissionClass =3D userPermissionClass; + } + = + public Class getRolePermissionClass() + { + return rolePermissionClass; + } + = + public void setRolePermissionClass(Class rolePermissionClass) + { + this.rolePermissionClass =3D rolePermissionClass; + } +} Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionManag= er.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-21 22:30:08 UTC (rev 8000) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionManager.jav= a 2008-04-22 04:49:09 UTC (rev 8001) @@ -16,7 +16,6 @@ import org.jboss.seam.log.LogProvider; import org.jboss.seam.log.Logging; import org.jboss.seam.security.Identity; -import org.jboss.seam.security.permission.PermissionStore; = /** * Permission management component, used to grant or revoke permissions on= specific objects or of @@ -29,8 +28,7 @@ @Install(precedence =3D BUILT_IN) public class PermissionManager implements Serializable { - public static final String ACCOUNT_PERMISSION_STORE_COMPONENT_NAME =3D = "accountPermissionStore"; - public static final String ACL_PERMISSION_STORE_COMPONENT_NAME =3D "acl= PermissionStore"; + public static final String PERMISSION_STORE_COMPONENT_NAME =3D "permiss= ionStore"; = public static final String PERMISSION_PERMISSION_NAME =3D "seam.permiss= ion"; = @@ -40,34 +38,21 @@ = private static final LogProvider log =3D Logging.getLogProvider(Permiss= ionManager.class); = - private PermissionStore dynamicPermissionStore; + private PermissionStore permissionStore; = - private PermissionStore aclPermissionStore; - = @Create public void create() { - if (dynamicPermissionStore =3D=3D null) + if (permissionStore =3D=3D null) { - dynamicPermissionStore =3D (PermissionStore) Component.getInstanc= e(ACCOUNT_PERMISSION_STORE_COMPONENT_NAME, true); + permissionStore =3D (PermissionStore) Component.getInstance(PERMI= SSION_STORE_COMPONENT_NAME, true); } = = - if (dynamicPermissionStore =3D=3D null) + if (permissionStore =3D=3D null) { - log.warn("no account permission store available - please install = an AccountPermissionStore with the name '" + - ACCOUNT_PERMISSION_STORE_COMPONENT_NAME + "' if account-bas= ed permission management is required."); + log.warn("no permission store available - please install a Permis= sionStore with the name '" + + PERMISSION_STORE_COMPONENT_NAME + "' if permission manageme= nt is required."); } - = - if (aclPermissionStore =3D=3D null) - { - aclPermissionStore =3D (PermissionStore) Component.getInstance(AC= L_PERMISSION_STORE_COMPONENT_NAME); - } - = - if (aclPermissionStore =3D=3D null) - { - log.warn("no ACL permission store available - please install an A= clPermissionStore with the name '" + - ACL_PERMISSION_STORE_COMPONENT_NAME + "' if ACL-based permi= ssion management is required."); - } } = = public static PermissionManager instance() @@ -88,59 +73,37 @@ return instance; } = - public PermissionStore getDynamicPermissionStore() + public PermissionStore getPermissionStore() { - return dynamicPermissionStore; + return permissionStore; } = - public void setDynamicPermissionStore(PermissionStore dynamicPermission= Store) + public void setPermissionStore(PermissionStore permissionStore) { - this.dynamicPermissionStore =3D dynamicPermissionStore; + this.permissionStore =3D permissionStore; } = public List listPermissions(String target, String action) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); - return dynamicPermissionStore.listPermissions(target, action); + return permissionStore.listPermissions(target, action); } = - public List listPermissions(String target) - { - Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); - return dynamicPermissionStore.listPermissions(target); - } - = public List listPermissions(Object target) { Identity.instance().checkPermission(PERMISSION_PERMISSION_NAME, PERM= ISSION_READ); - return aclPermissionStore.listPermissions(target); + return permissionStore.listPermissions(target); } = public boolean grantPermission(Permission permission) { Identity.instance().checkPermission(permission, PERMISSION_GRANT); - = - if (permission.getTarget() instanceof String) - { - return dynamicPermissionStore.grantPermission(permission); - } - else - { - return aclPermissionStore.grantPermission(permission); - } + return permissionStore.grantPermission(permission); } = public boolean revokePermission(Permission permission) { Identity.instance().checkPermission(permission, PERMISSION_REVOKE); - = - if (permission.getTarget() instanceof String) - { - return dynamicPermissionStore.revokePermission(permission); - } - else - { - return aclPermissionStore.revokePermission(permission); - } + return permissionStore.revokePermission(permission); } } Modified: trunk/src/main/org/jboss/seam/security/permission/PermissionStore= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = 2008-04-21 22:30:08 UTC (rev 8000) +++ trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java = 2008-04-22 04:49:09 UTC (rev 8001) @@ -1,7 +1,6 @@ package org.jboss.seam.security.permission; = import java.util.List; -import java.util.Set; = /** * Permission store interface. @@ -12,7 +11,6 @@ { List listPermissions(Object target); List listPermissions(Object target, String action); - List listPermissions(Set targets); boolean grantPermission(Permission permission); boolean revokePermission(Permission permission); } Added: trunk/src/main/org/jboss/seam/security/permission/PersistentPermissi= onResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java 2008-04-22 04:49:09 UTC (rev 8001) @@ -0,0 +1,103 @@ +package org.jboss.seam.security.permission; + +import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.FRAMEWORK; + +import java.io.Serializable; +import java.util.List; + +import org.jboss.seam.Component; +import org.jboss.seam.Seam; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Startup; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Identity; + +/** + * Resolves dynamically-assigned permissions, mapped to a user or a role, = and kept in persistent = + * storage, such as a relational database. + * = + * @author Shane Bryzak + */ +(a)Name("org.jboss.seam.security.dynamicPermissionResolver") +(a)Scope(APPLICATION) +(a)BypassInterceptors +(a)Install(precedence=3DFRAMEWORK) +(a)Startup +public class PersistentPermissionResolver implements PermissionResolver, S= erializable +{ = + private static final String DEFAULT_PERMISSION_STORE_NAME =3D "jpaDynam= icPermissionStore"; + = + private PermissionStore permissionStore; + = + private static final LogProvider log =3D Logging.getLogProvider(Persist= entPermissionResolver.class); = + = + @Create + public void create() + { + initPermissionStore(); + } + = + protected void initPermissionStore() + { + if (permissionStore =3D=3D null) + { + permissionStore =3D (PermissionStore) Component.getInstance(DEFAU= LT_PERMISSION_STORE_NAME, true); + } = + = + if (permissionStore =3D=3D null) + { + log.warn("no permission store available - please install a Permis= sionStore with the name '" + + DEFAULT_PERMISSION_STORE_NAME + "' if dynamic permissions a= re required."); + } + } = + = + public PermissionStore getPermissionStore() + { + return permissionStore; + } + = + public void setPermissionStore(PermissionStore permissionStore) + { + this.permissionStore =3D permissionStore; + } + = + public boolean hasPermission(Object target, String action) + { = + if (permissionStore =3D=3D null) return false; + = + Identity identity =3D Identity.instance(); + = + if (!identity.isLoggedIn()) return false; + = + String targetName =3D Seam.getComponentName(target.getClass()); + if (targetName =3D=3D null) + { + targetName =3D target.getClass().getName(); + } + = + List permissions =3D permissionStore.listPermissions(tar= getName, action); + = + String username =3D identity.getPrincipal().getName(); + = + for (Permission permission : permissions) + { + if (username.equals(permission.getRecipient().getName())) + { + return true; + } + = + if (identity.hasRole(permission.getRecipient().getName())) + { + return true; + } + } = + = + return false; + } +} --===============1094356024244652261==-- From seam-commits at lists.jboss.org Tue Apr 22 00:52:32 2008 Content-Type: multipart/mixed; boundary="===============3713035275518871655==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8002 - trunk/src/main/org/jboss/seam/security/permission. Date: Tue, 22 Apr 2008 00:52:31 -0400 Message-ID: --===============3713035275518871655== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-22 00:52:31 -0400 (Tue, 22 Apr 2008) New Revision: 8002 Added: trunk/src/main/org/jboss/seam/security/permission/JpaPermissionStore.java Removed: trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionSt= ore.java Modified: trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionRe= solver.java Log: rename Deleted: trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermis= sionStore.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionS= tore.java 2008-04-22 04:49:09 UTC (rev 8001) +++ trunk/src/main/org/jboss/seam/security/permission/JpaDynamicPermissionS= tore.java 2008-04-22 04:52:31 UTC (rev 8002) @@ -1,440 +0,0 @@ -package org.jboss.seam.security.permission; - -import static org.jboss.seam.ScopeType.APPLICATION; -import static org.jboss.seam.annotations.Install.BUILT_IN; - -import java.io.Serializable; -import java.security.Principal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.persistence.EntityManager; -import javax.persistence.NoResultException; -import javax.persistence.Query; - -import org.jboss.seam.Component; -import org.jboss.seam.annotations.Create; -import org.jboss.seam.annotations.Install; -import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Scope; -import org.jboss.seam.annotations.intercept.BypassInterceptors; -import org.jboss.seam.annotations.security.permission.PermissionAction; -import org.jboss.seam.annotations.security.permission.PermissionDiscrimina= tor; -import org.jboss.seam.annotations.security.permission.PermissionRole; -import org.jboss.seam.annotations.security.permission.PermissionTarget; -import org.jboss.seam.annotations.security.permission.PermissionUser; -import org.jboss.seam.core.Expressions; -import org.jboss.seam.core.Expressions.ValueExpression; -import org.jboss.seam.log.LogProvider; -import org.jboss.seam.log.Logging; -import org.jboss.seam.security.Role; -import org.jboss.seam.security.SimplePrincipal; -import org.jboss.seam.security.management.JpaIdentityStore; -import org.jboss.seam.util.AnnotatedBeanProperty; - -/** - * A permission store implementation that uses JPA as its persistence mech= anism. - * = - * @author Shane Bryzak - */ -(a)Name("org.jboss.seam.security.permission.jpaDynamicPermissionStore") -(a)Install(precedence =3D BUILT_IN, value=3Dfalse) = -(a)Scope(APPLICATION) -(a)BypassInterceptors -public class JpaDynamicPermissionStore implements PermissionStore, Seriali= zable -{ - private static final LogProvider log =3D Logging.getLogProvider(JpaDyna= micPermissionStore.class); = - = - private ValueExpression entityManager; - = - private Class userPermissionClass; - private Class rolePermissionClass; - = - private AnnotatedBeanProperty userProperty; - private AnnotatedBeanProperty roleProperty; - = - private AnnotatedBeanProperty targetProperty; - private AnnotatedBeanProperty actionProperty; = - private AnnotatedBeanProperty discriminatorPro= perty; - = - private AnnotatedBeanProperty roleTargetProperty; - private AnnotatedBeanProperty roleActionProperty; - = - private String selectUserPermissionQuery; - private String selectRolePermissionQuery; - - @Create - public void init() - { = - if (userPermissionClass =3D=3D null) - { - log.debug("No permissionClass set, JpaDynamicPermissionStore will= be unavailable."); - return; - } = - = - if (entityManager =3D=3D null) - { - entityManager =3D Expressions.instance().createValueExpression("#= {entityManager}", EntityManager.class); - } = - = - initProperties(); - buildQueries(); - } = - = - protected void initProperties() - { - userProperty =3D AnnotatedBeanProperty.scanForProperty(userPermissio= nClass, PermissionUser.class); - targetProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionTarget.class); - actionProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionAction.class); - = - if (rolePermissionClass !=3D null) - { - roleProperty =3D AnnotatedBeanProperty.scanForProperty(rolePermis= sionClass, PermissionRole.class); - if (roleProperty !=3D null) - { - roleTargetProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionTarget.class); - roleActionProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionAction.class); - } - } - else - { - roleProperty =3D AnnotatedBeanProperty.scanForProperty(userPermis= sionClass, PermissionRole.class); - if (roleProperty !=3D null) - { - discriminatorProperty =3D AnnotatedBeanProperty.scanForPropert= y(userPermissionClass, PermissionDiscriminator.class); - } - } - = - if (userProperty =3D=3D null) = - { - throw new RuntimeException("Invalid userPermissionClass " + userP= ermissionClass.getName() + = - " - required annotation @PermissionUser not found on any Fi= eld or Method."); - } - - if (rolePermissionClass !=3D null) - { - if (roleProperty =3D=3D null) - { - throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + - " - required annotation @PermissionRole not found on any= Field or Method."); - } - = - if (roleTargetProperty =3D=3D null) - { - throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + - " - required annotation @PermissionTarget not found on a= ny Field or Method."); - } - = - if (roleActionProperty =3D=3D null) - { - throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + - " - required annotation @PermissionAction not found on a= ny Field or Method."); - } - } - else if (discriminatorProperty =3D=3D null) - { - throw new RuntimeException("Invalid userPermissionClass " + roleP= ermissionClass.getName() + - " - no rolePermissionClass set and @PermissionDiscriminator= annotation not found on " + - "any Field or Method"); - } - } = - = - protected void buildQueries() - { - StringBuffer query =3D new StringBuffer(); - query.append("select p from "); - query.append(userPermissionClass.getName()); - query.append(" p where "); - query.append(targetProperty.getName()); - query.append(" =3D :target and "); - query.append(actionProperty.getName()); - query.append(" =3D :action"); - = - selectUserPermissionQuery =3D query.toString(); - = - if (rolePermissionClass !=3D null) - { - query.setLength(0); - query.append("select p from "); - query.append(rolePermissionClass.getName()); - query.append(" p where "); - query.append(roleTargetProperty.getName()); - query.append(" =3D :target and "); - query.append(roleActionProperty.getName()); - query.append(" =3D :action"); - = - selectRolePermissionQuery =3D query.toString(); - } - else - { - selectRolePermissionQuery =3D selectUserPermissionQuery; - } - } - = - public boolean grantPermission(Permission permission) - { - boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; - = - try - { - if (recipientIsRole) - { - if (rolePermissionClass !=3D null) - { - Object instance =3D rolePermissionClass.newInstance(); - roleTargetProperty.setValue(instance, permission.getTarget(= ).toString()); - roleActionProperty.setValue(instance, permission.getAction(= )); - roleProperty.setValue(instance, permission.getRecipient().g= etName()); - lookupEntityManager().persist(instance); - return true; - } - = - if (discriminatorProperty =3D=3D null) - { - throw new RuntimeException("Could not grant permission, rol= ePermissionClass not set"); = - } - } - = - if (userPermissionClass =3D=3D null) - { - throw new RuntimeException("Could not grant permission, userPe= rmissionClass not set"); - } - = - Object instance =3D userPermissionClass.newInstance(); - targetProperty.setValue(instance, permission.getTarget().toString= ()); - actionProperty.setValue(instance, permission.getAction()); = = - userProperty.setValue(instance, resolvePrincipal(permission.getRe= cipient())); - = - if (discriminatorProperty !=3D null) - { - discriminatorProperty.setValue(instance, getDiscriminatorValue= (recipientIsRole)); - } - = - lookupEntityManager().persist(instance); - = - return true; - } - catch (Exception ex) - { - throw new RuntimeException("Could not grant permission", ex); - } = - } - = - private String getDiscriminatorValue(boolean isRole) - { - PermissionDiscriminator discriminator =3D (PermissionDiscriminator) = discriminatorProperty.getAnnotation(); - return isRole ? discriminator.roleValue() : discriminator.userValue(= ); = - } - = - public boolean revokePermission(Permission permission) - { - boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; - - EntityManager em =3D lookupEntityManager(); - = - Query qry =3D em.createQuery(recipientIsRole ? selectRolePermissionQ= uery : - selectUserPermissionQuery) - .setParameter("target", permission.getTarget()) - .setParameter("action", permission.getAction()) - .setParameter("recipient", resolvePrincipal(permission.getRecipie= nt())); - = - if (discriminatorProperty !=3D null) - { - qry.setParameter("discriminator", getDiscriminatorValue(recipient= IsRole)); - } - = - try - { - Object instance =3D qry.getSingleResult(); = - em.remove(instance); - return true; - } - catch (NoResultException ex) - { - return false; - } - } = - = - /** - * If the user or role properties in the entity class refer to other en= tities, then this method - * uses the JpaIdentityStore (if available) to lookup that user or role= entity. Otherwise it - * simply returns the name of the recipient. = - * = - * @param recipient - * @return - */ - protected Object resolvePrincipal(Principal recipient) - { - boolean recipientIsRole =3D recipient instanceof Role; - = - JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); - = - if (identityStore !=3D null) - { - if (recipientIsRole && roleProperty !=3D null && roleProperty.get= PropertyClass().equals(identityStore.getRoleClass())) - { - return identityStore.lookupRole(recipient.getName()); - } - else if (userProperty.getPropertyClass().equals(identityStore.get= UserClass())) - { - return identityStore.lookupUser(recipient.getName()); - } - } = - = - return recipient.getName(); - } - = - protected String resolvePrincipalName(Object principal, boolean isUser - ) - { - if (principal instanceof String) - { - return (String) principal; - } - = - JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); - = - if (identityStore !=3D null) - { - if (isUser && identityStore.getUserClass().equals(principal.getCl= ass())) - { - return identityStore.getUserName(principal); - } - = - if (!isUser && identityStore.getRoleClass().equals(principal.getC= lass())) - { - return identityStore.getRoleName(principal); - } - } - = - throw new IllegalArgumentException("Cannot resolve principal name fo= r principal " + principal); = - } - - public List listPermissions(Object target, String action) = - { - List permissions =3D new ArrayList(); - = - Query permissionQuery =3D lookupEntityManager().createQuery(selectUs= erPermissionQuery) - .setParameter("target", target); - = - if (action !=3D null) - { - permissionQuery.setParameter("action", action); - } - = - List userPermissions =3D permissionQuery.getResultList(); = - = - Map principalCache =3D new HashMap(); - = - boolean useDiscriminator =3D rolePermissionClass =3D=3D null && disc= riminatorProperty !=3D null; - = - for (Object permission : userPermissions) - { - Principal principal; - boolean isUser =3D true; - = - if (useDiscriminator && = - discriminatorProperty.getAnnotation().roleValue().equals(discr= iminatorProperty.getValue(permission))) - { - isUser =3D false; - } - - String name =3D resolvePrincipalName(isUser ? userProperty.getVal= ue(permission) : - roleProperty.getValue(permission), isUser); - = - String key =3D (isUser ? "user:" : "role:") + name; - = - if (!principalCache.containsKey(key)) - { - principal =3D isUser ? new SimplePrincipal(name) : new Role(na= me); - principalCache.put(key, principal); - } - else - { - principal =3D principalCache.get(key); - } - = - permissions.add(new Permission(target, (String) (action !=3D null= ? action : actionProperty.getValue(permission)), = - principal)); - } - = - if (rolePermissionClass =3D=3D null) - { - permissionQuery =3D lookupEntityManager().createQuery(selectRoleP= ermissionQuery) - .setParameter("target", target); = - = - if (action !=3D null) - { - permissionQuery.setParameter("action", action); - } - = - List rolePermissions =3D permissionQuery.getResultList(); - = - for (Object permission : rolePermissions) - { - Principal principal; - = - String name =3D resolvePrincipalName(roleProperty.getValue(per= mission), false); - String key =3D "role:" + name; - = - if (!principalCache.containsKey(key)) - { - principal =3D new Role(name); - principalCache.put(key, principal); - } - else - { - principal =3D principalCache.get(key); - } - = - permissions.add(new Permission(target, (String) (action !=3D n= ull ? action : = - roleActionProperty.getValue(permission)), principal)); - } - } - = - return permissions; - } - - public List listPermissions(Object target) = - { - return listPermissions(target, null); - } - - private EntityManager lookupEntityManager() - { - return entityManager.getValue(); - } - = - public ValueExpression getEntityManager() - { - return entityManager; - } - = - public void setEntityManager(ValueExpression expression) - { - this.entityManager =3D expression; - } = - = - public Class getUserPermissionClass() - { - return userPermissionClass; - } - = - public void setUserPermissionClass(Class userPermissionClass) - { - this.userPermissionClass =3D userPermissionClass; - } - = - public Class getRolePermissionClass() - { - return rolePermissionClass; - } - = - public void setRolePermissionClass(Class rolePermissionClass) - { - this.rolePermissionClass =3D rolePermissionClass; - } -} Added: trunk/src/main/org/jboss/seam/security/permission/JpaPermissionStore= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/JpaPermissionStore.ja= va (rev 0) +++ trunk/src/main/org/jboss/seam/security/permission/JpaPermissionStore.ja= va 2008-04-22 04:52:31 UTC (rev 8002) @@ -0,0 +1,439 @@ +package org.jboss.seam.security.permission; + +import static org.jboss.seam.ScopeType.APPLICATION; +import static org.jboss.seam.annotations.Install.BUILT_IN; + +import java.io.Serializable; +import java.security.Principal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; +import javax.persistence.Query; + +import org.jboss.seam.Component; +import org.jboss.seam.annotations.Create; +import org.jboss.seam.annotations.Install; +import org.jboss.seam.annotations.Name; +import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.intercept.BypassInterceptors; +import org.jboss.seam.annotations.security.permission.PermissionAction; +import org.jboss.seam.annotations.security.permission.PermissionDiscrimina= tor; +import org.jboss.seam.annotations.security.permission.PermissionRole; +import org.jboss.seam.annotations.security.permission.PermissionTarget; +import org.jboss.seam.annotations.security.permission.PermissionUser; +import org.jboss.seam.core.Expressions; +import org.jboss.seam.core.Expressions.ValueExpression; +import org.jboss.seam.log.LogProvider; +import org.jboss.seam.log.Logging; +import org.jboss.seam.security.Role; +import org.jboss.seam.security.SimplePrincipal; +import org.jboss.seam.security.management.JpaIdentityStore; +import org.jboss.seam.util.AnnotatedBeanProperty; + +/** + * A permission store implementation that uses JPA as its persistence mech= anism. + * = + * @author Shane Bryzak + */ +(a)Name("org.jboss.seam.security.permission.jpaPermissionStore") +(a)Install(precedence =3D BUILT_IN, value=3Dfalse) = +(a)Scope(APPLICATION) +(a)BypassInterceptors +public class JpaPermissionStore implements PermissionStore, Serializable +{ + private static final LogProvider log =3D Logging.getLogProvider(JpaPerm= issionStore.class); = + = + private ValueExpression entityManager; + = + private Class userPermissionClass; + private Class rolePermissionClass; + = + private AnnotatedBeanProperty userProperty; + private AnnotatedBeanProperty roleProperty; + = + private AnnotatedBeanProperty targetProperty; + private AnnotatedBeanProperty actionProperty; = + private AnnotatedBeanProperty discriminatorPro= perty; + = + private AnnotatedBeanProperty roleTargetProperty; + private AnnotatedBeanProperty roleActionProperty; + = + private String selectUserPermissionQuery; + private String selectRolePermissionQuery; + + @Create + public void init() + { = + if (userPermissionClass =3D=3D null) + { + log.debug("No permissionClass set, JpaDynamicPermissionStore will= be unavailable."); + return; + } = + = + if (entityManager =3D=3D null) + { + entityManager =3D Expressions.instance().createValueExpression("#= {entityManager}", EntityManager.class); + } = + = + initProperties(); + buildQueries(); + } = + = + protected void initProperties() + { + userProperty =3D AnnotatedBeanProperty.scanForProperty(userPermissio= nClass, PermissionUser.class); + targetProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionTarget.class); + actionProperty =3D AnnotatedBeanProperty.scanForProperty(userPermiss= ionClass, PermissionAction.class); + = + if (rolePermissionClass !=3D null) + { + roleProperty =3D AnnotatedBeanProperty.scanForProperty(rolePermis= sionClass, PermissionRole.class); + if (roleProperty !=3D null) + { + roleTargetProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionTarget.class); + roleActionProperty =3D AnnotatedBeanProperty.scanForProperty(r= olePermissionClass, PermissionAction.class); + } + } + else + { + roleProperty =3D AnnotatedBeanProperty.scanForProperty(userPermis= sionClass, PermissionRole.class); + if (roleProperty !=3D null) + { + discriminatorProperty =3D AnnotatedBeanProperty.scanForPropert= y(userPermissionClass, PermissionDiscriminator.class); + } + } + = + if (userProperty =3D=3D null) = + { + throw new RuntimeException("Invalid userPermissionClass " + userP= ermissionClass.getName() + = + " - required annotation @PermissionUser not found on any Fi= eld or Method."); + } + + if (rolePermissionClass !=3D null) + { + if (roleProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionRole not found on any= Field or Method."); + } + = + if (roleTargetProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionTarget not found on a= ny Field or Method."); + } + = + if (roleActionProperty =3D=3D null) + { + throw new RuntimeException("Invalid rolePermissionClass " + ro= lePermissionClass.getName() + + " - required annotation @PermissionAction not found on a= ny Field or Method."); + } + } + else if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Invalid userPermissionClass " + roleP= ermissionClass.getName() + + " - no rolePermissionClass set and @PermissionDiscriminator= annotation not found on " + + "any Field or Method"); + } + } = + = + protected void buildQueries() + { + StringBuffer query =3D new StringBuffer(); + query.append("select p from "); + query.append(userPermissionClass.getName()); + query.append(" p where "); + query.append(targetProperty.getName()); + query.append(" =3D :target and "); + query.append(actionProperty.getName()); + query.append(" =3D :action"); + = + selectUserPermissionQuery =3D query.toString(); + = + if (rolePermissionClass !=3D null) + { + query.setLength(0); + query.append("select p from "); + query.append(rolePermissionClass.getName()); + query.append(" p where "); + query.append(roleTargetProperty.getName()); + query.append(" =3D :target and "); + query.append(roleActionProperty.getName()); + query.append(" =3D :action"); + = + selectRolePermissionQuery =3D query.toString(); + } + else + { + selectRolePermissionQuery =3D selectUserPermissionQuery; + } + } + = + public boolean grantPermission(Permission permission) + { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + = + try + { + if (recipientIsRole) + { + if (rolePermissionClass !=3D null) + { + Object instance =3D rolePermissionClass.newInstance(); + roleTargetProperty.setValue(instance, permission.getTarget(= ).toString()); + roleActionProperty.setValue(instance, permission.getAction(= )); + roleProperty.setValue(instance, permission.getRecipient().g= etName()); + lookupEntityManager().persist(instance); + return true; + } + = + if (discriminatorProperty =3D=3D null) + { + throw new RuntimeException("Could not grant permission, rol= ePermissionClass not set"); = + } + } + = + if (userPermissionClass =3D=3D null) + { + throw new RuntimeException("Could not grant permission, userPe= rmissionClass not set"); + } + = + Object instance =3D userPermissionClass.newInstance(); + targetProperty.setValue(instance, permission.getTarget().toString= ()); + actionProperty.setValue(instance, permission.getAction()); = = + userProperty.setValue(instance, resolvePrincipal(permission.getRe= cipient())); + = + if (discriminatorProperty !=3D null) + { + discriminatorProperty.setValue(instance, getDiscriminatorValue= (recipientIsRole)); + } + = + lookupEntityManager().persist(instance); + = + return true; + } + catch (Exception ex) + { + throw new RuntimeException("Could not grant permission", ex); + } = + } + = + private String getDiscriminatorValue(boolean isRole) + { + PermissionDiscriminator discriminator =3D (PermissionDiscriminator) = discriminatorProperty.getAnnotation(); + return isRole ? discriminator.roleValue() : discriminator.userValue(= ); = + } + = + public boolean revokePermission(Permission permission) + { + boolean recipientIsRole =3D permission.getRecipient() instanceof Rol= e; + + EntityManager em =3D lookupEntityManager(); + = + Query qry =3D em.createQuery(recipientIsRole ? selectRolePermissionQ= uery : + selectUserPermissionQuery) + .setParameter("target", permission.getTarget()) + .setParameter("action", permission.getAction()) + .setParameter("recipient", resolvePrincipal(permission.getRecipie= nt())); + = + if (discriminatorProperty !=3D null) + { + qry.setParameter("discriminator", getDiscriminatorValue(recipient= IsRole)); + } + = + try + { + Object instance =3D qry.getSingleResult(); = + em.remove(instance); + return true; + } + catch (NoResultException ex) + { + return false; + } + } = + = + /** + * If the user or role properties in the entity class refer to other en= tities, then this method + * uses the JpaIdentityStore (if available) to lookup that user or role= entity. Otherwise it + * simply returns the name of the recipient. = + * = + * @param recipient + * @return + */ + protected Object resolvePrincipal(Principal recipient) + { + boolean recipientIsRole =3D recipient instanceof Role; + = + JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); + = + if (identityStore !=3D null) + { + if (recipientIsRole && roleProperty !=3D null && roleProperty.get= PropertyClass().equals(identityStore.getRoleClass())) + { + return identityStore.lookupRole(recipient.getName()); + } + else if (userProperty.getPropertyClass().equals(identityStore.get= UserClass())) + { + return identityStore.lookupUser(recipient.getName()); + } + } = + = + return recipient.getName(); + } + = + protected String resolvePrincipalName(Object principal, boolean isUser + ) + { + if (principal instanceof String) + { + return (String) principal; + } + = + JpaIdentityStore identityStore =3D (JpaIdentityStore) Component.getI= nstance(JpaIdentityStore.class, true); + = + if (identityStore !=3D null) + { + if (isUser && identityStore.getUserClass().equals(principal.getCl= ass())) + { + return identityStore.getUserName(principal); + } + = + if (!isUser && identityStore.getRoleClass().equals(principal.getC= lass())) + { + return identityStore.getRoleName(principal); + } + } + = + throw new IllegalArgumentException("Cannot resolve principal name fo= r principal " + principal); = + } + + public List listPermissions(Object target, String action) = + { + List permissions =3D new ArrayList(); + = + Query permissionQuery =3D lookupEntityManager().createQuery(selectUs= erPermissionQuery) + .setParameter("target", target); + = + if (action !=3D null) + { + permissionQuery.setParameter("action", action); + } + = + List userPermissions =3D permissionQuery.getResultList(); = + = + Map principalCache =3D new HashMap(); + = + boolean useDiscriminator =3D rolePermissionClass =3D=3D null && disc= riminatorProperty !=3D null; + = + for (Object permission : userPermissions) + { + Principal principal; + boolean isUser =3D true; + = + if (useDiscriminator && = + discriminatorProperty.getAnnotation().roleValue().equals(discr= iminatorProperty.getValue(permission))) + { + isUser =3D false; + } + + String name =3D resolvePrincipalName(isUser ? userProperty.getVal= ue(permission) : + roleProperty.getValue(permission), isUser); + = + String key =3D (isUser ? "user:" : "role:") + name; + = + if (!principalCache.containsKey(key)) + { + principal =3D isUser ? new SimplePrincipal(name) : new Role(na= me); + principalCache.put(key, principal); + } + else + { + principal =3D principalCache.get(key); + } + = + permissions.add(new Permission(target, (String) (action !=3D null= ? action : actionProperty.getValue(permission)), = + principal)); + } + = + if (rolePermissionClass =3D=3D null) + { + permissionQuery =3D lookupEntityManager().createQuery(selectRoleP= ermissionQuery) + .setParameter("target", target); = + = + if (action !=3D null) + { + permissionQuery.setParameter("action", action); + } + = + List rolePermissions =3D permissionQuery.getResultList(); + = + for (Object permission : rolePermissions) + { + Principal principal; + = + String name =3D resolvePrincipalName(roleProperty.getValue(per= mission), false); + String key =3D "role:" + name; + = + if (!principalCache.containsKey(key)) + { + principal =3D new Role(name); + principalCache.put(key, principal); + } + else + { + principal =3D principalCache.get(key); + } + = + permissions.add(new Permission(target, (String) (action !=3D n= ull ? action : = + roleActionProperty.getValue(permission)), principal)); + } + } + = + return permissions; + } + + public List listPermissions(Object target) = + { + return listPermissions(target, null); + } + + private EntityManager lookupEntityManager() + { + return entityManager.getValue(); + } + = + public ValueExpression getEntityManager() + { + return entityManager; + } + = + public void setEntityManager(ValueExpression expression) + { + this.entityManager =3D expression; + } = + = + public Class getUserPermissionClass() + { + return userPermissionClass; + } + = + public void setUserPermissionClass(Class userPermissionClass) + { + this.userPermissionClass =3D userPermissionClass; + } + = + public Class getRolePermissionClass() + { + return rolePermissionClass; + } + = + public void setRolePermissionClass(Class rolePermissionClass) + { + this.rolePermissionClass =3D rolePermissionClass; + } +} Modified: trunk/src/main/org/jboss/seam/security/permission/PersistentPermi= ssionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java 2008-04-22 04:49:09 UTC (rev 8001) +++ trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java 2008-04-22 04:52:31 UTC (rev 8002) @@ -30,9 +30,7 @@ @Install(precedence=3DFRAMEWORK) @Startup public class PersistentPermissionResolver implements PermissionResolver, S= erializable -{ = - private static final String DEFAULT_PERMISSION_STORE_NAME =3D "jpaDynam= icPermissionStore"; - = +{ = private PermissionStore permissionStore; = private static final LogProvider log =3D Logging.getLogProvider(Persist= entPermissionResolver.class); = @@ -47,7 +45,7 @@ { if (permissionStore =3D=3D null) { - permissionStore =3D (PermissionStore) Component.getInstance(DEFAU= LT_PERMISSION_STORE_NAME, true); + permissionStore =3D (PermissionStore) Component.getInstance(JpaPe= rmissionStore.class, true); } = = if (permissionStore =3D=3D null) --===============3713035275518871655==-- From seam-commits at lists.jboss.org Tue Apr 22 00:53:54 2008 Content-Type: multipart/mixed; boundary="===============0324959927997490720==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8003 - trunk/src/main/org/jboss/seam/security/permission. Date: Tue, 22 Apr 2008 00:53:54 -0400 Message-ID: --===============0324959927997490720== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-22 00:53:54 -0400 (Tue, 22 Apr 2008) New Revision: 8003 Modified: trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionRe= solver.java Log: fix log message Modified: trunk/src/main/org/jboss/seam/security/permission/PersistentPermi= ssionResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java 2008-04-22 04:52:31 UTC (rev 8002) +++ trunk/src/main/org/jboss/seam/security/permission/PersistentPermissionR= esolver.java 2008-04-22 04:53:54 UTC (rev 8003) @@ -51,7 +51,7 @@ if (permissionStore =3D=3D null) { log.warn("no permission store available - please install a Permis= sionStore with the name '" + - DEFAULT_PERMISSION_STORE_NAME + "' if dynamic permissions a= re required."); + Seam.getComponentName(JpaPermissionStore.class) + "' if dyn= amic permissions are required."); } } = = --===============0324959927997490720==-- From seam-commits at lists.jboss.org Tue Apr 22 05:09:05 2008 Content-Type: multipart/mixed; boundary="===============1314652804150704047==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8004 - branches/Seam_2_0/examples/jpa and 2 other directories. Date: Tue, 22 Apr 2008 05:09:05 -0400 Message-ID: --===============1314652804150704047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-22 05:09:05 -0400 (Tue, 22 Apr 2008) New Revision: 8004 Modified: branches/Seam_2_0/examples/hibernate/build.xml branches/Seam_2_0/examples/jpa/build.xml trunk/examples/hibernate/build.xml trunk/examples/jpa/build.xml Log: Add emedded jboss to clean target Modified: branches/Seam_2_0/examples/hibernate/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/hibernate/build.xml 2008-04-22 04:53:54 UTC = (rev 8003) +++ branches/Seam_2_0/examples/hibernate/build.xml 2008-04-22 09:09:05 UTC = (rev 8004) @@ -46,6 +46,7 @@ + = Modified: branches/Seam_2_0/examples/jpa/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/jpa/build.xml 2008-04-22 04:53:54 UTC (rev 8= 003) +++ branches/Seam_2_0/examples/jpa/build.xml 2008-04-22 09:09:05 UTC (rev 8= 004) @@ -46,6 +46,7 @@ + = Modified: trunk/examples/hibernate/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build.xml 2008-04-22 04:53:54 UTC (rev 8003) +++ trunk/examples/hibernate/build.xml 2008-04-22 09:09:05 UTC (rev 8004) @@ -46,6 +46,7 @@ + = Modified: trunk/examples/jpa/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build.xml 2008-04-22 04:53:54 UTC (rev 8003) +++ trunk/examples/jpa/build.xml 2008-04-22 09:09:05 UTC (rev 8004) @@ -46,6 +46,7 @@ + = --===============1314652804150704047==-- From seam-commits at lists.jboss.org Tue Apr 22 21:51:31 2008 Content-Type: multipart/mixed; boundary="===============5312191730348491159==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8005 - trunk/src/test/unit/org/jboss/seam/test/unit. Date: Tue, 22 Apr 2008 21:51:30 -0400 Message-ID: --===============5312191730348491159== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-22 21:51:30 -0400 (Tue, 22 Apr 2008) New Revision: 8005 Modified: trunk/src/test/unit/org/jboss/seam/test/unit/PasswordHashTest.java Log: fix PasswordHashTest Modified: trunk/src/test/unit/org/jboss/seam/test/unit/PasswordHashTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/test/unit/org/jboss/seam/test/unit/PasswordHashTest.java 2008= -04-22 09:09:05 UTC (rev 8004) +++ trunk/src/test/unit/org/jboss/seam/test/unit/PasswordHashTest.java 2008= -04-23 01:51:30 UTC (rev 8005) @@ -8,14 +8,16 @@ @Test public void testMd5Hash() { - String hash =3D PasswordHash.instance().generateHash("secret", "MD5"= ); + PasswordHash passwordHash =3D new PasswordHash(); + String hash =3D passwordHash.generateHash("secret", "MD5"); assert hash.equals("Xr4ilOzQ4PCOq3aQ0qbuaQ=3D=3D"); } = @Test public void testShaHash() { - String hash =3D PasswordHash.instance().generateHash("secret", "SHA"= ); + PasswordHash passwordHash =3D new PasswordHash(); + String hash =3D passwordHash.generateHash("secret", "SHA"); assert hash.equals("5en6G6MezRroT3XKqkdPOmY/BfQ=3D"); } } --===============5312191730348491159==-- From seam-commits at lists.jboss.org Tue Apr 22 21:53:12 2008 Content-Type: multipart/mixed; boundary="===============5396488433343750962==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8006 - trunk/src/main/org/jboss/seam. Date: Tue, 22 Apr 2008 21:53:12 -0400 Message-ID: --===============5396488433343750962== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-22 21:53:12 -0400 (Tue, 22 Apr 2008) New Revision: 8006 Modified: trunk/src/main/org/jboss/seam/Seam.java Log: JBSEAM-2917 optimized cache initialization Modified: trunk/src/main/org/jboss/seam/Seam.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/Seam.java 2008-04-23 01:51:30 UTC (rev 80= 05) +++ trunk/src/main/org/jboss/seam/Seam.java 2008-04-23 01:53:12 UTC (rev 80= 06) @@ -11,7 +11,9 @@ import static org.jboss.seam.util.EJB.STATELESS; import static org.jboss.seam.util.EJB.name; = +import java.util.HashSet; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; = import javax.persistence.Entity; @@ -40,6 +42,7 @@ = private static final Map COMPONENT_NAME_CACHE =3D new Co= ncurrentHashMap(); private static final Map EJB_DESCRIPTOR_CACHE =3D= new ConcurrentHashMap(); + private static final Set CLASSLOADERS_LOADED =3D new HashS= et(); = = private static EjbDescriptor getEjbDescriptor(Class clazz) { @@ -48,12 +51,16 @@ { return info; } - else + else if (clazz.getClassLoader() =3D=3D null || = + (clazz.getClassLoader() !=3D null && !CLASSLOADERS_LOADED.contain= s(clazz.getClassLoader()))) { Map ejbDescriptors =3D new DeploymentDescri= ptor(clazz).getEjbDescriptors(); EJB_DESCRIPTOR_CACHE.putAll(ejbDescriptors); + CLASSLOADERS_LOADED.add(clazz.getClassLoader()); return ejbDescriptors.get(clazz); } + = + return null; = } = /** @@ -313,6 +320,7 @@ { COMPONENT_NAME_CACHE.clear(); EJB_DESCRIPTOR_CACHE.clear(); + CLASSLOADERS_LOADED.clear(); } = } --===============5396488433343750962==-- From seam-commits at lists.jboss.org Wed Apr 23 10:36:31 2008 Content-Type: multipart/mixed; boundary="===============6016832629844637144==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8007 - branches/Seam_2_0/seam-gen/icefaces/view. Date: Wed, 23 Apr 2008 10:36:31 -0400 Message-ID: --===============6016832629844637144== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jguglielmin Date: 2008-04-23 10:36:31 -0400 (Wed, 23 Apr 2008) New Revision: 8007 Modified: branches/Seam_2_0/seam-gen/icefaces/view/editproperty.xhtml.ftl Log: fixes as per http://jira.icefaces.org/browse/ICE-2684 Also added resizable columns to dataTables in list view Modified: branches/Seam_2_0/seam-gen/icefaces/view/editproperty.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/view/editproperty.xhtml.ftl 2008-04= -23 01:53:12 UTC (rev 8006) +++ branches/Seam_2_0/seam-gen/icefaces/view/editproperty.xhtml.ftl 2008-04= -23 14:36:31 UTC (rev 8007) @@ -101,8 +101,8 @@ size=3D"${size}" maxlength=3D"${column.length}" + partialSubmit=3D"true" value=3D"${'#'}{${homeName}.instance.${property.n= ame}.${componentProperty.name}}"> - partialSubmit=3D"true" <#else> @@ -113,8 +113,8 @@ <#if propertyIsId> disabled=3D"${'#'}{${homeName}.managed}" + partialSubmit=3D"true" value=3D"${'#'}{${homeName}.instance.${p= roperty.name}.${componentProperty.name}}"> - partialSubmit=3D"true" --===============6016832629844637144==-- From seam-commits at lists.jboss.org Wed Apr 23 10:39:35 2008 Content-Type: multipart/mixed; boundary="===============5337944671047800026==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8008 - branches/Seam_2_0/seam-gen/icefaces/src. Date: Wed, 23 Apr 2008 10:39:35 -0400 Message-ID: --===============5337944671047800026== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jguglielmin Date: 2008-04-23 10:39:35 -0400 (Wed, 23 Apr 2008) New Revision: 8008 Removed: branches/Seam_2_0/seam-gen/icefaces/src/TimerBean.java Modified: branches/Seam_2_0/seam-gen/icefaces/src/TimerBeanImpl.java Log: fixes as per http://jira.icefaces.org/browse/ICE-2684 Also added resizable columns to dataTables in list view Deleted: branches/Seam_2_0/seam-gen/icefaces/src/TimerBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/src/TimerBean.java 2008-04-23 14:36= :31 UTC (rev 8007) +++ branches/Seam_2_0/seam-gen/icefaces/src/TimerBean.java 2008-04-23 14:39= :35 UTC (rev 8008) @@ -1,56 +0,0 @@ -/* - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * "The contents of this file are subject to the Mozilla Public License - * Version 1.1 (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.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" - * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - * License for the specific language governing rights and limitations under - * the License. - * - * The Original Code is ICEfaces 1.5 open source software code, released - * November 5, 2006. The Initial Developer of the Original Code is ICEsoft - * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C) - * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved. - * - * Contributor(s): _____________________. - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL" - * License), in which case the provisions of the LGPL License are - * applicable instead of those above. If you wish to allow use of your - * version of this file only under the terms of the LGPL License and not to - * allow others to use your version of this file under the MPL, indicate - * your decision by deleting the provisions above and replace them with - * the notice and other provisions required by the LGPL License. If you do - * not delete the provisions above, a recipient may use your version of - * this file under either the MPL or the LGPL License." - * - */ -package @actionPackage@; - - -import javax.ejb.Local; -import com.icesoft.faces.context.effects.Effect; -/** - * @author ICEsoft Technologies, Inc. - */ -(a)Local -public interface TimerBean { - - public String getCurrentTime(); - public String getRenderMode(); - public void remove(); - public String getCurrentConversation(); - - public String getLongRunning(); - public boolean getExpanded(); - public void setExpanded(boolean expanded); - public boolean isVisibility() ; - public void setVisibility(boolean visibility); - public String toggleExpanded(); - public Effect getExpandEffect(); -} Modified: branches/Seam_2_0/seam-gen/icefaces/src/TimerBeanImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/src/TimerBeanImpl.java 2008-04-23 1= 4:36:31 UTC (rev 8007) +++ branches/Seam_2_0/seam-gen/icefaces/src/TimerBeanImpl.java 2008-04-23 1= 4:39:35 UTC (rev 8008) @@ -53,7 +53,6 @@ import com.icesoft.faces.async.render.RenderManager; import com.icesoft.faces.async.render.IntervalRenderer; import com.icesoft.faces.async.render.Renderable; -import com.icesoft.faces.context.ViewListener; = import com.icesoft.faces.context.effects.Effect; import com.icesoft.faces.context.effects.BlindDown; @@ -69,7 +68,7 @@ = @Name("timer") @Scope(ScopeType.PAGE) -public class TimerBeanImpl implements Renderable, ViewListener, Serializab= le { +public class TimerBeanImpl implements Renderable, Serializable { = // expand/contract effects to take place of panelCollapsible private Effect currentEffect=3Dnew BlindUp(); @@ -175,7 +174,6 @@ log.trace("*** new TimerBean renderable... " + myId ); } = = - state.addViewListener(this ); FacesContext fc =3D FacesContext.getCurrentInstance(); synchronous =3D (String) fc.getExternalContext().getInitParame= terMap(). get( "com.icesoft.faces.synchronousUpdate" ); @@ -222,16 +220,7 @@ cleanup(); = } = - public void viewCreated() { - } - - public void viewDisposed() { - if(log.isTraceEnabled() ) { = - log.trace("*** View disposed: " + myId ); - } = - cleanup(); - } - + = private void cleanup() { if (ir !=3D null) { ir.remove(this); --===============5337944671047800026==-- From seam-commits at lists.jboss.org Wed Apr 23 10:41:17 2008 Content-Type: multipart/mixed; boundary="===============7707653337364364992==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8009 - branches/Seam_2_0/seam-gen/icefaces/view. Date: Wed, 23 Apr 2008 10:41:17 -0400 Message-ID: --===============7707653337364364992== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jguglielmin Date: 2008-04-23 10:41:17 -0400 (Wed, 23 Apr 2008) New Revision: 8009 Modified: branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml.ftl branches/Seam_2_0/seam-gen/icefaces/view/view.xhtml.ftl Log: fixes as per http://jira.icefaces.org/browse/ICE-2684 Also added resizable columns to dataTables in list view Modified: branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml 2008-04-23 14:39:35= UTC (rev 8008) +++ branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml 2008-04-23 14:41:17= UTC (rev 8009) @@ -27,6 +27,7 @@ rendered=3D"#{empty @listName(a).resultList}"/> Modified: branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml.ftl 2008-04-23 14:3= 9:35 UTC (rev 8008) +++ branches/Seam_2_0/seam-gen/icefaces/view/list.xhtml.ftl 2008-04-23 14:4= 1:17 UTC (rev 8009) @@ -81,7 +81,8 @@ <#foreach property in pojo.allPropertiesIterator> <#if !c2h.isCollection(property) && !c2h.isManyToOne(property) && property= !=3D pojo.versionProperty!> @@ -109,7 +110,7 @@ <#assign parentPojo =3D c2j.getPOJOClass(cfg.getClassMapping(property.valu= e.referencedEntityName))> <#if parentPojo.isComponent(parentPojo.identifierProperty)> <#foreach componentProperty in parentPojo.identifierProperty.value.propert= yIterator> - + <#assign propertyPath =3D property.name + '.' + parentPojo.identifierPrope= rty.name + '.' + componentProperty.name> <#else> - + ${parentProperty.name} ${parentParentPo= jo.identifierProperty.name} ${'#'}{${parentName}.${parentProperty.name}.${parentParentPojo.iden= tifierProperty.name}} --===============7707653337364364992==-- From seam-commits at lists.jboss.org Wed Apr 23 10:43:29 2008 Content-Type: multipart/mixed; boundary="===============5722289043932453752==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8010 - branches/Seam_2_0/seam-gen/icefaces/view. Date: Wed, 23 Apr 2008 10:43:29 -0400 Message-ID: --===============5722289043932453752== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jguglielmin Date: 2008-04-23 10:43:29 -0400 (Wed, 23 Apr 2008) New Revision: 8010 Modified: branches/Seam_2_0/seam-gen/icefaces/view/edit.xhtml.ftl Log: fixes as per http://jira.icefaces.org/browse/ICE-2684 Also added resizable columns to dataTables in list view Modified: branches/Seam_2_0/seam-gen/icefaces/view/edit.xhtml.ftl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/seam-gen/icefaces/view/edit.xhtml.ftl 2008-04-23 14:4= 1:17 UTC (rev 8009) +++ branches/Seam_2_0/seam-gen/icefaces/view/edit.xhtml.ftl 2008-04-23 14:4= 3:29 UTC (rev 8010) @@ -109,7 +109,7 @@ <#if !c2h.isCollection(parentProperty) && !c2h.isManyToOne(parentProperty)= && parentProperty !=3D parentPojo.versionProperty!> <#if parentPojo.isComponent(parentProperty)> <#foreach componentProperty in parentProperty.value.propertyIterator> - + ${componentProperty.name} ${'#'}{${parentName}.${parentProperty.name}.${componentPro= perty.name}} --===============5722289043932453752==-- From seam-commits at lists.jboss.org Wed Apr 23 14:55:24 2008 Content-Type: multipart/mixed; boundary="===============5034959532982735757==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8011 - in trunk/src: main/org/jboss/seam and 1 other directories. Date: Wed, 23 Apr 2008 14:55:14 -0400 Message-ID: --===============5034959532982735757== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-23 14:55:14 -0400 (Wed, 23 Apr 2008) New Revision: 8011 Removed: trunk/src/main/org/jboss/seam/pdf-2.1.xsd Modified: trunk/src/ioc/org/jboss/seam/ioc/spring/spring-2.1.xsd trunk/src/main/org/jboss/seam/bpm-2.1.xsd trunk/src/main/org/jboss/seam/drools-2.1.xsd trunk/src/main/org/jboss/seam/framework-2.1.xsd trunk/src/main/org/jboss/seam/international-2.1.xsd trunk/src/main/org/jboss/seam/jms-2.1.xsd trunk/src/main/org/jboss/seam/mail-2.1.xsd trunk/src/main/org/jboss/seam/navigation-2.1.xsd trunk/src/main/org/jboss/seam/pages-2.1.xsd trunk/src/main/org/jboss/seam/persistence-2.1.xsd trunk/src/main/org/jboss/seam/remoting-2.1.xsd trunk/src/main/org/jboss/seam/security-2.1.xsd trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd Log: JBSEAM-1531 Modified: trunk/src/ioc/org/jboss/seam/ioc/spring/spring-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/ioc/org/jboss/seam/ioc/spring/spring-2.1.xsd 2008-04-23 14:43= :29 UTC (rev 8010) +++ trunk/src/ioc/org/jboss/seam/ioc/spring/spring-2.1.xsd 2008-04-23 18:55= :14 UTC (rev 8011) @@ -1,87 +1,88 @@ - + targetNamespace=3D"http://jboss.com/products/seam/spring" xmlns:spring= =3D"http://jboss.com/products/seam/spring" + xmlns:components=3D"http://jboss.com/products/seam/components" attribu= teFormDefault=3D"unqualified"> + = + = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specify if this transaction manager requires a conversation context = to be available or not. - Set to true if you're using a JpaTransactionManager with a conversat= ion scoped persistence - context. - - - - - - - Should this transaction manager participate in request to join a tra= nsaction. For JTA - transactions set to true. - - - - - + + + Loads a spring context file + + + + + + Allows you to specify many confi= g-locations in nested value elements. + + = + + = + + + + A single application context config = location. + + + + + = + + + Configures the Spring TaskExecuritor for asy= nchronous calls + + + + + + + = + + + + + = + + + Configure the use of Spring transactions + + + + + + + An expression evalutating to the spring platform t= ransaction manager + + + + + + + A spring bean name of a PlatformTransactionManager= obtained from a BeanFactory instead of EL. + + + + + + + Specify if this transaction manager requires a con= versation context to be available or not. + Set to true if you're using a JpaTransactionManage= r with a conversation scoped persistence + context. + + + + + + + Should this transaction manager participate in req= uest to join a transaction. For JTA + transactions set to true. + + + + + Modified: trunk/src/main/org/jboss/seam/bpm-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/bpm-2.1.xsd 2008-04-23 14:43:29 UTC (rev = 8010) +++ trunk/src/main/org/jboss/seam/bpm-2.1.xsd 2008-04-23 18:55:14 UTC (rev = 8011) @@ -5,6 +5,9 @@ = + + The jbpm actor id + @@ -17,21 +20,27 @@ - + = + + Configuration for jbpm + - - + + + A list of jbpm process files + + + = - - + + - - - + = + = = Modified: trunk/src/main/org/jboss/seam/drools-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/drools-2.1.xsd 2008-04-23 14:43:29 UTC (r= ev 8010) +++ trunk/src/main/org/jboss/seam/drools-2.1.xsd 2008-04-23 18:55:14 UTC (r= ev 8011) @@ -2,9 +2,13 @@ + = = + + A drools rule base + @@ -15,34 +19,40 @@ - - = + + = = = - = + + A drools BRMS configuration + + = - - - - - - - = + + + + + + + = = + + A working memory for rules calculations + - + = Modified: trunk/src/main/org/jboss/seam/framework-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework-2.1.xsd 2008-04-23 14:43:29 UTC= (rev 8010) +++ trunk/src/main/org/jboss/seam/framework-2.1.xsd 2008-04-23 18:55:14 UTC= (rev 8011) @@ -3,38 +3,20 @@ targetNamespace=3D"http://jboss.com/products/seam/framework" xmlns:framework=3D"http://jboss.com/products/seam/framework" xmlns:components=3D"http://jboss.com/products/seam/components" attribu= teFormDefault=3D"unqualified"> + = = - - - - - - - - - - - - - - - - - - - - - - + + A query controller for JPA queries + - + @@ -46,12 +28,15 @@ = + + A query controller for Hibernate queries + + - @@ -59,25 +44,63 @@ - - - - - - - + + + + + + = + + + + The base query + - - - + + + The query page size + + + + + The property to order results by + + + + + The group-by clause + + = - - - - + + + The base query + + + + + The property to order results by + + + + + The group-by clause + + + = + + + Query restrictions (the WHERE clause) + + + = + = = + + A home controller for JPA entities + @@ -92,10 +115,13 @@ - + = + + A home controller for Hibernate entities + @@ -110,7 +136,36 @@ - + + = + + + + + + + = + + + A faces message added when the home controll= er creates a new instance + + + + + A faces message added when the home controll= er updates an instance + + + + + A faces message added when the home controll= er deletes an instance + + + + + The new instance managed by a home controlle= r + + + Modified: trunk/src/main/org/jboss/seam/international-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/international-2.1.xsd 2008-04-23 14:43:29= UTC (rev 8010) +++ trunk/src/main/org/jboss/seam/international-2.1.xsd 2008-04-23 18:55:14= UTC (rev 8011) @@ -5,41 +5,34 @@ = + + The locale selector component + + = - - - - - - - - - - + + + = + + The time zone selector component + - - - - - - - - - - + + + = Modified: trunk/src/main/org/jboss/seam/jms-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/jms-2.1.xsd 2008-04-23 14:43:29 UTC (rev = 8010) +++ trunk/src/main/org/jboss/seam/jms-2.1.xsd 2008-04-23 18:55:14 UTC (rev = 8011) @@ -11,7 +11,7 @@ - + = @@ -21,7 +21,7 @@ - + = @@ -31,7 +31,7 @@ - + = @@ -41,6 +41,6 @@ - + Modified: trunk/src/main/org/jboss/seam/mail-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/mail-2.1.xsd 2008-04-23 14:43:29 UTC (rev= 8010) +++ trunk/src/main/org/jboss/seam/mail-2.1.xsd 2008-04-23 18:55:14 UTC (rev= 8011) @@ -3,48 +3,59 @@ targetNamespace=3D"http://jboss.com/products/seam/mail" xmlns:mail=3D"http://jboss.com/products/seam/mail" xmlns:components=3D"http://jboss.com/products/seam/components" attribu= teFormDefault=3D"unqualified"> + = = - - - - - - - - - - + + + + = + + + + + + + + + + + = - + + + - - - - + + = + + = - - - - - - + + + - - - + + + + = + + + + + Modified: trunk/src/main/org/jboss/seam/navigation-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/navigation-2.1.xsd 2008-04-23 14:43:29 UT= C (rev 8010) +++ trunk/src/main/org/jboss/seam/navigation-2.1.xsd 2008-04-23 18:55:14 UT= C (rev 8011) @@ -2,25 +2,34 @@ + = = + + The pages component + - + + + + A list of pages configuration files. Setting = this value overrides the = + default /WEB-INF/pages.xml. + + + - = - - = + = - - - - + + + + = Modified: trunk/src/main/org/jboss/seam/pages-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/pages-2.1.xsd 2008-04-23 14:43:29 UTC (re= v 8010) +++ trunk/src/main/org/jboss/seam/pages-2.1.xsd 2008-04-23 18:55:14 UTC (re= v 8011) @@ -3,7 +3,11 @@ elementFormDefault=3D"qualified" targetNamespace=3D"http://jboss.com/products/seam/pages" = xmlns:pages=3D"http://jboss.com/products/seam/pages"> + = + + The root of a pages.xml file + @@ -15,11 +19,16 @@ + = - - + + + = + + A Seam exception handler + @@ -36,7 +45,11 @@ + = + + Natural conversation configuration + @@ -46,7 +59,11 @@ + = + + Configuration for a specific page or set up = pages + @@ -102,7 +119,11 @@ = + = + + A page parameter + @@ -119,6 +140,9 @@ = + + HTTP headers to be added + @@ -130,6 +154,9 @@ = + + Page action + @@ -138,8 +165,17 @@ - + = + + + Security restrictions + + + = + + Page navigation + @@ -168,6 +204,7 @@ + = @@ -194,7 +231,11 @@ + = + + Event to be raised + @@ -202,7 +243,11 @@ + = + + This page begins a new conversation + @@ -239,7 +284,11 @@ + = + + This page ends a conversation + @@ -255,7 +304,11 @@ + = + + Begin a BPM task + @@ -276,7 +329,11 @@ + = + + Start a BPM task + @@ -297,7 +354,11 @@ + = + + Add a BPM task + @@ -313,7 +374,11 @@ + = + + Create a BPM process + @@ -321,7 +386,11 @@ + = + + Resume a BPM process instance + @@ -329,7 +398,11 @@ + = + + A page input + @@ -358,7 +431,11 @@ + = + + A contextual output for a navigation rule + @@ -387,7 +464,11 @@ + = + + Render a view + @@ -398,7 +479,11 @@ + = + + Redirect to another view or URL + @@ -412,7 +497,11 @@ = + = + + Send an HTTP error code + @@ -423,7 +512,11 @@ + = + + Add a message to the faces messages + @@ -445,5 +538,10 @@ - + = + + + A page description for workflow switching + + Deleted: trunk/src/main/org/jboss/seam/pdf-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/pdf-2.1.xsd 2008-04-23 14:43:29 UTC (rev = 8010) +++ trunk/src/main/org/jboss/seam/pdf-2.1.xsd 2008-04-23 18:55:14 UTC (rev = 8011) @@ -1,56 +0,0 @@ - - - - - - - - The PDF document store is used to store rendered documents= for download on a later request. - - - - - - - - - - - - When a document had expired or otherwise cannot be loa= ded, this page is displayed. - - - - - - - Controls whether or not the URLs for documents should = contain their correct file name extensions. - Using file name extensions requires additional configu= ration in web.xml. - - - - - - - - - The key stores holds the encryption keys for creating sign= ed PDF documents - - - - - - - - - - - - - - Modified: trunk/src/main/org/jboss/seam/persistence-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/persistence-2.1.xsd 2008-04-23 14:43:29 U= TC (rev 8010) +++ trunk/src/main/org/jboss/seam/persistence-2.1.xsd 2008-04-23 18:55:14 U= TC (rev 8011) @@ -2,6 +2,7 @@ + = = @@ -17,8 +18,8 @@ - - + + = @@ -30,16 +31,14 @@ - = - - = - - = - + = + + + = @@ -55,7 +54,7 @@ - + = @@ -68,13 +67,13 @@ - + = - + @@ -82,7 +81,7 @@ - + = Modified: trunk/src/main/org/jboss/seam/remoting-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/remoting-2.1.xsd 2008-04-23 14:43:29 UTC = (rev 8010) +++ trunk/src/main/org/jboss/seam/remoting-2.1.xsd 2008-04-23 18:55:14 UTC = (rev 8011) @@ -2,6 +2,7 @@ + = = @@ -11,16 +12,9 @@ - - - - - - - - - - + + + = - + \ No newline at end of file Modified: trunk/src/main/org/jboss/seam/security-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/security-2.1.xsd 2008-04-23 14:43:29 UTC = (rev 8010) +++ trunk/src/main/org/jboss/seam/security-2.1.xsd 2008-04-23 18:55:14 UTC = (rev 8011) @@ -2,6 +2,7 @@ + = = @@ -19,15 +20,15 @@ = - - - - - + + + + + = - + = = @@ -38,7 +39,7 @@ = - + = = Modified: trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd 2008-04-23 14:43:29 UTC (r= ev 8010) +++ trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd 2008-04-23 18:55:14 UTC (r= ev 8011) @@ -8,26 +8,49 @@ = + + + The PDF document store is used to store rendered documents= for download on a later request. + + - - + + + + When a document had expired or otherwise cannot be loa= ded, this page is displayed. + + + + + + + Controls whether or not the URLs for documents should = contain their correct file name extensions. + Using file name extensions requires additional configu= ration in web.xml. + + + = + + + The key stores holds the encryption keys for creating sign= ed PDF documents + + - + - - - - - + + + + + --===============5034959532982735757==-- From seam-commits at lists.jboss.org Wed Apr 23 15:22:18 2008 Content-Type: multipart/mixed; boundary="===============0645629233075200258==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8012 - trunk/examples/dvdstore/src/com/jboss/dvd/seam. Date: Wed, 23 Apr 2008 15:22:18 -0400 Message-ID: --===============0645629233075200258== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-23 15:22:18 -0400 (Wed, 23 Apr 2008) New Revision: 8012 Modified: trunk/examples/dvdstore/src/com/jboss/dvd/seam/ProcessDefinitionSwitcher= .java Log: JBSEAM-2763 Modified: trunk/examples/dvdstore/src/com/jboss/dvd/seam/ProcessDefinitionS= witcher.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/dvdstore/src/com/jboss/dvd/seam/ProcessDefinitionSwitche= r.java 2008-04-23 18:55:14 UTC (rev 8011) +++ trunk/examples/dvdstore/src/com/jboss/dvd/seam/ProcessDefinitionSwitche= r.java 2008-04-23 19:22:18 UTC (rev 8012) @@ -9,6 +9,7 @@ import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Synchronized; import org.jboss.seam.bpm.Jbpm; import org.jbpm.JbpmContext; = @@ -17,6 +18,7 @@ */ @Name("processDefinitionSwitcher") @Scope(ScopeType.APPLICATION) +(a)Synchronized public class ProcessDefinitionSwitcher { static final String[] ORDER_DEFS =3D { = --===============0645629233075200258==-- From seam-commits at lists.jboss.org Wed Apr 23 15:27:50 2008 Content-Type: multipart/mixed; boundary="===============4277271317010920579==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8013 - trunk/src/main/org/jboss/seam/init. Date: Wed, 23 Apr 2008 15:27:50 -0400 Message-ID: --===============4277271317010920579== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: norman.richards(a)jboss.com Date: 2008-04-23 15:27:50 -0400 (Wed, 23 Apr 2008) New Revision: 8013 Modified: trunk/src/main/org/jboss/seam/init/NamespacePackageResolver.java Log: JBSEAM-775 Modified: trunk/src/main/org/jboss/seam/init/NamespacePackageResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/init/NamespacePackageResolver.java 2008-0= 4-23 19:22:18 UTC (rev 8012) +++ trunk/src/main/org/jboss/seam/init/NamespacePackageResolver.java 2008-0= 4-23 19:27:50 UTC (rev 8013) @@ -14,187 +14,123 @@ = /** *

    Converts an XML namespac= e to a Java package name.

    - * - *

    The conversion algorithm is as follows: - *

      - *
    • The XML namespace is parsed using - * java.net.URI. Only absolute URIs are supported (i.e., a = scheme must be specified).
    • - *
    • URIs must be hierarchical (i.e., the scheme must be follow= ed by //) with one exception: - *
      • If the scheme is seam:, the URI is considered = opaque, and is converted to a Java - * package using alternate rules.
      • <= /ul> - *
      • The authority component must be server-based (nearly all U= RI schemes currently in use are server-based). - *
      • The host portion of the namespace is converted as described by Section 7.7 of the - * Java Language Specification, 3rd Edition
      • . That is, "sub= domains" are reversed from left-to-right to - * right-to-left order. The top-level domain becomes the root Java p= ackage. - *
      • The path, as returned by - * URI.getPath() is mapped to further Java packages such th= at each path element becomes another Java package - * appended in left-to-right order.
      • - *
      • A leading www subdomain, if specified, is ignored. - *
      • Values returned by - * URI.getUserInfo(), - * URI.getPort(), - * URI.getQuery(), and - * URI.getFragment() are ignored.
      • - *

      * = - *

      The seam: S= cheme

      - * - *

      If the scheme is seam:, the URI is considered opaque= , and is converted to a Java package using - * these rules: - *

        - *
      • The scheme-specific-part is parsed into components using t= he Java package delimiter, period (".")
      • - *
      • Each component is appended, in left-to-right order, to build a co= mplete Java package.
      • - *
      - *

      - * - *

      Characters specified in the URI which are not valid characters for J= ava packages result in {@link #resolve(String)} - * throwing IllegalArgumentException, with one exception: the= hyphen ("-") character is converted to - * the valid Java package characer, the underscore ("_").

      - * - *

      Valid Examples

      - * = - *
        - *
      • seam:com.company.department.product =3D=3D> com.company.departme= nt.product
      • - *
      • seam:org.acme-widgets.shipping.persistence =3D=3D> org.acme_widg= ets.shipping.persistence
      • - *
      • http://www.company.com/department/product =3D=3D> com.company.de= partment.product
      • - *
      • https://my-company.com/department/product =3D=3D> com.my_company= .department.product
      • - *
      • http://ericjung:password(a)www.company.com:8080/foo/bar/baz#anch= or?param1=3D332¶m2=3D334 =3D=3D> com.company.foo.bar.baz
      • - *
      - *

      Invalid Examples

      - *
        = - *
      • http://cats.import.com (import is a java keyword)
      • - *
      • http://bar#foo#com
      • - *
      • seam:com!company!department
      • - *
      • com.company.department
      • - *
      • mailto:java-net(a)java.sun.com
      • - *
      • news:comp.lang.java
      • - *
      • urn:isbn:096139210x
      • = - *
      - * * @author Eric H. Jung<= /a> */ public class NamespacePackageResolver { - private static final String JAVA_SCHEME =3D "java"; - - private static final LogProvider log =3D = - Logging.getLogProvider(NamespacePackageResolver.class); - - - /** - *

      Converts an XML namespace, ns, to a Stringified packag= e name according to the rules - * detailed in this class's javadoc.

      - * - *

      Characters specified in ns which are not valid charact= ers - * for Java packages result IllegalArgumentException being t= hrown, with one exception. The - * hyphen ("-") character is converted to the valid Java package characer= , the underscore ("_").

      - * - * @param ns the xml namespace to convert - * = - * @returns a namespace descriptor - */ - public String resolve(final String ns) { - try { - return parseURI(new URI(ns)); - } catch (Exception e) { - // the exact exception doesn't matter here. The caller - // can log if needed - return null; - } - } - - private String parseURI(URI uri) { - if (!uri.isAbsolute()) { - throw new IllegalArgumentException(uri + " is not an absolute URI"); - } + private static final String JAVA_SCHEME =3D "java"; + = + private static final LogProvider log =3D = + Logging.getLogProvider(NamespacePackageResolver.class); + = + = + /** + *

      Converts an XML namespace, ns, to a Stringified pac= kage name + * + * @param ns the xml namespace to convert + * = + * @returns a namespace descriptor + */ + public String resolve(final String ns) { + try { + return parseURI(new URI(ns)); + } catch (Exception e) { + // the exact exception doesn't matter here. The caller + // can log if needed + return null; + } + } + = + private String parseURI(URI uri) { + if (!uri.isAbsolute()) { + throw new IllegalArgumentException(uri + " is not an absolute = URI"); + } = - return uri.isOpaque() ? parseOpaqueURI(uri) : parseHierarchicalURI(uri); - } - + return uri.isOpaque() ? parseOpaqueURI(uri) : parseHierarchicalURI= (uri); + } + = + /** + * java:package = + * seam:component + * seam:package:prefix + */ + private String parseOpaqueURI(URI uri) { + if (uri.getScheme().equalsIgnoreCase(JAVA_SCHEME)) { + return uri.getSchemeSpecificPart(); + } + throw new IllegalArgumentException("Unrecognized scheme in " + uri= ); + } + = + private String parseHierarchicalURI(URI uri) { + String scheme =3D uri.getScheme().toLowerCase(); + if (!scheme.equals("http") && !scheme.equals("https")) { + throw new IllegalArgumentException("Hierarchical URLs must use= http or https scheme " + uri); + } = - /** - * java:package = - * seam:component - * seam:package:prefix - */ - private String parseOpaqueURI(URI uri) { - if (uri.getScheme().equalsIgnoreCase(JAVA_SCHEME)) { - return uri.getSchemeSpecificPart(); - } - throw new IllegalArgumentException("Unrecognized scheme in " + uri); - } - - private String parseHierarchicalURI(URI uri) { - String scheme =3D uri.getScheme().toLowerCase(); - if (!scheme.equals("http") && !scheme.equals("https")) { - throw new IllegalArgumentException("Hierarchical URLs must use http or = https scheme " + uri); - } - = - StringBuffer buf =3D new StringBuffer(); - = - appendToPackageName(buf, hostnameToPackage(uri.getHost())); - appendToPackageName(buf, pathToPackage(uri.getPath())); - = - return buf.toString(); - } - - /** - * Convert path elements to package names in forward order - */ - String pathToPackage(String path) { - StringBuffer buf =3D new StringBuffer(); - = - if (path !=3D null) { - String[] pathElements =3D path.split("/"); - for (int i =3D 1, len =3D pathElements.length; i < len; i++) { - appendToPackageName(buf, pathElements[i]); - } - } - = - return buf.toString(); - } + StringBuffer buf =3D new StringBuffer(); = - String hostnameToPackage(String hostname) { - StringBuffer result =3D new StringBuffer(); = - = - String[] subdomains =3D hostname.split("\\."); - - //Iterate through the subdomains in reverse converting each to a package= name. = - for (int i =3D subdomains.length - 1; i >=3D 0; i--) { - String subdomain =3D subdomains[i]; - if (i > 0 || !subdomain.equalsIgnoreCase("www")) { - appendToPackageName(result, subdomain); - } - } - = - return result.toString(); - } = - - private void appendToPackageName(StringBuffer buf, String subdomain) { - if (subdomain.length()>0) { - subdomain =3D makeSafeForJava(subdomain); + appendToPackageName(buf, hostnameToPackage(uri.getHost())); + appendToPackageName(buf, pathToPackage(uri.getPath())); = - if (buf.length() > 0) { - buf.append('.'); - } - = - buf.append(subdomain); - } - } - - /** - * Converts characters in subdomain which aren't java-friend= ly - * into java-friendly equivalents. Right now, we only support the convers= ion - * of hyphens ("-") to underscores ("_"). We could do other things like t= oLowerCase(), - * but there are instances of upper-case package names in widespread use = even by the - * likes of IBM (e.g., - * COM.ibm.db2 classnames). - * = - * @param subdomain - * @return - */ - private String makeSafeForJava(String subdomain) { - return subdomain.replace("-", "_"); - } - + return buf.toString(); + } + = + /** + * Convert path elements to package names in forward order + */ + private String pathToPackage(String path) { + StringBuffer buf =3D new StringBuffer(); + = + if (path !=3D null) { + String[] pathElements =3D path.split("/"); + for (int i =3D 1, len =3D pathElements.length; i < len; i++) { + appendToPackageName(buf, pathElements[i]); + } + } + = + return buf.toString(); + } + = + private String hostnameToPackage(String hostname) { + StringBuffer result =3D new StringBuffer(); = + = + String[] subdomains =3D hostname.split("\\."); + = + //Iterate through the subdomains in reverse converting each to a p= ackage name. = + for (int i =3D subdomains.length - 1; i >=3D 0; i--) { + String subdomain =3D subdomains[i]; + if (i > 0 || !subdomain.equalsIgnoreCase("www")) { + appendToPackageName(result, subdomain); + } + } + = + return result.toString(); + } = + = + private void appendToPackageName(StringBuffer buf, String subdomain) { + if (subdomain.length()>0) { + subdomain =3D makeSafeForJava(subdomain); + = + if (buf.length() > 0) { + buf.append('.'); + } + = + buf.append(subdomain); + } + } + = + /** + * Converts characters in subdomain which aren't java-fri= endly + * into java-friendly equivalents. Right now, we only support the conv= ersion + * of hyphens ("-") to underscores ("_"). We could do other things lik= e toLowerCase(), + * but there are instances of upper-case package names in widespread u= se even by the + * likes of IBM (e.g., + * COM.ibm.db2 classnames). + * = + * @param subdomain + * @return + */ + private String makeSafeForJava(String subdomain) { + return subdomain.replace("-", "_"); + } } --===============4277271317010920579==-- From seam-commits at lists.jboss.org Thu Apr 24 07:38:58 2008 Content-Type: multipart/mixed; boundary="===============1093930301451797969==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8014 - in trunk/examples/seamspace: resources/META-INF and 3 other directories. Date: Thu, 24 Apr 2008 07:38:58 -0400 Message-ID: --===============1093930301451797969== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-24 07:38:58 -0400 (Thu, 24 Apr 2008) New Revision: 8014 Added: trunk/examples/seamspace/view/security.xhtml trunk/examples/seamspace/view/style/btn_newrole.png trunk/examples/seamspace/view/style/btn_newuser.png trunk/examples/seamspace/view/style/manage_roles.png trunk/examples/seamspace/view/style/manage_users.png Modified: trunk/examples/seamspace/build.xml trunk/examples/seamspace/resources/META-INF/security-rules.drl trunk/examples/seamspace/resources/WEB-INF/components.xml trunk/examples/seamspace/view/rolemanager.xhtml trunk/examples/seamspace/view/style/seamspace.css trunk/examples/seamspace/view/template.xhtml trunk/examples/seamspace/view/usermanager.xhtml Log: new look for identity management screens Modified: trunk/examples/seamspace/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/build.xml 2008-04-23 19:27:50 UTC (rev 8013) +++ trunk/examples/seamspace/build.xml 2008-04-24 11:38:58 UTC (rev 8014) @@ -11,8 +11,6 @@ = - - = = Modified: trunk/examples/seamspace/resources/META-INF/security-rules.drl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 23 19:27:50 UTC (rev 8013) +++ trunk/examples/seamspace/resources/META-INF/security-rules.drl 2008-04-= 24 11:38:58 UTC (rev 8014) @@ -14,16 +14,6 @@ import org.jboss.seam.example.seamspace.MemberFriend; import org.jboss.seam.example.seamspace.MemberImage; = -rule ViewProfile - no-loop - activation-group "permissions" -when - check: PermissionCheck(name =3D=3D "/profile.xhtml", action =3D=3D "rend= er", granted =3D=3D false) - Role(name =3D=3D "admin") -then - check.grant(); -end - rule ViewImage no-loop activation-group "permissions" Modified: trunk/examples/seamspace/resources/WEB-INF/components.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/resources/WEB-INF/components.xml 2008-04-23 19= :27:50 UTC (rev 8013) +++ trunk/examples/seamspace/resources/WEB-INF/components.xml 2008-04-24 11= :38:58 UTC (rev 8014) @@ -49,7 +49,7 @@ enabled-attribute=3D"enabled" /> = - + = Modified: trunk/examples/seamspace/view/rolemanager.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-23 19:27:50 UTC= (rev 8013) +++ trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-24 11:38:58 UTC= (rev 8014) @@ -2,8 +2,7 @@ = @@ -22,42 +21,31 @@

      Role Manager

      = = - Manage Users" pro= pagation=3D"none"/> = - - - - - User name - - - Member Of - - - Action - = - - = - + + Role #{role} - - + + + Member Of #{roleSearch.getRoleGroups(role)} - - + + + Action = = - - + + = Added: trunk/examples/seamspace/view/security.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/security.xhtml (r= ev 0) +++ trunk/examples/seamspace/view/security.xhtml 2008-04-24 11:38:58 UTC (r= ev 8014) @@ -0,0 +1,24 @@ + + + + + = + + +
      + +

      Security

      = + = +
      + = + +
      + = +
      + = +
      + Added: trunk/examples/seamspace/view/style/btn_newrole.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/seamspace/view/style/btn_newrole.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/examples/seamspace/view/style/btn_newuser.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/seamspace/view/style/btn_newuser.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/examples/seamspace/view/style/manage_roles.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/seamspace/view/style/manage_roles.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/examples/seamspace/view/style/manage_users.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/seamspace/view/style/manage_users.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/examples/seamspace/view/style/seamspace.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/style/seamspace.css 2008-04-23 19:27:50 U= TC (rev 8013) +++ trunk/examples/seamspace/view/style/seamspace.css 2008-04-24 11:38:58 U= TC (rev 8014) @@ -501,23 +501,53 @@ } = input.newuser { - background: url(../images/btn_newuser.png) top left no-repeat; - height: 24px; - width: 80px; + background: url(btn_newuser.png) top left no-repeat; + height: 39px; + width: 113px; margin: 4px 4px 4px 4px; border: 0px; cursor: pointer; = } = input.newrole { - background: url(../images/btn_newrole.png) top left no-repeat; - height: 24px; - width: 80px; + background: url(btn_newrole.png) top left no-repeat; + height: 39px; + width: 113px; margin: 4px 4px 4px 4px; border: 0px; cursor: pointer; = } = +input.manageusers { + display: block; + background: url(manage_users.png) top left no-repeat; + height: 88px; + width: 400px; + padding-left: 10px; + font-size: 19px; + font-weight: bold; + color: #333333; + border: 0px; + cursor: pointer; + margin-top: 30px; + margin-left: 90px; +} + +input.manageroles { + display: block; + background: url(manage_roles.png) top left no-repeat; + height: 88px; + width: 400px; + padding-left: 10px; + font-size: 19px; + font-weight: bold; + color: #333333; + border: 0px; + cursor: pointer; = + margin-top: 30px; + margin-left: 90px; +} + /* General form styles */ = div.formRow { Modified: trunk/examples/seamspace/view/template.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/template.xhtml 2008-04-23 19:27:50 UTC (r= ev 8013) +++ trunk/examples/seamspace/view/template.xhtml 2008-04-24 11:38:58 UTC (r= ev 8014) @@ -17,6 +17,10 @@
      + + | + + = Log in
      @@ -40,8 +44,7 @@ | | | - | - = +
      =
      Modified: trunk/examples/seamspace/view/usermanager.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/usermanager.xhtml 2008-04-23 19:27:50 UTC= (rev 8013) +++ trunk/examples/seamspace/view/usermanager.xhtml 2008-04-24 11:38:58 UTC= (rev 8014) @@ -3,7 +3,6 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:f=3D"http://java.sun.com/jsf/core" - xmlns:rich=3D"http://richfaces.org/rich" = xmlns:s=3D"http://jboss.com/products/seam/taglib"> = @@ -22,48 +21,44 @@

      User Manager

      = = - Manage Roles" pro= pagation=3D"none"/> = - + - - - User name - - - Member Of - - - Enabled - - - Action - = - - = - + User name + #{user} - - + + + + Member Of + #{userSearch.getUserRoles(user)} - - + + + + Enabled +
      - - + + + + Action + + = - - + +
      = --===============1093930301451797969==-- From seam-commits at lists.jboss.org Thu Apr 24 07:39:41 2008 Content-Type: multipart/mixed; boundary="===============2281963935965173377==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8015 - trunk/examples/seamspace/view/images. Date: Thu, 24 Apr 2008 07:39:41 -0400 Message-ID: --===============2281963935965173377== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-24 07:39:41 -0400 (Thu, 24 Apr 2008) New Revision: 8015 Removed: trunk/examples/seamspace/view/images/btn_newrole.png trunk/examples/seamspace/view/images/btn_newuser.png Log: replaced Deleted: trunk/examples/seamspace/view/images/btn_newrole.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Deleted: trunk/examples/seamspace/view/images/btn_newuser.png =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) --===============2281963935965173377==-- From seam-commits at lists.jboss.org Thu Apr 24 08:26:51 2008 Content-Type: multipart/mixed; boundary="===============3360683054686506858==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8016 - branches/Seam_2_0/src/main/org/jboss/seam/mock. Date: Thu, 24 Apr 2008 08:26:51 -0400 Message-ID: --===============3360683054686506858== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-24 08:26:51 -0400 (Thu, 24 Apr 2008) New Revision: 8016 Modified: branches/Seam_2_0/src/main/org/jboss/seam/mock/MockExternalContext.java Log: JBSEAM-2924 Modified: branches/Seam_2_0/src/main/org/jboss/seam/mock/MockExternalContex= t.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/mock/MockExternalContext.java= 2008-04-24 11:39:41 UTC (rev 8015) +++ branches/Seam_2_0/src/main/org/jboss/seam/mock/MockExternalContext.java= 2008-04-24 12:26:51 UTC (rev 8016) @@ -90,7 +90,7 @@ @Override public String encodeActionURL(String url) { - return url; + return encodeURL(url); } = @Override @@ -102,7 +102,7 @@ @Override public String encodeResourceURL(String url) { - return url; + return encodeURL(url); } = @Override @@ -530,4 +530,20 @@ return response.getContentType(); } = + /** + * Attempt to encode the URL, falling back to + * an identity function if the response has + * not been set on this mock context. This + * functionality is needed in order for + * the ExceptionFilter to maintain the session id + * when url rewriting is used. + */ + protected String encodeURL(String url) + { + if (response !=3D null) { + String encodedUrl =3D response.encodeURL(url); = + url =3D (encodedUrl !=3D null ? encodedUrl : url); + } + return url; + } } --===============3360683054686506858==-- From seam-commits at lists.jboss.org Thu Apr 24 08:27:27 2008 Content-Type: multipart/mixed; boundary="===============2724817282872623986==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8017 - trunk/src/main/org/jboss/seam/mock. Date: Thu, 24 Apr 2008 08:27:27 -0400 Message-ID: --===============2724817282872623986== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-24 08:27:27 -0400 (Thu, 24 Apr 2008) New Revision: 8017 Modified: trunk/src/main/org/jboss/seam/mock/MockExternalContext.java Log: JBSEAM-2924 Modified: trunk/src/main/org/jboss/seam/mock/MockExternalContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/mock/MockExternalContext.java 2008-04-24 = 12:26:51 UTC (rev 8016) +++ trunk/src/main/org/jboss/seam/mock/MockExternalContext.java 2008-04-24 = 12:27:27 UTC (rev 8017) @@ -90,7 +90,7 @@ @Override public String encodeActionURL(String url) { - return url; + return encodeURL(url); } = @Override @@ -102,7 +102,7 @@ @Override public String encodeResourceURL(String url) { - return url; + return encodeURL(url); } = @Override @@ -530,4 +530,20 @@ return response.getContentType(); } = + /** + * Attempt to encode the URL, falling back to + * an identity function if the response has + * not been set on this mock context. This + * functionality is needed in order for + * the ExceptionFilter to maintain the session id + * when url rewriting is used. + */ + protected String encodeURL(String url) + { + if (response !=3D null) { + String encodedUrl =3D response.encodeURL(url); = + url =3D (encodedUrl !=3D null ? encodedUrl : url); + } + return url; + } } --===============2724817282872623986==-- From seam-commits at lists.jboss.org Thu Apr 24 08:27:32 2008 Content-Type: multipart/mixed; boundary="===============0021306113967372735==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8018 - branches/Seam_1_2_1_AP/examples/hibernate. Date: Thu, 24 Apr 2008 08:27:32 -0400 Message-ID: --===============0021306113967372735== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manaRH Date: 2008-04-24 08:27:32 -0400 (Thu, 24 Apr 2008) New Revision: 8018 Modified: branches/Seam_1_2_1_AP/examples/hibernate/build.xml Log: JBPAPP-800 Modified: branches/Seam_1_2_1_AP/examples/hibernate/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_1_2_1_AP/examples/hibernate/build.xml 2008-04-24 12:27:27= UTC (rev 8017) +++ branches/Seam_1_2_1_AP/examples/hibernate/build.xml 2008-04-24 12:27:32= UTC (rev 8018) @@ -47,11 +47,9 @@ - --===============0021306113967372735==-- From seam-commits at lists.jboss.org Thu Apr 24 18:14:56 2008 Content-Type: multipart/mixed; boundary="===============0202602129457478356==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8019 - trunk/build. Date: Thu, 24 Apr 2008 18:14:56 -0400 Message-ID: --===============0202602129457478356== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-24 18:14:56 -0400 (Thu, 24 Apr 2008) New Revision: 8019 Modified: trunk/build/root.pom.xml Log: change wicket-extensions version to 1.3.0 from 1.3.0-SNAPSHOT to fix failin= g build Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-24 12:27:32 UTC (rev 8018) +++ trunk/build/root.pom.xml 2008-04-24 22:14:56 UTC (rev 8019) @@ -918,7 +918,7 @@ org.apache.wicket wicket-extensions - 1.3.0-SNAPSHOT + 1.3.0 cglib --===============0202602129457478356==-- From seam-commits at lists.jboss.org Fri Apr 25 03:34:46 2008 Content-Type: multipart/mixed; boundary="===============8176321450457032331==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8020 - branches/Seam_2_0. Date: Fri, 25 Apr 2008 03:34:46 -0400 Message-ID: --===============8176321450457032331== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dan.j.allen Date: 2008-04-25 03:34:46 -0400 (Fri, 25 Apr 2008) New Revision: 8020 Modified: branches/Seam_2_0/release-process.txt Log: fix foreign key in table create statement Modified: branches/Seam_2_0/release-process.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/release-process.txt 2008-04-24 22:14:56 UTC (rev 8019) +++ branches/Seam_2_0/release-process.txt 2008-04-25 07:34:46 UTC (rev 8020) @@ -244,7 +244,7 @@ `birthdate` date default NULL, `address` varchar(600) NOT NULL, PRIMARY KEY (`username`) -) ENGINE=3DInnoDB +) ENGINE=3DInnoDB; = CREATE TABLE `Vehicle` ( `ownerUsername` varchar(10) default NULL, @@ -255,8 +255,8 @@ `state` varchar(2) NOT NULL, PRIMARY KEY USING BTREE (`registration`,`state`), KEY `ownerUsername` (`ownerUsername`), - CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `person` (`u= sername`) -) ENGINE=3DInnoDB = + CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `Person` (`u= sername`) +) ENGINE=3DInnoDB; = * seam-gen review seam-gen chapter of the reference guide - accurate and up to date --===============8176321450457032331==-- From seam-commits at lists.jboss.org Fri Apr 25 08:47:10 2008 Content-Type: multipart/mixed; boundary="===============0563577865326375565==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8021 - in trunk: src/main/org/jboss/seam/framework and 1 other directory. Date: Fri, 25 Apr 2008 08:47:10 -0400 Message-ID: --===============0563577865326375565== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 08:47:09 -0400 (Fri, 25 Apr 2008) New Revision: 8021 Modified: trunk/doc/reference/en/modules/framework.xml trunk/src/main/org/jboss/seam/framework/EntityController.java trunk/src/main/org/jboss/seam/framework/EntityHome.java trunk/src/main/org/jboss/seam/framework/EntityQuery.java trunk/src/main/org/jboss/seam/framework/HibernateEntityController.java trunk/src/main/org/jboss/seam/framework/HibernateEntityHome.java trunk/src/main/org/jboss/seam/framework/HibernateEntityQuery.java trunk/src/main/org/jboss/seam/framework/MutableEntityController.java trunk/src/main/org/jboss/seam/framework/PersistenceController.java Log: JBSEAM-2913 Modified: trunk/doc/reference/en/modules/framework.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/doc/reference/en/modules/framework.xml 2008-04-25 07:34:46 UTC (r= ev 8020) +++ trunk/doc/reference/en/modules/framework.xml 2008-04-25 12:47:09 UTC (r= ev 8021) @@ -51,15 +51,15 @@ your taste, you can use extension instead: = - implements LocalPersonH= ome { - @RequestParameter String personId; - @In EntityManager personDatabase; + { = - public Object getId() { return personId; } - public EntityManager getEntityManager() { return personDatabase; } + @In EntityManager personDatabase; = + public EntityManager getEntityManager() { + return personDatabase; = + } + = }]]> = @@ -73,10 +73,35 @@ A second advantage is that your classes may be EJB stateful session beans, if you like. (They do not have to be, they = can be plain JavaBean components if you prefer.) If you are u= sing - JBoss AS, you'll need 4.2.2.GA or later. + JBoss AS, you'll need 4.2.2.GA or later: = + implements LocalPersonH= ome { + = +}]]> + = + You can also make your classes stateless session beans. In thi= s case + you must use injection to provide the + persistence context, even if it is called = + entityManager: + + = + implements LocalPersonH= ome { + = + @In EntityManager entityManager; + = + public EntityManager getPersistenceContext() { = + entityManager; = + } + = +}]]> + = + At this time, the Seam Application Framework provides four main built-in components: EntityHome and HibernateEntityHome for CRUD, along with Modified: trunk/src/main/org/jboss/seam/framework/EntityController.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/EntityController.java 2008-04-2= 5 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/EntityController.java 2008-04-2= 5 12:47:09 UTC (rev 8021) @@ -82,10 +82,4 @@ getEntityManager().remove(entity); } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: trunk/src/main/org/jboss/seam/framework/EntityHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/EntityHome.java 2008-04-25 07:3= 4:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/EntityHome.java 2008-04-25 12:4= 7:09 UTC (rev 8021) @@ -216,10 +216,4 @@ } } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: trunk/src/main/org/jboss/seam/framework/EntityQuery.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/EntityQuery.java 2008-04-25 07:= 34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/EntityQuery.java 2008-04-25 12:= 47:09 UTC (rev 8021) @@ -234,11 +234,5 @@ throw new RuntimeException("could not join transaction", se); } } - - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } = } Modified: trunk/src/main/org/jboss/seam/framework/HibernateEntityController= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/HibernateEntityController.java = 2008-04-25 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/HibernateEntityController.java = 2008-04-25 12:47:09 UTC (rev 8021) @@ -117,11 +117,5 @@ { getSession().refresh(entity); } - - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } = } Modified: trunk/src/main/org/jboss/seam/framework/HibernateEntityHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/HibernateEntityHome.java 2008-0= 4-25 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/HibernateEntityHome.java 2008-0= 4-25 12:47:09 UTC (rev 8021) @@ -119,10 +119,4 @@ } } = - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } - = } Modified: trunk/src/main/org/jboss/seam/framework/HibernateEntityQuery.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/HibernateEntityQuery.java 2008-= 04-25 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/HibernateEntityQuery.java 2008-= 04-25 12:47:09 UTC (rev 8021) @@ -201,11 +201,5 @@ { this.fetchSize =3D fetchSize; } - = - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } = } Modified: trunk/src/main/org/jboss/seam/framework/MutableEntityController.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/MutableEntityController.java 20= 08-04-25 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/MutableEntityController.java 20= 08-04-25 12:47:09 UTC (rev 8021) @@ -82,10 +82,4 @@ getEntityManager().remove(entity); } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: trunk/src/main/org/jboss/seam/framework/PersistenceController.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/src/main/org/jboss/seam/framework/PersistenceController.java 2008= -04-25 07:34:46 UTC (rev 8020) +++ trunk/src/main/org/jboss/seam/framework/PersistenceController.java 2008= -04-25 12:47:09 UTC (rev 8021) @@ -15,7 +15,7 @@ = public T getPersistenceContext() { - if (persistenceContext=3D=3Dnull || !isPersistenceContextOpen(persis= tenceContext)) + if (persistenceContext=3D=3Dnull) { persistenceContext =3D (T) getComponentInstance( getPersistenceCo= ntextName() ); } @@ -28,10 +28,5 @@ } = protected abstract String getPersistenceContextName(); - = - protected boolean isPersistenceContextOpen(T persistenceContext) - { - return true; - } = } --===============0563577865326375565==-- From seam-commits at lists.jboss.org Fri Apr 25 08:50:53 2008 Content-Type: multipart/mixed; boundary="===============3275639488455397476==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8022 - in branches/Seam_2_0: src/main/org/jboss/seam/framework and 1 other directories. Date: Fri, 25 Apr 2008 08:50:53 -0400 Message-ID: --===============3275639488455397476== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 08:50:52 -0400 (Fri, 25 Apr 2008) New Revision: 8022 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Framework.xml branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityController.java branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityHome.java branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityQuery.java branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityContr= oller.java branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityHome.= java branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityQuery= .java branches/Seam_2_0/src/main/org/jboss/seam/framework/MutableEntityControl= ler.java branches/Seam_2_0/src/main/org/jboss/seam/framework/PersistenceControlle= r.java branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCon= verter/EntityLoader.java branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCon= verter/HibernateEntityLoader.java Log: JBSEAM-2913 Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Framework.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Framework.xml 2008-04-= 25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Framework.xml 2008-04-= 25 12:50:52 UTC (rev 8022) @@ -55,15 +55,16 @@ your taste, you can use extension instead: = - implements LocalPersonH= ome { - @RequestParameter String personId; - @In EntityManager personDatabase; +public class PersonHome extends EntityHome { = - public Object getId() { return personId; } - public EntityManager getEntityManager() { return personDatabase; } + @In EntityManager personDatabase; = + public EntityManager getEntityManager() { + return personDatabase; = + } + = }]]> = @@ -77,10 +78,35 @@ A second advantage is that your classes may be EJB stateful session beans, if you like. (They do not have to be, they = can be plain JavaBean components if you prefer.) If you are u= sing - JBoss AS, you'll need 4.2.2.GA or later. + JBoss AS, you'll need 4.2.2.GA or later: = + implements LocalPersonH= ome { + = +}]]> + = + You can also make your classes stateless session beans. In thi= s case + you must use injection to provide the + persistence context, even if it is called = + entityManager: + + = + implements LocalPersonH= ome { + = + @In EntityManager entityManager; + = + public EntityManager getPersistenceContext() { = + entityManager; = + } + = +}]]> + = + At this time, the Seam Application Framework provides four main built-in components: EntityHome and HibernateEntityHome for CRUD, along with Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityControl= ler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityController.ja= va 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityController.ja= va 2008-04-25 12:50:52 UTC (rev 8022) @@ -82,10 +82,4 @@ getEntityManager().remove(entity); } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityHome.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityHome.java 200= 8-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityHome.java 200= 8-04-25 12:50:52 UTC (rev 8022) @@ -216,10 +216,4 @@ } } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityQuery.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityQuery.java 20= 08-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/EntityQuery.java 20= 08-04-25 12:50:52 UTC (rev 8022) @@ -234,11 +234,5 @@ throw new RuntimeException("could not join transaction", se); } } - - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEnti= tyController.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityCont= roller.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityCont= roller.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -117,11 +117,5 @@ { getSession().refresh(entity); } - - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEnti= tyHome.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityHome= .java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityHome= .java 2008-04-25 12:50:52 UTC (rev 8022) @@ -119,10 +119,4 @@ } } = - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } - = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEnti= tyQuery.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityQuer= y.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/HibernateEntityQuer= y.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -201,11 +201,5 @@ { this.fetchSize =3D fetchSize; } - = - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/MutableEntity= Controller.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/MutableEntityContro= ller.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/MutableEntityContro= ller.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -82,10 +82,4 @@ getEntityManager().remove(entity); } = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } - = } Modified: branches/Seam_2_0/src/main/org/jboss/seam/framework/PersistenceCo= ntroller.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/src/main/org/jboss/seam/framework/PersistenceControll= er.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/src/main/org/jboss/seam/framework/PersistenceControll= er.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -15,7 +15,7 @@ = public T getPersistenceContext() { - if (persistenceContext=3D=3Dnull || !isPersistenceContextOpen(persis= tenceContext)) + if (persistenceContext=3D=3Dnull) { persistenceContext =3D (T) getComponentInstance( getPersistenceCo= ntextName() ); } @@ -28,10 +28,5 @@ } = protected abstract String getPersistenceContextName(); - = - protected boolean isPersistenceContextOpen(T persistenceContext) - { - return true; - } = } Modified: branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/en= tityConverter/EntityLoader.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/EntityLoader.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/EntityLoader.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -50,10 +50,5 @@ { return (EntityLoader) Component.getInstance(EntityLoader.class, STAT= ELESS); } - = - @Override - protected boolean isPersistenceContextOpen(EntityManager persistenceCon= text) - { - return persistenceContext.isOpen(); - } + } Modified: branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/en= tityConverter/HibernateEntityLoader.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/HibernateEntityLoader.java 2008-04-25 12:47:09 UTC (rev 8021) +++ branches/Seam_2_0/ui/src/main/java/org/jboss/seam/ui/converter/entityCo= nverter/HibernateEntityLoader.java 2008-04-25 12:50:52 UTC (rev 8022) @@ -50,10 +50,4 @@ return (HibernateEntityLoader) Component.getInstance(HibernateEntity= Loader.class, STATELESS); } = - @Override - protected boolean isPersistenceContextOpen(Session persistenceContext) - { - return persistenceContext.isOpen(); - } - = } --===============3275639488455397476==-- From seam-commits at lists.jboss.org Fri Apr 25 10:22:28 2008 Content-Type: multipart/mixed; boundary="===============3318896631561054259==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8023 - trunk/build. Date: Fri, 25 Apr 2008 10:22:28 -0400 Message-ID: --===============3318896631561054259== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 10:22:28 -0400 (Fri, 25 Apr 2008) New Revision: 8023 Modified: trunk/build/root.pom.xml Log: Upgrade HEM, HAN, Wicket extensions, HSEARCH Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-25 12:50:52 UTC (rev 8022) +++ trunk/build/root.pom.xml 2008-04-25 14:22:28 UTC (rev 8023) @@ -267,24 +267,36 @@ org.hibernate hibernate-annotations - 3.3.0.ga + 3.3.1.GA junit junit + + org.hibernate + ejb3-persistence + + + commons-logging + commons-logging + = org.hibernate hibernate-entitymanager - 3.3.1.ga + 3.3.2.GA commons-logging commons-logging + + org.hibernate + ejb3-persistence + = @@ -303,7 +315,7 @@ org.hibernate hibernate-search - 3.0.0.GA + 3.0.1.GA = @@ -606,6 +618,10 @@ xml-apis xml-apis + + jline + jline + = @@ -918,7 +934,7 @@ org.apache.wicket wicket-extensions - 1.3.0 + ${version.wicket} cglib @@ -944,7 +960,7 @@ org.slf4j slf4j-log4j12 - 1.0.1 + 1.4.2 = --===============3318896631561054259==-- From seam-commits at lists.jboss.org Fri Apr 25 10:25:29 2008 Content-Type: multipart/mixed; boundary="===============4194827054281531603==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8024 - in trunk: build/maven/conf and 5 other directories. Date: Fri, 25 Apr 2008 10:25:29 -0400 Message-ID: --===============4194827054281531603== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 10:25:28 -0400 (Fri, 25 Apr 2008) New Revision: 8024 Removed: trunk/examples/jpa/lib/ Modified: trunk/build/ci.build.xml trunk/build/common.build.xml trunk/build/maven/conf/settings.xml trunk/build/utilities.build.xml trunk/examples/build.xml trunk/examples/hibernate/build-glassfish.xml trunk/examples/hibernate/build-jboss405.xml trunk/examples/hibernate/build-tomcat55.xml trunk/examples/hibernate/build-weblogic92.xml trunk/examples/hibernate/build-websphere61.xml trunk/examples/jee5/booking/build.xml trunk/examples/jpa/build-glassfish.xml trunk/examples/jpa/build-jboss405.xml trunk/examples/jpa/build-tomcat55.xml trunk/examples/jpa/build-tomcat6.xml trunk/examples/jpa/build-weblogic10.xml trunk/examples/jpa/build-weblogic92.xml trunk/examples/jpa/build-websphere61.xml trunk/examples/seamdiscs/build.xml Log: JBSEAM-2909 and JBSEAM-2919 (first attempt) Modified: trunk/build/ci.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/ci.build.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/build/ci.build.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -40,16 +40,12 @@ = - + - - - - - = + Modified: trunk/build/common.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/common.build.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/build/common.build.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -129,7 +129,7 @@ = - + @@ -138,16 +138,12 @@ - - - - - + = - + @@ -157,11 +153,7 @@ = - - - - - + = Modified: trunk/build/maven/conf/settings.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/maven/conf/settings.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/build/maven/conf/settings.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -140,6 +140,12 @@ http://my.repository.com/repo/path --> + + fake.mirror.of.central + central + Fake mirror of central - reroutes central to repository.jboss= .org + http://repository.jboss.org/maven2 + = + + + + + + + + + + + + + + + + + + + + + + = Modified: trunk/examples/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/build.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/examples/build.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -301,6 +301,8 @@ = + + = @@ -310,6 +312,27 @@ = + = + + = + + + + = + + + + = + + = + + + + = + + + + = @@ -523,6 +585,8 @@ + + @@ -588,7 +652,10 @@ - = + + + + @@ -780,6 +847,8 @@ + + Modified: trunk/examples/hibernate/build-glassfish.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-glassfish.xml 2008-04-25 14:22:28 UTC (r= ev 8023) +++ trunk/examples/hibernate/build-glassfish.xml 2008-04-25 14:25:28 UTC (r= ev 8024) @@ -16,6 +16,7 @@ + = = @@ -30,7 +31,7 @@ - + = Modified: trunk/examples/hibernate/build-jboss405.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-jboss405.xml 2008-04-25 14:22:28 UTC (re= v 8023) +++ trunk/examples/hibernate/build-jboss405.xml 2008-04-25 14:25:28 UTC (re= v 8024) @@ -15,7 +15,8 @@ - + + = = @@ -29,7 +30,6 @@ - = Modified: trunk/examples/hibernate/build-tomcat55.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-tomcat55.xml 2008-04-25 14:22:28 UTC (re= v 8023) +++ trunk/examples/hibernate/build-tomcat55.xml 2008-04-25 14:25:28 UTC (re= v 8024) @@ -15,7 +15,8 @@ - + + = = @@ -36,7 +37,6 @@ - Modified: trunk/examples/hibernate/build-weblogic92.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-weblogic92.xml 2008-04-25 14:22:28 UTC (= rev 8023) +++ trunk/examples/hibernate/build-weblogic92.xml 2008-04-25 14:25:28 UTC (= rev 8024) @@ -15,7 +15,9 @@ - + + + = = @@ -34,7 +36,6 @@ - = @@ -43,7 +44,6 @@ - Modified: trunk/examples/hibernate/build-websphere61.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/hibernate/build-websphere61.xml 2008-04-25 14:22:28 UTC = (rev 8023) +++ trunk/examples/hibernate/build-websphere61.xml 2008-04-25 14:25:28 UTC = (rev 8024) @@ -12,10 +12,12 @@ = - + - - + + + + = = @@ -32,7 +34,6 @@ - = = @@ -41,7 +42,6 @@ - = Modified: trunk/examples/jee5/booking/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jee5/booking/build.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/examples/jee5/booking/build.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -16,6 +16,7 @@ + @@ -45,7 +46,6 @@ - Modified: trunk/examples/jpa/build-tomcat6.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-tomcat6.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/examples/jpa/build-tomcat6.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -16,6 +16,7 @@ + = = @@ -40,7 +41,6 @@ - = Modified: trunk/examples/jpa/build-weblogic10.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-weblogic10.xml 2008-04-25 14:22:28 UTC (rev 80= 23) +++ trunk/examples/jpa/build-weblogic10.xml 2008-04-25 14:25:28 UTC (rev 80= 24) @@ -13,10 +13,12 @@ value=3D"exploded-archives-weblogic10" /> = - + - - + + + + = = @@ -33,7 +35,6 @@ - = @@ -41,7 +42,6 @@ - Modified: trunk/examples/jpa/build-weblogic92.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-weblogic92.xml 2008-04-25 14:22:28 UTC (rev 80= 23) +++ trunk/examples/jpa/build-weblogic92.xml 2008-04-25 14:25:28 UTC (rev 80= 24) @@ -13,10 +13,12 @@ value=3D"exploded-archives-weblogic92" /> = - + - - + + + + = = @@ -36,7 +38,6 @@ - = @@ -45,7 +46,6 @@ - Modified: trunk/examples/jpa/build-websphere61.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/jpa/build-websphere61.xml 2008-04-25 14:22:28 UTC (rev 8= 023) +++ trunk/examples/jpa/build-websphere61.xml 2008-04-25 14:25:28 UTC (rev 8= 024) @@ -15,7 +15,9 @@ - + + + = = @@ -31,7 +33,6 @@ - = = @@ -40,7 +41,6 @@ - = Modified: trunk/examples/seamdiscs/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamdiscs/build.xml 2008-04-25 14:22:28 UTC (rev 8023) +++ trunk/examples/seamdiscs/build.xml 2008-04-25 14:25:28 UTC (rev 8024) @@ -10,59 +10,20 @@ - + + = = = - - - - = - - - - = = - - - - = - - = - = - - = - - - - - - - - - - - - - - - - - - - - - - - = = --===============4194827054281531603==-- From seam-commits at lists.jboss.org Fri Apr 25 10:49:25 2008 Content-Type: multipart/mixed; boundary="===============6918771555077820030==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8025 - branches/Seam_2_0/examples/icefaces/resources/WEB-INF. Date: Fri, 25 Apr 2008 10:49:24 -0400 Message-ID: --===============6918771555077820030== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jguglielmin Date: 2008-04-25 10:49:24 -0400 (Fri, 25 Apr 2008) New Revision: 8025 Modified: branches/Seam_2_0/examples/icefaces/resources/WEB-INF/web.xml Log: JBPAPP-477 just required concurrentDOMViews set to true in web.xml (tested = with ICEfaces-v1.6.1 and v1.7.0) Modified: branches/Seam_2_0/examples/icefaces/resources/WEB-INF/web.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Seam_2_0/examples/icefaces/resources/WEB-INF/web.xml 2008-04-2= 5 14:25:28 UTC (rev 8024) +++ branches/Seam_2_0/examples/icefaces/resources/WEB-INF/web.xml 2008-04-2= 5 14:49:24 UTC (rev 8025) @@ -74,7 +74,10 @@ com.icesoft.faces.standardRequestScope true - + + com.icesoft.faces.concurrentDOMViews + true + Faces Servlet --===============6918771555077820030==-- From seam-commits at lists.jboss.org Fri Apr 25 11:34:31 2008 Content-Type: multipart/mixed; boundary="===============4465882748683844589==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8026 - in trunk: build and 6 other directories. Date: Fri, 25 Apr 2008 11:32:51 -0400 Message-ID: --===============4465882748683844589== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 11:32:51 -0400 (Fri, 25 Apr 2008) New Revision: 8026 Removed: trunk/examples/dvdstore/lib/standard.jar trunk/examples/remoting/gwt/lib/ trunk/extras/emma/ trunk/seam-gen/lib/ Modified: trunk/build.xml trunk/build/common.build.xml trunk/build/gen.pom.xml trunk/build/root.pom.xml trunk/examples/build.xml trunk/examples/remoting/gwt/build.xml trunk/examples/wiki/build.xml trunk/seam-gen/build.xml Log: move more jars Modified: trunk/build/common.build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/common.build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/build/common.build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -156,6 +156,13 @@ + = + + + + + + = Modified: trunk/build/gen.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/gen.pom.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/build/gen.pom.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -1,26 +1,63 @@ - 4.0.0 - org.jboss.seam - jboss-seam-gen - - org.jboss.seam - parent - @seam.version@ - - = - + xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 http://maven.ap= ache.org/maven-v4_0_0.xsd"> + 4.0.0 + org.jboss.seam + jboss-seam-gen + + org.jboss.seam + parent + @seam.version@ + = - - = - - ant - ant - - = - + = + = + + ant + ant + compile + + + + org.hibernate + hibernate-tools + runtime + + + + freemarker + freemarker + runtime + + = + + hsqldb + hsqldb + runtime + + = + + org.jboss.seam + jboss-seam + runtime + + = + + org.eclipse.core + runtime + runtime + + = + + org.eclipse + text + runtime + + + + + \ No newline at end of file Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/build/root.pom.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -963,6 +963,65 @@ 1.4.2 = + + org.hibernate + hibernate-tools + 3.2.0.ga + + + + freemarker + freemarker + 2.3.8 + + = + + hsqldb + hsqldb + 1.8.0.2 + + = + + org.eclipse.core + runtime + 3.2.0-v20060303 + + + org.eclipse + osgi + + + org.eclipse.core + jobs + + + org.eclipse.equinox + registry + + + org.eclipse.equinox + preferences + + + org.eclipse.core + contenttype + + + + = + + org.eclipse + text + 3.2.0-v20060605-1400 + + + org.eclipse.core + commands + + + + = + = = Modified: trunk/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -106,11 +106,6 @@ = - - - - - @@ -666,7 +661,7 @@ = = - + @@ -674,7 +669,7 @@ - + @@ -715,8 +710,8 @@ = - - + + @@ -729,8 +724,8 @@ = - - + + @@ -742,8 +737,8 @@ = - + + Modified: trunk/examples/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/examples/build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -465,10 +465,6 @@ = - - - - = = @@ -483,7 +479,6 @@ - = @@ -912,11 +907,6 @@ You can test the example by running the test target. = --> = - - - - - @@ -952,7 +942,7 @@ = - + @@ -960,13 +950,16 @@ - + + + + You can increase the logging by editing bootstrap/log4j.xml = - + @@ -974,7 +967,10 @@ - + + + + You can increase the logging by editing bootstrap/log4j.xml Deleted: trunk/examples/dvdstore/lib/standard.jar =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Modified: trunk/examples/remoting/gwt/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/remoting/gwt/build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/examples/remoting/gwt/build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -11,12 +11,17 @@ = + = + + + = + classpathref=3D"runtime.gwttasks.path" + /> = = Modified: trunk/examples/wiki/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/wiki/build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/examples/wiki/build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -78,9 +78,6 @@ = - - - = @@ -403,7 +400,7 @@ = = - = - + + + + = @@ -470,11 +470,14 @@ = = - - + + + + Modified: trunk/seam-gen/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/seam-gen/build.xml 2008-04-25 14:49:24 UTC (rev 8025) +++ trunk/seam-gen/build.xml 2008-04-25 15:32:51 UTC (rev 8026) @@ -8,8 +8,8 @@ = - - + + = = + classpathref=3D"seam-gen.path"/> + = + = @@ -1048,7 +1050,7 @@ = - + --===============4465882748683844589==-- From seam-commits at lists.jboss.org Fri Apr 25 11:47:36 2008 Content-Type: multipart/mixed; boundary="===============7190764139088519317==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8027 - trunk/build. Date: Fri, 25 Apr 2008 11:47:35 -0400 Message-ID: --===============7190764139088519317== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pete.muir(a)jboss.org Date: 2008-04-25 11:47:35 -0400 (Fri, 25 Apr 2008) New Revision: 8027 Modified: trunk/build/gen.pom.xml trunk/build/root.pom.xml Log: minor Modified: trunk/build/gen.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/gen.pom.xml 2008-04-25 15:32:51 UTC (rev 8026) +++ trunk/build/gen.pom.xml 2008-04-25 15:47:35 UTC (rev 8027) @@ -52,6 +52,12 @@ = + org.eclipse.equinox + common + runtime + + = + org.eclipse text runtime Modified: trunk/build/root.pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/build/root.pom.xml 2008-04-25 15:32:51 UTC (rev 8026) +++ trunk/build/root.pom.xml 2008-04-25 15:47:35 UTC (rev 8027) @@ -982,6 +982,12 @@ = + org.eclipse.equinox + common + 3.2.0-v20060303 + + = + org.eclipse.core runtime 3.2.0-v20060303 @@ -1003,6 +1009,10 @@ preferences + org.eclipse.equinox + common + + org.eclipse.core contenttype @@ -1018,6 +1028,10 @@ org.eclipse.core commands + + org.eclipse.equinox + common + = --===============7190764139088519317==-- From seam-commits at lists.jboss.org Fri Apr 25 23:07:46 2008 Content-Type: multipart/mixed; boundary="===============7031866099765775267==" MIME-Version: 1.0 From: seam-commits at lists.jboss.org To: seam-commits at lists.jboss.org Subject: [seam-commits] Seam SVN: r8028 - in trunk/examples/seamspace/view: style and 1 other directory. Date: Fri, 25 Apr 2008 23:07:45 -0400 Message-ID: --===============7031866099765775267== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: shane.bryzak(a)jboss.com Date: 2008-04-25 23:07:45 -0400 (Fri, 25 Apr 2008) New Revision: 8028 Added: trunk/examples/seamspace/view/style/security.css trunk/examples/seamspace/view/style/table_header.png Modified: trunk/examples/seamspace/view/roledetail.xhtml trunk/examples/seamspace/view/rolemanager.xhtml trunk/examples/seamspace/view/security.xhtml trunk/examples/seamspace/view/style/seamspace.css trunk/examples/seamspace/view/template.xhtml trunk/examples/seamspace/view/userdetail.xhtml trunk/examples/seamspace/view/usermanager.xhtml Log: styling of identity management screens Modified: trunk/examples/seamspace/view/roledetail.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/roledetail.xhtml 2008-04-25 15:47:35 UTC = (rev 8027) +++ trunk/examples/seamspace/view/roledetail.xhtml 2008-04-26 03:07:45 UTC = (rev 8028) @@ -7,6 +7,10 @@ xmlns:s=3D"http://jboss.com/products/seam/taglib"> = + = + + + = = = Modified: trunk/examples/seamspace/view/rolemanager.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-25 15:47:35 UTC= (rev 8027) +++ trunk/examples/seamspace/view/rolemanager.xhtml 2008-04-26 03:07:45 UTC= (rev 8028) @@ -7,6 +7,10 @@ = = + + + = + = =