[seam-commits] Seam SVN: r14545 - in branches/community/Seam_2_3/examples-ee6: itext and 36 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Apr 10 10:18:58 EDT 2012


Author: rsmeral
Date: 2012-04-10 10:18:55 -0400 (Tue, 10 Apr 2012)
New Revision: 14545

Added:
   branches/community/Seam_2_3/examples-ee6/itext/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/pom.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/META-INF/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/META-INF/jboss-deployment-structure.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/pdf.keystore
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/pom.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/ChartData.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Colors.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Data.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/DynamicChart.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/FillInForms.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/JFreeData.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Lists.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/OrderInfo.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Phrases.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/SwingComponent.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/ejb-jar.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/persistence.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/selenium/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/selenium/SeleniumItextTest.java
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/testng.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/pom.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/pages.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/anchor.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcode.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcodeimage.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chapters.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chart.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chartimage.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/customchart.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/fillform.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/font.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.pdf
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/format.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/html.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/images.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.html
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/jboss.jpg
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/lists.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/nested.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pageSize.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pages.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pdfMissing.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/sections.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/signature.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/swing.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/table.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_html.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_rtf.xhtml
   branches/community/Seam_2_3/examples-ee6/itext/pom.xml
   branches/community/Seam_2_3/examples-ee6/itext/readme.txt
Log:
itext migrated

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ear/pom.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>itext</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+    <artifactId>itext-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Itext EAR Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+            <artifactId>itext-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+            <artifactId>itext-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-itext</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <version>2.7</version>
+                <configuration>
+                    <version>6</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <filtering>true</filtering>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                            <artifactId>itext-web</artifactId>
+                            <contextRoot>/seam-itext</contextRoot>
+                            <bundleFileName>itext-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule> 
+                            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                            <artifactId>itext-ejb</artifactId>
+                            <bundleFileName>itext-ejb.jar</bundleFileName>
+                        </ejbModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam</groupId>
+                            <artifactId>jboss-seam</artifactId>
+                            <bundleFileName>jboss-seam.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <properties>
+                <example.name>itext</example.name>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                                            <artifactId>itext-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                                            <artifactId>itext-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                                            <artifactId>itext-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/META-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/META-INF/jboss-deployment-structure.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/META-INF/jboss-deployment-structure.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,14 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+      <dependencies>
+          <module name="org.apache.log4j" export="true"/>
+          <module name="org.dom4j" export="true"/>
+          <module name="org.apache.commons.logging" export="true"/>
+          <module name="org.apache.commons.collections" export="true"/>
+          <module name="javax.faces.api" export="true"/>
+          <module name="com.sun.jsf-impl" export="true"/>
+          <module name="org.javassist" export="true"/>
+          <module name="org.antlr" export="true"/>
+        </dependencies>
+  </deployment>  
+</jboss-deployment-structure> 

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/pdf.keystore
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3/examples-ee6/itext/itext-ear/src/main/application/pdf.keystore
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/pom.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>itext</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+    <artifactId>itext-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Itext EJB Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.testng</groupId>
+                    <artifactId>testng</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>junit</groupId>
+                    <artifactId>junit</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.el</groupId>
+                    <artifactId>el-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.spec.javax.servlet</groupId>
+            <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.spec.javax.ejb</groupId>
+            <artifactId>jboss-ejb-api_3.1_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.spec.javax.faces</groupId>
+            <artifactId>jboss-jsf-api_2.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-collections</groupId>
+                    <artifactId>commons-collections</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>commons-digester</groupId>
+            <artifactId>commons-digester</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext-rtf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jfree</groupId>
+            <artifactId>jfreechart</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/ChartData.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/ChartData.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/ChartData.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,38 @@
+package org.jboss.seam.example.pdf;
+
+import org.jboss.seam.annotations.*;
+import java.util.*;
+
+ at Name("data")
+public class ChartData {
+
+
+    public List<Stuff> getPieData() {
+        List<Stuff> allStuff = new ArrayList<Stuff>();
+
+        allStuff.add(new Stuff("first thing",  10f));
+        allStuff.add(new Stuff("second thing", 49f));
+        allStuff.add(new Stuff("third thing",  25f));
+        allStuff.add(new Stuff("fourth thing",  25f));
+
+        return allStuff;        
+    }
+
+    public static class Stuff {
+        String name;
+        Float  value;
+
+        public Stuff(String name, Float value) {
+            this.name = name;
+            this.value = value;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public Float getValue() {
+            return value;
+        }
+    }
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Colors.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Colors.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Colors.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,45 @@
+package org.jboss.seam.example.pdf;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+
+ at Name("random")
+ at Scope(ScopeType.SESSION)
+public class Colors {
+    @Factory("strokes") 
+    public String[] getStrokes() {
+        return new String[] {
+                "solid-thin",
+                "solid-thick",
+                "dot1",
+                "dot2"
+        };
+    }
+   
+    @Factory("colors")
+    public List getAll() {
+        List<String> colors = new ArrayList<String>();
+        
+        colors.add("white");
+        colors.add("gray");
+        colors.add("lightgray");
+        colors.add("darkgray");
+        colors.add("black");
+        colors.add("red");
+        colors.add("pink");
+        colors.add("yellow");
+        colors.add("green");
+        colors.add("magenta");
+        colors.add("cyan");
+        colors.add("blue");
+        
+        return colors;        
+    }
+    
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Data.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Data.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Data.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,90 @@
+package org.jboss.seam.example.pdf;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Data {
+    String id = this.toString();
+
+    boolean visible = true;
+    boolean visibleInLegend = true;
+    String seriesPaint;
+    String seriesFillPaint;
+    String seriesOutlinePaint;
+    String seriesOutlineStroke;
+    String seriesStroke;
+    
+    Map<String, Number> values = new HashMap<String, Number>();
+    
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Map<String,Number> getValues() {
+        return values;
+    }
+
+    public void addValue(String key, Number value) {
+        values.put(key, value);
+    }
+
+    public boolean isVisibleInLegend() {
+        return visibleInLegend;
+    }
+
+    public void setVisibleInLegend(boolean visibleInLegend) {
+        this.visibleInLegend = visibleInLegend;
+    }
+
+    public boolean isVisible() {
+        return visible;
+    }
+
+    public void setVisible(boolean visible) {
+        this.visible = visible;
+    }
+
+    public String getSeriesFillPaint() {
+        return seriesFillPaint;
+    }
+
+    public void setSeriesFillPaint(String seriesFillPaint) {
+        this.seriesFillPaint = seriesFillPaint;
+    }
+
+    public String getSeriesOutlinePaint() {
+        return seriesOutlinePaint;
+    }
+
+    public void setSeriesOutlinePaint(String seriesOutlinePaint) {
+        this.seriesOutlinePaint = seriesOutlinePaint;
+    }
+
+    public String getSeriesOutlineStroke() {
+        return seriesOutlineStroke;
+    }
+
+    public void setSeriesOutlineStroke(String seriesOutlineStroke) {
+        this.seriesOutlineStroke = seriesOutlineStroke;
+    }
+
+    public String getSeriesPaint() {
+        return seriesPaint;
+    }
+
+    public void setSeriesPaint(String seriesPaint) {
+        this.seriesPaint = seriesPaint;
+    }
+
+    public String getSeriesStroke() {
+        return seriesStroke;
+    }
+
+    public void setSeriesStroke(String seriesStroke) {
+        this.seriesStroke = seriesStroke;
+    }
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/DynamicChart.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/DynamicChart.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/DynamicChart.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,362 @@
+package org.jboss.seam.example.pdf;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+import org.jboss.seam.annotations.*;
+import org.jboss.seam.*;
+
+ at Name("chart")
+ at Scope(ScopeType.SESSION)
+public class DynamicChart {
+    private static final int CHART_RANGE = 50;
+    private List<String> categories = new ArrayList<String>();
+    private int nextSeries = 1;
+    private int nextCategory = 1;
+    
+    Random random = new Random();
+    
+    List<Data> data = new ArrayList<Data>();
+    
+    boolean is3d = false;
+    boolean legend = true;
+    
+    String  title = "Dynamic Chart";
+    String  domainAxisLabel = "Domain Label";
+    String  domainAxisPaint;
+    boolean domainGridlinesVisible = false;
+    String  domainGridlinePaint;
+    String  domainGridlineStroke;
+    String  rangeAxisLabel = "Range Label";
+    String  rangeAxisPaint;
+    boolean rangeGridlinesVisible = true;
+    String  rangeGridlinePaint;
+    String  rangeGridlineStroke;
+    
+    String orientation           = "vertical";
+    String plotBackgroundPaint   = "white";
+    String plotOutlinePaint      = "black";
+    String plotOutlineStroke     = "solid-thin";
+    String borderPaint           = "black";
+    String borderBackgroundPaint = "white";
+    String borderStroke          = "solid-thick";
+    
+    String titlePaint;
+    String titleBackgroundPaint;
+    String legendBackgroundPaint;
+    String legendItemPaint;
+    
+    Float plotBackgroundAlpha = .7f;
+    Float plotForegroundAlpha = 1f;
+    
+    float height = 300;
+    float width  = 400;    
+    
+    boolean borderVisible = true; 
+    
+    public boolean getIs3d() {
+        return is3d;
+    }
+
+    public void setIs3d(boolean is3d) {
+        this.is3d = is3d;
+    }
+
+    public String getDomainAxisLabel() {
+        return domainAxisLabel;
+    }
+
+    public void setDomainAxisLabel(String categoryAxisLabel) {
+        this.domainAxisLabel = categoryAxisLabel;
+    }
+
+    public String getRangeAxisLabel() {
+        return rangeAxisLabel;
+    }
+
+    public void setRangeAxisLabel(String valueAxisLabel) {
+        this.rangeAxisLabel = valueAxisLabel;
+    }
+
+    public boolean isBorderVisible() {
+        return borderVisible;
+    }
+
+    public void setBorderVisible(boolean borderVisible) {
+        this.borderVisible = borderVisible;
+    }
+
+    public float getHeight() {
+        return height;
+    }
+
+    public void setHeight(float height) {
+        this.height = height;
+    }
+
+    public float getWidth() {
+        return width;
+    }
+
+    public void setWidth(float width) {
+        this.width = width;
+    }
+
+    public boolean isLegend() {
+        return legend;
+    }
+
+    public void setLegend(boolean legend) {
+        this.legend = legend;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getOrientation() {
+        return orientation;
+    }
+
+    public void setOrientation(String orientation) {
+        this.orientation = orientation;
+    }
+
+    public String getBorderBackgroundPaint() {
+        return borderBackgroundPaint;
+    }
+
+    public void setBorderBackgroundPaint(String borderBackgroundPaint) {
+        this.borderBackgroundPaint = borderBackgroundPaint;
+    }
+
+    public String getBorderPaint() {
+        return borderPaint;
+    }
+
+    public void setBorderPaint(String borderPaint) {
+        this.borderPaint = borderPaint;
+    }
+
+    public String getPlotBackgroundPaint() {
+        return plotBackgroundPaint;
+    }
+
+    public void setPlotBackgroundPaint(String plotBackgroundPaint) {
+        this.plotBackgroundPaint = plotBackgroundPaint;
+    }
+
+    public String getPlotOutlinePaint() {
+        return plotOutlinePaint;
+    }
+
+    public void setPlotOutlinePaint(String plotOutlinePaint) {
+        this.plotOutlinePaint = plotOutlinePaint;
+    }
+
+    public String getBorderStroke() {
+        return borderStroke;
+    }
+
+    public void setBorderStroke(String borderStroke) {
+        this.borderStroke = borderStroke;
+    }
+
+    public String getPlotOutlineStroke() {
+        return plotOutlineStroke;
+    }
+
+    public void setPlotOutlineStroke(String plotOutlineStroke) {
+        this.plotOutlineStroke = plotOutlineStroke;
+    }
+
+    public Float getPlotBackgroundAlpha() {
+        return plotBackgroundAlpha;
+    }
+
+    public void setPlotBackgroundAlpha(Float plotBackgroundAlpha) {
+        this.plotBackgroundAlpha = plotBackgroundAlpha;
+    }
+
+    public Float getPlotForegroundAlpha() {
+        return plotForegroundAlpha;
+    }
+
+    public void setPlotForegroundAlpha(Float plotForegroundAlpha) {
+        this.plotForegroundAlpha = plotForegroundAlpha;
+    }
+
+    public String getTitleBackgroundPaint() {
+        return titleBackgroundPaint;
+    }
+
+    public void setTitleBackgroundPaint(String titleBackgroundPaint) {
+        this.titleBackgroundPaint = titleBackgroundPaint;
+    }
+
+    public String getTitlePaint() {
+        return titlePaint;
+    }
+
+    public void setTitlePaint(String titlePaint) {
+        this.titlePaint = titlePaint;
+    }
+
+    public String getLegendBackgroundPaint() {
+        return legendBackgroundPaint;
+    }
+
+    public void setLegendBackgroundPaint(String legendBackgroundPaint) {
+        this.legendBackgroundPaint = legendBackgroundPaint;
+    }
+
+    public String getLegendItemPaint() {
+        return legendItemPaint;
+    }
+
+    public void setLegendItemPaint(String legendItemPaint) {
+        this.legendItemPaint = legendItemPaint;
+    }
+
+    public String getDomainAxisPaint() {
+        return domainAxisPaint;
+    }
+
+    public void setDomainAxisPaint(String domainAxisPaint) {
+        this.domainAxisPaint = domainAxisPaint;
+    }
+
+    public String getDomainGridlinePaint() {
+        return domainGridlinePaint;
+    }
+
+    public void setDomainGridlinePaint(String domainGridlinePaint) {
+        this.domainGridlinePaint = domainGridlinePaint;
+    }
+
+    public String getDomainGridlineStroke() {
+        return domainGridlineStroke;
+    }
+
+    public void setDomainGridlineStroke(String domainGridlineStroke) {
+        this.domainGridlineStroke = domainGridlineStroke;
+    }
+
+    public boolean isDomainGridlinesVisible() {
+        return domainGridlinesVisible;
+    }
+
+    public void setDomainGridlinesVisible(boolean domainGridlineVisible) {
+        this.domainGridlinesVisible = domainGridlineVisible;
+    }
+
+    public String getRangeAxisPaint() {
+        return rangeAxisPaint;
+    }
+
+    public void setRangeAxisPaint(String rangeAxisPaint) {
+        this.rangeAxisPaint = rangeAxisPaint;
+    }
+
+    public String getRangeGridlinePaint() {
+        return rangeGridlinePaint;
+    }
+
+    public void setRangeGridlinePaint(String rangeGridlinePaint) {
+        this.rangeGridlinePaint = rangeGridlinePaint;
+    }
+
+    public String getRangeGridlineStroke() {
+        return rangeGridlineStroke;
+    }
+
+    public void setRangeGridlineStroke(String rangeGridlineStroke) {
+        this.rangeGridlineStroke = rangeGridlineStroke;
+    }
+
+    public boolean isRangeGridlinesVisible() {
+        return rangeGridlinesVisible;
+    }
+
+    public void setRangeGridlinesVisible(boolean rangeGridlineVisible) {
+        this.rangeGridlinesVisible = rangeGridlineVisible;
+    }
+
+    
+    @Create
+    public void initData() {
+        newCategory();
+        newCategory();
+        newCategory();
+
+        newSeries();
+        newSeries();
+    }
+        
+    public List<Data> getData() {
+        return data;
+    }
+
+    public List<String> getCategories() {
+        return categories;
+    }
+    
+    public void removeSeries(String id) {
+        // System.out.println("REMOVE: " + id);
+    }
+    
+    public void newSeries() {
+        String newId = findUniqueSeriesId();
+        Data set = new Data();
+        set.setId(newId);
+        
+        for (String category: categories) {
+            set.addValue(category,  random.nextInt(CHART_RANGE));
+        }        
+        
+        data.add(set);
+    }
+    
+    public void newCategory() {
+        String newId = findUniqueCategoryId();
+        categories.add(newId);
+
+        for (Data set: data) {
+            set.addValue(newId,  random.nextInt(CHART_RANGE));
+        }        
+    }
+
+    private String findUniqueSeriesId() {
+        while (true) {
+            String id = "Series " + nextSeries++;
+            if (isUniqueSeriesId(id)) {
+                return id;
+            }
+        }
+    }
+
+    private boolean isUniqueSeriesId(String id) {
+        for (Data item: data) {
+            if (item.getId().equals(id)) {
+                return false;
+            }
+        }
+        return true;
+    }  
+    
+
+    private String findUniqueCategoryId() {
+        while (true) {
+            String id = "Category " + nextCategory++;
+            if (!categories.contains(id)) {
+                return id;
+            }
+        }
+    }
+    
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/FillInForms.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/FillInForms.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/FillInForms.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,168 @@
+package org.jboss.seam.example.pdf;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.model.SelectItem;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+ at Name("fillInForms")
+ at Scope(ScopeType.CONVERSATION)
+public class FillInForms
+{
+   private String name;
+   private String address;
+   private String postalCode;
+   private String email;
+   private String[] programming;
+   private String language;
+   private String preferred;
+   private List<String> knowledge;
+   private List<SelectItem> programmingLanguages;
+   private List<SelectItem> languages;
+
+   public List<String> getKnowledge()
+   {
+      return knowledge;
+   }
+
+   public void setKnowledge(List<String> knowledge)
+   {
+      this.knowledge = knowledge;
+   }
+
+   public List<SelectItem> getLanguages()
+   {
+      return languages;
+   }
+
+   public void setLanguages(List<SelectItem> languages)
+   {
+      this.languages = languages;
+   }
+
+   public List<SelectItem> getProgrammingLanguages()
+   {
+      return programmingLanguages;
+   }
+
+   public void setProgrammingLanguages(List<SelectItem> programmingLanguages)
+   {
+      this.programmingLanguages = programmingLanguages;
+   }
+
+   @Create
+   public void init()
+   {
+      knowledge = new ArrayList<String>();
+      programmingLanguages = new ArrayList<SelectItem>();
+      programmingLanguages.add(new SelectItem("JAVA", "Java"));
+      programmingLanguages.add(new SelectItem("C", "C/C++"));
+      programmingLanguages.add(new SelectItem("CS", "C#"));
+      programmingLanguages.add(new SelectItem("VB", "VB"));
+      languages = new ArrayList<SelectItem>();
+      languages.add(new SelectItem("EN", "English"));
+      languages.add(new SelectItem("FR", "French"));
+      languages.add(new SelectItem("NL", "Dutch"));
+      knowledge.add("FR");
+      language = "FR";
+      preferred = "FR";
+   }
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public String getAddress()
+   {
+      return address;
+   }
+
+   public void setAddress(String address)
+   {
+      this.address = address;
+   }
+
+   public String getPostalCode()
+   {
+      return postalCode;
+   }
+
+   public void setPostalCode(String postalCode)
+   {
+      this.postalCode = postalCode;
+   }
+
+   public String getEmail()
+   {
+      return email;
+   }
+
+   public void setEmail(String email)
+   {
+      this.email = email;
+   }
+
+   public String[] getProgramming()
+   {
+      return programming;
+   }
+
+   public void setProgramming(String[] programming)
+   {
+      this.programming = programming;
+   }
+
+   public String getLanguage()
+   {
+      return language;
+   }
+
+   public void setLanguage(String language)
+   {
+      this.language = language;
+   }
+
+   public String getPreferred()
+   {
+      return preferred;
+   }
+
+   public void setPreferred(String preferred)
+   {
+      this.preferred = preferred;
+   }
+
+   public String submit()
+   {
+      return "/form.xhtml";
+   }
+
+   public boolean isKnowsEnglish()
+   {
+      boolean knows = knowledge.contains("EN");
+      return knows;
+   }
+
+   public boolean isKnowsFrench()
+   {
+      return knowledge.contains("FR");
+   }
+
+   public boolean isKnowsDutch()
+   {
+      return knowledge.contains("NL");
+   }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/JFreeData.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/JFreeData.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/JFreeData.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,151 @@
+package org.jboss.seam.example.pdf;
+
+import org.jboss.seam.annotations.*;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GradientPaint;
+import java.awt.Paint;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.JPanel;
+
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartPanel;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.LegendItem;
+import org.jfree.chart.LegendItemCollection;
+import org.jfree.chart.axis.NumberAxis;
+import org.jfree.chart.plot.CategoryPlot;
+import org.jfree.chart.plot.PlotOrientation;
+import org.jfree.chart.renderer.category.BarRenderer;
+import org.jfree.chart.title.LegendTitle;
+import org.jfree.chart.title.TextTitle;
+import org.jfree.data.category.CategoryDataset;
+import org.jfree.data.category.DefaultCategoryDataset;
+import org.jfree.ui.ApplicationFrame;
+import org.jfree.ui.HorizontalAlignment;
+import org.jfree.ui.RectangleEdge;
+import org.jfree.ui.RectangleInsets;
+import org.jfree.ui.RefineryUtilities;
+
+ at Name("jfree")
+public class JFreeData {
+
+    public JFreeChart getChart() {
+        return createChart(getDataset());
+    }
+
+    public CategoryDataset getDataset() {
+        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+
+        dataset.addValue(81.0, "Against all torture", "Italy");
+        dataset.addValue(72.0, "Against all torture", "Great Britain");
+        dataset.addValue(58.0, "Against all torture", "USA");
+        dataset.addValue(48.0, "Against all torture", "Israel");
+        dataset.addValue(43.0, "Against all torture", "Russia");
+        dataset.addValue(23.0, "Against all torture", "India");
+        dataset.addValue(59.0, "Against all torture", "Average (*)");
+
+
+	dataset.addValue(5.0, "-", "Italy");
+	dataset.addValue(4.0, "-", "Great Britain");
+	dataset.addValue(6.0, "-", "USA");
+	dataset.addValue(9.0, "-", "Israel");
+	dataset.addValue(20.0, "-", "Russia");
+	dataset.addValue(45.0, "-", "India");
+	dataset.addValue(12.0, "-", "Average (*)");
+	
+	dataset.addValue(14.0, "Some degree permissible", "Italy");
+	dataset.addValue(24.0, "Some degree permissible", "Great Britain");
+	dataset.addValue(36.0, "Some degree permissible", "USA");
+	dataset.addValue(43.0, "Some degree permissible", "Israel");
+	dataset.addValue(37.0, "Some degree permissible", "Russia");
+	dataset.addValue(32.0, "Some degree permissible", "India");
+	dataset.addValue(29.0, "Some degree permissible", "Average (*)");
+        
+        return dataset;
+    }
+    
+    /**
+     * Creates a sample chart.
+     * 
+     * @param dataset  the dataset.
+     * 
+     * @return The chart.
+     */
+    private JFreeChart createChart(CategoryDataset dataset) {
+        
+        // create the chart...
+        JFreeChart chart = ChartFactory.createStackedBarChart(
+            "Public Opinion : Torture of Prisoners", 
+            "Country",                    // domain axis label
+            "%",                 // range axis label
+            dataset,                      // data
+            PlotOrientation.HORIZONTAL,   // orientation
+            false,                        // include legend
+            true,                         // tooltips?
+            false                         // URLs?
+        );
+
+        // set the background color for the chart...
+        chart.setBackgroundPaint(Color.white);
+        chart.getTitle().setMargin(2.0, 0.0, 0.0, 0.0);
+
+        TextTitle tt = new TextTitle(
+                "Source: http://news.bbc.co.uk/1/hi/world/6063386.stm",
+                new Font("Dialog", Font.PLAIN, 11));
+        tt.setPosition(RectangleEdge.BOTTOM);
+        tt.setHorizontalAlignment(HorizontalAlignment.RIGHT);
+        tt.setMargin(0.0, 0.0, 4.0, 4.0);
+        chart.addSubtitle(tt);
+
+        TextTitle t = new TextTitle(
+                "(*) Across 27,000 respondents in 25 countries",
+                new Font("Dialog", Font.PLAIN, 11));
+        t.setPosition(RectangleEdge.BOTTOM);
+        t.setHorizontalAlignment(HorizontalAlignment.RIGHT);
+        t.setMargin(4.0, 0.0, 2.0, 4.0);
+        chart.addSubtitle(t);
+
+        // get a reference to the plot for further customisation...
+        CategoryPlot plot = (CategoryPlot) chart.getPlot();
+        LegendItemCollection items = new LegendItemCollection();
+        items.add(new LegendItem("Against all torture", null, null, null, 
+                new Rectangle2D.Double(-6.0, -3.0, 12.0, 6.0), Color.green));
+        items.add(new LegendItem("Some degree permissible", null, null, null, 
+                new Rectangle2D.Double(-6.0, -3.0, 12.0, 6.0), Color.red));
+        plot.setFixedLegendItems(items);
+        plot.setInsets(new RectangleInsets(5, 5, 5, 20));
+        LegendTitle legend = new LegendTitle(plot);
+        legend.setPosition(RectangleEdge.BOTTOM);
+        chart.addSubtitle(legend);
+        
+        plot.setBackgroundPaint(Color.lightGray);
+        plot.setDomainGridlinePaint(Color.white);
+        plot.setDomainGridlinesVisible(true);
+        plot.setRangeGridlinePaint(Color.white);
+        
+        // set the range axis to display integers only...
+        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
+        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
+        rangeAxis.setUpperMargin(0.0);
+        
+        // disable bar outlines...
+        BarRenderer renderer = (BarRenderer) plot.getRenderer();
+        renderer.setDrawBarOutline(false);
+        
+        // set up gradient paints for series...
+        GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0));
+        Paint gp1 = new Color(0, 0, 0, 0);
+        GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0));
+        //renderer.setSeriesPaint(0, gp0);
+	renderer.setSeriesPaint(0, Color.green);
+        renderer.setSeriesPaint(1, gp1);
+        //renderer.setSeriesPaint(2, gp2);
+	renderer.setSeriesPaint(2, Color.red);
+        
+        return chart;        
+    }
+}
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Lists.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Lists.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Lists.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,18 @@
+package org.jboss.seam.example.pdf;
+
+import org.jboss.seam.annotations.*;
+
+ at Name("lists")
+public class Lists{
+
+    String[] numbers = {"one", "two", "three", "four", "five"};
+    String[] daysOfWeek = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
+    
+    public String[] getNumbers() {
+        return numbers;
+    }
+
+    public String[] getDaysOfWeek() {
+        return daysOfWeek;
+    }
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/OrderInfo.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/OrderInfo.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/OrderInfo.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,76 @@
+package org.jboss.seam.example.pdf;
+
+import org.jboss.seam.annotations.*;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+ at Name("currentOrder")
+public class OrderInfo {
+    @Unwrap
+    public Order getOrder() {
+        Order order = new Order();
+        
+        order.setOrderDate(new Date());
+        order.setCustomerName("Seamus Finnigan");
+
+        order.setOrderId("ZT193881");
+
+        order.setBaseAmount(new BigDecimal("199.99"));
+        order.setTax(new BigDecimal("16.50"));
+        order.setTotalAmount(order.getBaseAmount().add(order.getTax()));
+        
+        return order;
+    }
+
+
+    public static class Order {
+        Date orderDate;
+
+        String     customerName;
+        String     orderId;
+        BigDecimal baseAmount;
+        BigDecimal tax;
+        BigDecimal totalAmount;
+
+
+
+        public BigDecimal getBaseAmount() {
+            return baseAmount;
+        }
+        public void setBaseAmount(BigDecimal baseAmount) {
+            this.baseAmount = baseAmount;
+        }
+        public String getCustomerName() {
+            return customerName;
+        }
+        public void setCustomerName(String customerName) {
+            this.customerName = customerName;
+        }
+        public String getOrderId() {
+            return orderId;
+        }
+        public void setOrderId(String orderId) {
+            this.orderId = orderId;
+        }
+        public Date getOrderDate() {
+            return orderDate;
+        }
+        public void setOrderDate(Date orderDate) {
+            this.orderDate = orderDate;
+        }
+        public BigDecimal getTax() {
+            return tax;
+        }
+        public void setTax(BigDecimal tax) {
+            this.tax = tax;
+        }
+        public BigDecimal getTotalAmount() {
+            return totalAmount;
+        }
+        public void setTotalAmount(BigDecimal totalAmount) {
+            this.totalAmount = totalAmount;
+        }        
+    }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Phrases.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Phrases.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/Phrases.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,21 @@
+package org.jboss.seam.example.pdf;
+
+
+import org.jboss.seam.annotations.Name;
+
+ at Name("phrases")
+public class Phrases {
+
+    public String getChinese() {
+        return "\u5341\u950a\u57cb\u4f0f";
+    }
+    
+    public String getJapanese() {
+        return "\u8ab0\u3082\u77e5\u3089\u306a\u3044";
+    }
+    
+    public String getKorean() {
+        return "\ube48\uc9d1";
+    }
+    
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/SwingComponent.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/SwingComponent.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/java/org/jboss/seam/example/pdf/SwingComponent.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,33 @@
+package org.jboss.seam.example.pdf;
+
+import java.awt.*;
+import javax.swing.*;
+
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Name;
+
+ at Name("swing")
+public class SwingComponent
+{
+    @Create
+    public void init() {
+        try {
+            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
+        } catch(Exception e) {
+            System.out.println("Error setting Java LAF: " + e);
+        }
+    }
+    
+    public Component getLabel1() {
+        JLabel label = new JLabel("Hello, Seam", SwingConstants.CENTER);
+
+        return label;        
+    }
+
+    public Component getLabel2() {
+        JLabel label = new JLabel("A label!", SwingConstants.CENTER);
+
+        return label;        
+    }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/ejb-jar.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/ejb-jar.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" 
+         version="3.0">
+
+    <interceptors>
+        <interceptor>
+            <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+        </interceptor>
+    </interceptors>
+    
+    <assembly-descriptor>
+        <interceptor-binding>
+            <ejb-name>*</ejb-name>
+            <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+        </interceptor-binding>
+    </assembly-descriptor>
+</ejb-jar>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/persistence.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/persistence.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/META-INF/persistence.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
+             version="1.0">
+    <persistence-unit name="userDatabase">
+        <provider>org.hibernate.ejb.HibernatePersistence</provider>
+        <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
+        <properties>
+            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+            <property name="hibernate.show_sql" value="true"/>
+            <property name="jboss.entity.manager.factory.jndi.name" 
+                      value="java:/seampdfEntityManagerFactory"/>
+        </properties>
+    </persistence-unit>
+</persistence>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-ejb/src/main/resources/seam.properties	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1 @@
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>itext</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+    <artifactId>itext-tests</artifactId>
+    <name>Itext Integration Tests Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+            <artifactId>itext-ejb</artifactId>
+            <type>ejb</type>
+            <scope>test</scope>
+        </dependency>        
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>test</scope>
+        </dependency>        
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.spec.javax.faces</groupId>
+            <artifactId>jboss-jsf-api_2.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.seleniumhq.selenium.server</groupId>
+            <artifactId>selenium-server</artifactId>
+            <classifier>standalone</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+            <artifactId>selenium-java-client-driver</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>functional-tests</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-pdf</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext-rtf</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext-rtf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jfree</groupId>
+            <artifactId>jfreechart</artifactId>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>ftest-jbossas</id>
+            <properties>
+                <example.context.path>seam-itext</example.context.path>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>selenium-maven-plugin</artifactId>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>failsafe-maven-plugin</artifactId>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>ftest-tomcat</id>
+            <properties>
+                <example.context.path>jboss-seam-itext</example.context.path>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>selenium-maven-plugin</artifactId>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>failsafe-maven-plugin</artifactId>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    
+</project>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,84 @@
+package org.jboss.seam.example.itext.test;
+
+import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.core.Conversation;
+import org.jboss.seam.document.ByteArrayDocumentData;
+import org.jboss.seam.document.DocumentData;
+import org.jboss.seam.document.DocumentStore;
+import org.jboss.seam.mock.SeamTest;
+import org.jboss.seam.pdf.ui.UIDocument;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * This is just a placeholder until I can find a way to actually test the UI
+ * components.
+ */
+ at Ignore
+public class DocumentTests extends SeamTest
+{
+   @Test
+   public void documentStore() throws Exception
+   {
+      String conversationId = new FacesRequest("/whyseam.xhtml")
+      {
+
+         @Override
+         protected void invokeApplication() throws Exception
+         {
+            Conversation.instance().begin();
+
+            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+            String docId = store.newId();
+
+            Contexts.getSessionContext().set("docId", docId);
+
+            DocumentData documentData = new ByteArrayDocumentData("base", UIDocument.PDF, new byte[100]);
+            store.saveData(docId, documentData);
+         }
+
+         @Override
+         protected void renderResponse() throws Exception
+         {
+            String docId = (String) getValue("#{docId}");
+            assert docId != null;
+
+            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+            assert store.idIsValid(docId);
+
+         }
+      }.run();
+
+      // different conversation
+      new FacesRequest("/whyseam.xhtml")
+      {
+         @Override
+         protected void renderResponse() throws Exception
+         {
+            String docId = (String) getValue("#{docId}");
+            assert docId != null;
+
+            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+            assert !store.idIsValid(docId);
+         }
+      }.run();
+
+      new FacesRequest("/whyseam.xhtml", conversationId)
+      {
+         @Override
+         protected void renderResponse() throws Exception
+         {
+            String docId = (String) getValue("#{docId}");
+            assert docId != null;
+
+            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+            assert store.idIsValid(docId);
+
+            ByteArrayDocumentData data = (ByteArrayDocumentData)store.getDocumentData(docId);
+            assert data.getDocumentType().equals(UIDocument.PDF);
+            assert data.getData().length == 100;
+         }
+      }.run();
+   }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/selenium/SeleniumItextTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/selenium/SeleniumItextTest.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/selenium/SeleniumItextTest.java	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,27 @@
+package org.jboss.seam.example.itext.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import static org.testng.AssertJUnit.assertEquals;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+public class SeleniumItextTest extends SeamSeleniumTest
+{
+   public static final String HOME_PAGE = "/index.seam";
+   public static final String HOME_PAGE_TITLE = "Seam PDF";
+   
+   @BeforeMethod
+   @Override
+   public void setUp() {
+      super.setUp();
+      browser.open(CONTEXT_PATH + HOME_PAGE);
+   }
+   
+   /**
+    * Place holder - just verifies that example deploys
+    */
+   @Test
+   public void homePageLoadTest() {
+      assertEquals("Unexpected page title.", HOME_PAGE_TITLE, browser.getTitle());
+   }
+}

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/WEB-INF/components.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,24 @@
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:pdf="http://jboss.com/products/seam/pdf"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:framework="http://jboss.com/products/seam/framework"
+            xmlns:web="http://jboss.com/products/seam/web"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.3.xsd 
+                                http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.3.xsd
+                                http://jboss.com/products/seam/pdf http://jboss.com/products/seam/pdf-2.3.xsd   
+                                http://jboss.com/products/seam/web  /Users/orb/proj/jboss/seam/trunk/src/main/org/jboss/seam/web-2.3.xsd  
+                                http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.3.xsd">
+
+    <component name="org.jboss.seam.document.documentStore"> 
+        <property name="useExtensions">true</property>
+        <property name="errorPage">/pdfMissing.seam</property>
+    </component>
+
+    <pdf:key-store-config key-store="pdf.keystore"
+                          key-store-password="storepass"
+                          key-password="keypass"
+                          key-alias="pdfKey" />
+
+    <core:init debug="true" jndi-pattern="java:app/itext-ejb/#{ejbName}" />
+</components>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources/seam.properties	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,3 @@
+#debug is explicitly disabled in test to avoid JBIDE-3623
+#Thu Dec 31 16:24:37 CET 2009
+org.jboss.seam.core.init.debug=false

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/testng.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,26 @@
+
+	<!--
+		JBoss, Home of Professional Open Source Copyright 2008, Red Hat
+		Middleware LLC, and individual contributors by the @authors tag. See
+		the copyright.txt in the distribution for a full listing of individual
+		contributors. This is free software; you can redistribute it and/or
+		modify it under the terms of the GNU Lesser General Public License as
+		published by the Free Software Foundation; either version 2.1 of the
+		License, or (at your option) any later version. This software is
+		distributed in the hope that it will be useful, but WITHOUT ANY
+		WARRANTY; without even the implied warranty of MERCHANTABILITY or
+		FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+		License for more details. You should have received a copy of the GNU
+		Lesser General Public License along with this software; if not, write
+		to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+		Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+	--> 
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Itext example" verbose="2" parallel="false">
+	<test name="itext_tests">
+		<parameter name="PROPERTY_FILE" value="" />
+		<classes>
+			<class name="org.jboss.seam.example.itext.test.selenium.SeleniumItextTest" />
+		</classes>
+	</test>
+</suite>


Property changes on: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-ftest/testng.xml
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/testng.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,10 @@
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+
+<suite name="itext" verbose="2" parallel="false">
+	<test name="pdf tests">
+		<classes>
+			<class
+				name="org.jboss.seam.example.itext.test.DocumentTests" />
+		</classes>
+	</test>
+</suite>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/pom.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>itext</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+    <artifactId>itext-web</artifactId>
+    <packaging>war</packaging>
+    <name>Itext Web Module (EE6)</name>
+
+    <properties>
+        <!-- filtering property for components.xml -->
+        <jndiPattern>java:app/itext-ejb/#{ejbName}</jndiPattern>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+            <artifactId>itext-ejb</artifactId>
+            <type>ejb</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-ui</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.jboss.seam</groupId>
+                    <artifactId>jboss-seam-jul</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-beanutils</groupId>
+                    <artifactId>commons-beanutils</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-collections</groupId>
+                    <artifactId>commons-collections</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-debug</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.richfaces.ui</groupId>
+            <artifactId>richfaces-components-ui</artifactId>
+        </dependency>  
+        <dependency>
+            <groupId>org.richfaces.core</groupId>
+            <artifactId>richfaces-core-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.richfaces.core</groupId>
+            <artifactId>richfaces-core-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-pdf</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext-rtf</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <nonFilteredFileExtensions>
+                        <!-- default value contains jpg,jpeg,gif,bmp,png -->
+                        <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
+                    </nonFilteredFileExtensions>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/webapp</directory>
+                            <filtering>true</filtering>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>tomcat</id>
+            <properties>
+                <!-- filtering property for components.xml -->
+                <jndiPattern>java:app/itext-ejb/#{ejbName}</jndiPattern>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                    <artifactId>itext-ejb</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.jboss.seam</groupId>
+                    <artifactId>jboss-seam</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>com.thoughtworks.xstream</groupId>
+                            <artifactId>xstream</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>xpp3</groupId>
+                            <artifactId>xpp3_min</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-impl</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>jstl</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>commons-beanutils</groupId>
+                    <artifactId>commons-beanutils</artifactId>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>commons-collections</groupId>
+                            <artifactId>commons-collections</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>commons-logging</groupId>
+                            <artifactId>commons-logging</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>commons-digester</groupId>
+                    <artifactId>commons-digester</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext-rtf</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>com.lowagie</groupId>
+                    <artifactId>itext</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>jfree</groupId>
+                    <artifactId>jfreechart</artifactId>
+                </dependency>
+                <dependency>
+                    <groupId>org.richfaces.core</groupId>
+                    <artifactId>richfaces-core-api</artifactId>
+                </dependency>
+            </dependencies>
+            <build>
+                <finalName>jboss-seam-itext</finalName>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/components.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,24 @@
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:pdf="http://jboss.com/products/seam/pdf"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:framework="http://jboss.com/products/seam/framework"
+            xmlns:web="http://jboss.com/products/seam/web"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.3.xsd 
+                                http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.3.xsd
+                                http://jboss.com/products/seam/pdf http://jboss.com/products/seam/pdf-2.3.xsd   
+                                http://jboss.com/products/seam/web  /Users/orb/proj/jboss/seam/trunk/src/main/org/jboss/seam/web-2.3.xsd  
+                                http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.3.xsd">
+
+    <component name="org.jboss.seam.document.documentStore"> 
+        <property name="useExtensions">true</property>
+        <property name="errorPage">/pdfMissing.seam</property>
+    </component>
+
+    <pdf:key-store-config key-store="pdf.keystore"
+                          key-store-password="storepass"
+                          key-password="keypass"
+                          key-alias="pdfKey" />
+
+    <core:init debug="true" jndi-pattern="@jndiPattern@" />
+</components>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="2.1"
+              xmlns="http://java.sun.com/xml/ns/javaee"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
+</faces-config>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/pages.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/pages.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/pages.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.3.xsd">
+
+
+</pages>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/WEB-INF/web.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="3.0" 
+         xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+
+    <context-param>
+        <param-name>org.richfaces.SKIN</param-name>
+        <param-value>emeraldTown</param-value>
+    </context-param> 
+
+    <listener>
+        <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+    </listener>
+    
+    <filter>
+        <filter-name>Seam Filter</filter-name>
+        <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>Seam Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <context-param>
+      <param-name>org.richfaces.enableControlSkinning</param-name>
+      <param-value>false</param-value>
+    </context-param>
+    
+    <context-param>
+        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+        <param-value>.xhtml</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>facelets.DEVELOPMENT</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <servlet> 
+        <servlet-name>Seam Resource Servlet</servlet-name> 
+        <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class> 
+    </servlet> 
+
+    <servlet-mapping> 
+        <servlet-name>Seam Resource Servlet</servlet-name> 
+        <url-pattern>/seam/resource/*</url-pattern> 
+    </servlet-mapping> 
+
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.seam</url-pattern>
+    </servlet-mapping>
+
+    <servlet>
+        <servlet-name>Document Store Servlet</servlet-name>
+        <servlet-class>org.jboss.seam.document.DocumentStoreServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Document Store Servlet</servlet-name>
+        <url-pattern>*.pdf</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>10</session-timeout> 
+    </session-config>
+    
+</web-app>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/anchor.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/anchor.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/anchor.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,66 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <p:image alignment="right" value="/jboss.jpg" />
+
+    <p:font size="24"><p:paragraph>Ten Good Reasons To Use Seam</p:paragraph></p:font>
+
+    <p:list>
+        <p:listItem><p:anchor reference="#reason1">Reason 1</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason2">Reason 2</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason3">Reason 3</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason4">Reason 4</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason5">Reason 5</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason6">Reason 6</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason7">Reason 7</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason8">Reason 8</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason9">Reason 9</p:anchor></p:listItem>
+        <p:listItem><p:anchor reference="#reason10">Reason 10</p:anchor></p:listItem>
+    </p:list>
+
+
+    
+    <p:font size="18"><p:paragraph><p:anchor name="reason1">It's the quickest way to get "rich"</p:anchor></p:paragraph></p:font>
+
+    <p:paragraph alignment="justify">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+    <p:paragraph alignment="justify">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam 1.1 integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason2">It's the easiest way to get started with EJB 3.0</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+    <p:paragraph alignment="justify">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason3">It's the best way to leverage JSF</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+    <p:paragraph alignment="justify">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason4">And the easiest way to do BPM</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason5">But CRUD is easy too</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason6">It makes persistence a breeze</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason7">Annotations</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason8">Get hip to automated integration testing</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason9">Marry open source with open standards</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+
+    <p:font size="18"><p:paragraph><p:anchor name="reason10">It just works</p:anchor></p:paragraph></p:font>
+    <p:paragraph alignment="justify">You'll love it if you try it.</p:paragraph>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcode.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcode.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcode.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,38 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf" 
+            type="PDF" pageSize="A4"
+            title="barcode">
+    <p:header>
+        <p:paragraph>
+            Types of barcode supported in this release
+        </p:paragraph>
+    </p:header>
+    
+    <p:paragraph>Code128</p:paragraph>
+    <p:barCode type="code128" code="My BarCode" barColor="green" textColor="yellow" />
+
+    <p:paragraph>Code128 ucc</p:paragraph>
+    <p:barCode type="code128" code="(10)45566(17)040301" codeType="code128_ucc" textColor="blue" />
+    
+    <p:paragraph>Code39</p:paragraph>
+    <p:barCode type="code39" code="123456" />
+
+    
+    <p:paragraph>EAN</p:paragraph>
+    <p:barCode type="ean" code="4512345678906" />
+    
+
+    <p:paragraph>Codabar</p:paragraph>
+    <p:barCode type="codabar" code="A123456A" />
+    
+    <p:paragraph>Inter 2 of 5</p:paragraph>
+    <p:barCode type="inter25" code="1234567896543241" />
+    
+    <p:paragraph>PostNet</p:paragraph>
+    <p:barCode type="postnet" code="12345689" />
+    
+    <p:paragraph>Absolute Positioning:</p:paragraph>
+    <p:barCode type="code128" code="absolute" xpos="200" ypos="300" rotDegrees="45"/>
+
+</p:document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcodeimage.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcodeimage.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/barcodeimage.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,64 @@
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://jboss.com/products/seam/pdf"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+>
+<h:head>
+    <title>Seam PDF</title>
+</h:head>
+<h:body>
+    <table border="1">
+        <tr>
+            <th>Barcode Type</th>
+            <th>Value</th>
+            <th>Barcode</th>
+        </tr>
+
+        <tr>
+            <td>Code128</td>
+            <td>My BarCode</td>
+            <td><p:barCode type="code128" code="My BarCode" /></td>
+        </tr>
+
+        <tr>
+            <td>Code128/code128_ucc</td>
+            <td>(10)45566(17)040301</td>
+            <td><p:barCode type="code128" barHeight="80" textSize="20" code="(10)45566(17)040301" altText="alt" codeType="code128_ucc" /></td>
+        </tr>
+    
+        <tr>
+            <td>Code39</td>
+            <td>123456</td>
+            <td><p:barCode type="code39" code="123456" /></td>
+        </tr>
+
+        <tr>
+            <td>EAN</td>
+            <td>4512345678906</td>
+            <td><p:barCode type="ean" code="4512345678906" /></td>
+        </tr>
+
+        <tr>
+            <td>Codabar</td>
+            <td>A123456B</td>
+            <td><p:barCode type="codabar" code="A123456B" /></td>
+        </tr>
+    
+        <tr>
+            <td>Inter 2 of 5</td>
+            <td>1234567896543241</td>
+            <td><p:barCode type="inter25" code="1234567896543241" /></td>
+        </tr>
+    
+        <tr>
+            <td>postNet</td>
+            <td>123456789</td>
+            <td><p:barCode type="postnet" code="12345689" /></td>
+        </tr>
+    </table>
+</h:body>
+</h:html>
+
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chapters.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chapters.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chapters.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,112 @@
+<p:document xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <f:facet name="header">
+        <p:font size="12">
+            <p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center">Why Seam? [<p:pageNumber />]</p:footer>
+        </p:font>
+    </f:facet>
+
+    <p:paragraph spacingAfter="200" />
+
+    <p:image alignment="center" value="/jboss.jpg" />
+
+    <p:font size="24"><p:paragraph spacingBefore="100" alignment="center">Ten Good Reasons To Use Seam</p:paragraph></p:font>
+    
+    <p:chapter number="1" numberDepth="0">
+        <p:title>
+            <p:font size="18"><p:paragraph>Chapter without number</p:paragraph></p:font>
+        </p:title>
+
+        <p:paragraph alignment="justify" spacingBefore="5">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+        
+    </p:chapter>
+
+    <p:chapter number="1">
+        <p:title>
+            <p:font size="18"><p:paragraph>It's the quickest way to get "rich"</p:paragraph></p:font>
+        </p:title>
+
+        <p:paragraph alignment="justify" spacingBefore="5">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+        <p:paragraph alignment="justify" spacingBefore="5">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+		<p:paragraph alignment="justify" spacingBefore="5">Seam integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>	
+        
+    </p:chapter>
+
+
+    <p:chapter number="2">
+        <p:title>
+            <p:font size="18"><p:paragraph>It's the easiest way to get started with EJB 3.0 </p:paragraph></p:font>
+        </p:title>
+
+        <p:paragraph alignment="justify" spacingBefore="5">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+        <p:paragraph alignment="justify" spacingBefore="5">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+        <p:paragraph alignment="justify" spacingBefore="5">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="3">
+        <p:title>
+            <p:font size="18"><p:paragraph>It's the best way to leverage JSF </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+        <p:paragraph alignment="justify" spacingBefore="5">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="4">
+        <p:title>
+            <p:font size="18"><p:paragraph>And the easiest way to do BPM </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+        
+        <p:paragraph alignment="justify" spacingBefore="5">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="5">
+        <p:title>
+            <p:font size="18"><p:paragraph>But CRUD is easy too </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="6">
+        <p:title>
+            <p:font size="18"><p:paragraph>It makes persistence a breeze </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="7">
+        <p:title>
+            <p:font size="18"><p:paragraph>Annotations </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="8">
+        <p:title>
+            <p:font size="18"><p:paragraph>Get hip to automated integration testing </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="9">
+        <p:title>
+            <p:font size="18"><p:paragraph>Marry open source with open standards </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+    </p:chapter>
+
+    <p:chapter number="10">
+        <p:title>
+            <p:font size="18"><p:paragraph>It just works </p:paragraph></p:font>
+        </p:title>
+        <p:paragraph alignment="justify" spacingBefore="5">You'll love it if you try it.</p:paragraph>
+    </p:chapter>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chart.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chart.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chart.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,126 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            xmlns:s="http://jboss.com/products/seam/taglib">
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font id="test" size="24"><p:paragraph spacingAfter="50">Chart</p:paragraph></p:font>  
+
+    <p:stroke id="dot1" width="2" cap="round" join="bevel" dash="1 2 3 4" />
+    <p:stroke id="dot2" width="2" cap="round" join="bevel" dash="2 3" />
+
+    <p:color id="foo" color="#0ff00f"/>
+    <p:color id="bar" color="#ff00ff" color2="#00ff00" point="50 50" point2="300 300"/>
+
+    <p:timeserieschart dataset="#{chartseries.dataset}" title="Time Series Chart"
+                       domainAxisLabel="Domain" rangeAxisLabel="Range" foo="bar">
+        <p:series key="foo" />
+    </p:timeserieschart>		     
+
+    <p:piechart title="Pie Chart" width="500" height="500" legend="true" 
+               borderBackgroundPaint="#ffffff" borderStroke="dot1" borderPaint="blue" borderVisible="false"
+               plotBackgroundPaint="#ffffff"  plotBackgroundAlpha="1" plotForegroundAlpha="1"
+               plotOutlinePaint="blue" plotOutlineStroke="dot1"
+               labelBackgroundPaint="gray"  labelPaint="white" labelLinkStroke="dot2"
+               direction="anticlockwise" >
+        <ui:repeat value="#{data.pieData}" var="item">
+            <p:data key="#{item.name}" value="#{item.value}" sectionPaint="#777777" sectionOutlineStroke="dot2" />
+        </ui:repeat>
+        <p:data key="foo" value="20" explodedPercent=".2" sectionPaint="#111111" />
+        <p:data key="bar" value="20" explodedPercent=".3" sectionPaint="#333333" />
+        <p:data key="baz" value="20" sectionPaint="#555555" sectionOutlineStroke="dot2" />
+    </p:piechart>
+
+    <p:piechart title="3d Pie Chart" width="500" height="500" legend="true" is3D="true" backgroundPaint="bar"
+                plotForegroundAlpha=".2">
+        <ui:repeat value="#{data.pieData}" var="item">
+            <p:data key="#{item.name}" value="#{item.value}" />
+        </ui:repeat>
+    </p:piechart>
+
+    <p:barchart title="Bar Chart" width="500" height="500" orientation="vertical" legend="true">
+        <p:series key="data1" seriesPaint="blue" seriesStroke="dot2"
+                  seriesFillPaint="red" seriesVisibleInLegend="true"
+                  seriesOutlinePaint="pink" seriesOutlineStroke="dot1">
+            
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value}" />
+            </ui:repeat>
+        </p:series>
+        <p:series key="data2" seriesPaint="green"  seriesStroke="dot2">
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value+10}" />
+            </ui:repeat>
+        </p:series>
+    </p:barchart>
+
+    <p:barchart title="Bar Chart3D" width="500" height="500" orientation="vertical" is3D="true" legend="true">
+        <p:series key="data1" seriesPaint="blue" seriesStroke="dot2"
+                  seriesFillPaint="red" seriesVisibleInLegend="true"
+                  seriesOutlinePaint="pink" seriesOutlineStroke="dot1">
+            
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value}" />
+            </ui:repeat>
+        </p:series>
+        <p:series key="data2" seriesPaint="green"  seriesStroke="dot2">
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value-10}" />
+            </ui:repeat>
+        </p:series>
+    </p:barchart>
+
+
+    <p:linechart title="Line Chart3D" width="500" height="500"
+                 is3D="true" legend="true"
+                 domainAxisLabel="domain" rangeAxisLabel="range" foo="bar">
+
+        <p:series key="data1" seriesPaint="bar"  seriesStroke="dot2">
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value}" />
+            </ui:repeat>
+            <p:data key="foo" value="75.1" />
+        </p:series>
+
+        <p:series key="data2" seriesPaint="green"  seriesStroke="dot2">
+            <p:data key="foo" value="75.1" />
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value+5}" />
+            </ui:repeat>
+        </p:series>
+
+        <p:series key="data3">
+            <p:data key="foo" value="10" />
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value+12}" />
+            </ui:repeat>
+        </p:series>
+
+    </p:linechart>
+
+    <p:linechart title="Line Chart" width="500" height="500"
+                 is3D="false" legend="true"
+                 domainAxisLabel="domain" rangeAxisLabel="range" foo="bar">
+
+        <p:series key="data1" seriesPaint="green"  seriesStroke="dot2">
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value}" />
+            </ui:repeat>
+            <p:data key="foo" value="75.1" />
+        </p:series>
+
+        <p:series key="data2" seriesPaint="bar"  seriesStroke="dot2">
+            <p:data key="foo" value="75.1" />
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}"  value="#{item.value+5}" />
+            </ui:repeat>
+        </p:series>
+
+        <p:series key="data3">
+            <p:data key="foo" value="10" />
+            <ui:repeat value="#{data.pieData}" var="item">
+                <p:data key="#{item.name}" value="#{item.value+6}" />
+            </ui:repeat>
+        </p:series>
+
+    </p:linechart>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chartimage.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chartimage.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/chartimage.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,330 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://jboss.com/products/seam/pdf"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:rich="http://richfaces.org/rich"
+      xmlns:a="http://richfaces.org/a4j">
+<h:head>
+    <title>Seam PDF</title>
+</h:head>
+<h:body>
+    <p:stroke id="solid-thin"  width="1" cap="round" join="bevel" dash="1" />
+    <p:stroke id="solid-thick" width="4" cap="round" join="bevel" dash="1" />
+    <p:stroke id="dot1"  width="2" cap="round" join="bevel" dash="3 3" />
+    <p:stroke id="dot2"  width="2" cap="round" join="bevel" dash="2 4" />
+
+    <rich:panel>
+        <f:facet name="header">HTML Chart Demo</f:facet>
+
+        <a:outputPanel id="chart">
+            <p:barchart title="#{chart.title}"  orientation="#{chart.orientation}"
+                        is3D="#{chart.is3d}"   legend="#{chart.legend}" 
+                        width="#{chart.width}" height="#{chart.height}" 
+                        domainAxisLabel="#{chart.domainAxisLabel}"
+                        domainAxisPaint="#{chart.domainAxisPaint}"
+                        domainGridlinesVisible="#{chart.domainGridlinesVisible}"
+                        domainGridlinePaint="#{chart.domainGridlinePaint}"
+                        domainGridlineStroke="#{chart.domainGridlineStroke}"
+                        rangeAxisLabel="#{chart.rangeAxisLabel}"
+                        rangeAxisPaint="#{chart.rangeAxisPaint}"
+                        rangeGridlinesVisible="#{chart.rangeGridlinesVisible}"
+                        rangeGridlinePaint="#{chart.rangeGridlinePaint}"
+                        rangeGridlineStroke="#{chart.rangeGridlineStroke}"
+                        borderVisible="#{chart.borderVisible}"
+                        borderPaint="#{chart.borderPaint}"
+                        borderBackgroundPaint="#{chart.borderBackgroundPaint}"
+                        borderStroke="#{chart.borderStroke}"
+                        plotOutlinePaint="#{chart.plotOutlinePaint}"
+                        plotOutlineStroke="#{chart.plotOutlineStroke}"
+                        plotBackgroundPaint="#{chart.plotBackgroundPaint}"
+                        plotForegroundAlpha="#{chart.plotForegroundAlpha}"
+                        plotBackgroundAlpha="#{chart.plotBackgroundAlpha}"
+                        legendItemPaint="#{chart.legendItemPaint}"
+                        legendBackgroundPaint="#{chart.legendBackgroundPaint}"
+                        titlePaint="#{chart.titlePaint}"
+                        titleBackgroundPaint="#{chart.titleBackgroundPaint}">
+                
+                <ui:repeat value="#{chart.data}" var="dataset">
+                    <p:series key="#{dataset.id}" 
+                              seriesVisible="#{dataset.visible}"
+                              seriesVisibleInLegend="#{dataset.visibleInLegend}"
+                              seriesPaint="#{dataset.seriesPaint}"
+                              seriesFillPaint="#{dataset.seriesFillPaint}" 
+                              seriesStroke="#{dataset.seriesStroke}"
+                              seriesOutlinePaint="#{dataset.seriesOutlinePaint}" 
+                              seriesOutlineStroke="#{dataset.seriesOutlineStroke}">
+                        
+                        <ui:repeat value="#{chart.categories}" var="category">
+                            <p:data key="#{category}" value="#{dataset.values[category]}" />
+                        </ui:repeat>
+                    </p:series>
+                </ui:repeat>
+            </p:barchart>
+        </a:outputPanel>
+    </rich:panel>
+    <h:form>
+        <rich:tabPanel switchType="ajax">
+            <rich:tab label="Title">
+                Label:
+                <h:inputText value="#{chart.title}">
+                    <a:ajax event="change" render="chart" />
+                </h:inputText>
+                <br />
+
+                Title Foreground:
+                <h:selectOneMenu value="#{chart.titlePaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                <br />
+
+                Title Background:
+                <h:selectOneMenu value="#{chart.titleBackgroundPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+            </rich:tab>
+            <rich:tab label="Style">
+                3D: 
+                <h:selectBooleanCheckbox value="#{chart.is3d}">
+                    <a:ajax event="change" render="chart" />
+                </h:selectBooleanCheckbox>
+                Orientation:
+                <h:selectOneMenu value="#{chart.orientation}">             
+                    <f:selectItem  itemValue="horizontal" itemLabel="horizontal"/>  
+                    <f:selectItem  itemValue="vertical" itemLabel="vertical" />  
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu>         
+                
+                <br />
+                
+                Height: <h:inputText value="#{chart.height}" /> 
+                Width: <h:inputText value="#{chart.width}" /> <br />
+            </rich:tab>
+            <rich:tab label="Domain">
+                Domain: <h:inputText value="#{chart.domainAxisLabel}">
+                <a:ajax event="change" render="chart" />
+            </h:inputText>
+            <h:selectOneMenu value="#{chart.domainAxisPaint}">
+                <s:selectItems value="#{colors}" var="i" label="#{i}"
+                               noSelectionLabel="Default ... "/> 
+                <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> <br />
+                Gridline:
+                <h:selectBooleanCheckbox value="#{chart.domainGridlinesVisible}">
+                    <a:ajax event="change" render="chart" />
+                </h:selectBooleanCheckbox>
+                <h:selectOneMenu value="#{chart.domainGridlinePaint}">
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu>
+                <h:selectOneMenu value="#{chart.domainGridlineStroke}">
+                    <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+            </rich:tab>
+            <rich:tab label="Range">
+                Range:<h:inputText value="#{chart.rangeAxisLabel}" />  
+                <h:selectOneMenu value="#{chart.rangeAxisPaint}">
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                    </h:selectOneMenu> <br />
+                    Gridline:
+                    <h:selectBooleanCheckbox value="#{chart.rangeGridlinesVisible}">
+                        <a:ajax event="change" render="chart" />
+                    </h:selectBooleanCheckbox>
+                    <h:selectOneMenu value="#{chart.rangeGridlinePaint}">             
+                        <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                       noSelectionLabel="Default ... "/> 
+                        <a:ajax event="change" render="chart" />
+                    </h:selectOneMenu> 
+                    <h:selectOneMenu value="#{chart.rangeGridlineStroke}">
+            <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+            <a:ajax event="change" render="chart" />
+                    </h:selectOneMenu> 
+            </rich:tab>
+            <rich:tab label="Plot">
+                Background:
+                <h:selectOneMenu value="#{chart.plotBackgroundPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+                Outline:
+                <h:selectOneMenu value="#{chart.plotOutlinePaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu>
+                <h:selectOneMenu value="#{chart.plotOutlineStroke}">
+                    <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu>
+                <br />
+                    
+                
+                Foreground Alpha: 
+                <rich:inputNumberSlider value="#{chart.plotForegroundAlpha}" 
+                                        maxValue="1"
+                                        step=".1">
+                    <a:ajax event="change" render="chart" />
+                </rich:inputNumberSlider>
+                
+                Background Alpha: 
+                <rich:inputNumberSlider value="#{chart.plotBackgroundAlpha}" 
+                                        maxValue="1"
+                                        step=".1">
+                    <a:ajax event="change" render="chart" />
+                </rich:inputNumberSlider>
+            </rich:tab>
+            <rich:tab label="Border">
+                Border: 
+                <h:selectBooleanCheckbox value="#{chart.borderVisible}">
+                    <a:ajax event="change" render="chart" />
+                </h:selectBooleanCheckbox>
+                <h:selectOneMenu value="#{chart.borderPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+                <h:selectOneMenu value="#{chart.borderStroke}">
+                    <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+                Background: 
+                <h:selectOneMenu value="#{chart.borderBackgroundPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu>
+            </rich:tab>
+            <rich:tab label="Legend">
+                Show Legend: 
+                <rich:dataTable value="#{chart.data}" var="dataset">
+                    <f:facet name="header">
+                        <rich:columnGroup>
+                            <rich:column>Default</rich:column>
+                            <rich:column>
+                                <h:selectBooleanCheckbox value="#{chart.legend}">
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectBooleanCheckbox>
+                            </rich:column>
+                        </rich:columnGroup>
+                    </f:facet>
+                    <rich:column>#{dataset.id}</rich:column>
+                    <rich:column>
+                        <h:selectBooleanCheckbox value="#{dataset.visibleInLegend}">
+                            <a:ajax event="change" render="chart" />
+                        </h:selectBooleanCheckbox>
+                    </rich:column>
+                </rich:dataTable>
+
+
+                Foreground Color:
+                <h:selectOneMenu value="#{chart.legendItemPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+                Background Color:
+                <h:selectOneMenu value="#{chart.legendBackgroundPaint}">             
+                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                   noSelectionLabel="Default ... "/> 
+                    <a:ajax event="change" render="chart" />
+                </h:selectOneMenu> 
+                
+            </rich:tab>
+            <rich:tab label="Data">
+                <table class="dr-table rich-table" border="0" cellpadding="0" cellspacing="0">
+                    <thead>
+                        <tr class="dr-table-header rich-table-header">
+                            <td class="dr-table-headercell rich-table-headercell">Series Name</td>
+                            <ui:repeat value="#{chart.categories}" var="category">
+                                <td class="dr-table-headercell rich-table-headercell">
+                                    #{category}
+                                </td>
+                            </ui:repeat>
+                            <td class="dr-table-headercell rich-table-headercell">Visible</td>
+                            <td class="dr-table-headercell rich-table-headercell">Style</td>
+                            <td class="dr-table-headercell rich-table-headercell">Outline</td>
+                        </tr>
+                    </thead>
+
+                    <ui:repeat value="#{chart.data}" var="dataset">
+                        <tr class="dr-table-row rich-table-row">
+                            <td class="dr-table-cell rich-table-cell">
+                                <h:inputText value="#{dataset.id}">
+                                    <a:ajax event="change" render="chart" />
+                                </h:inputText>
+                            </td>
+                            <ui:repeat value="#{chart.categories}" var="category">
+                                <td class="dr-table-cell rich-table-cell">
+                                    <rich:inputNumberSpinner value="#{dataset.values[category]}">
+                                        <a:ajax event="change" render="chart" />
+                                    </rich:inputNumberSpinner>
+                                </td>
+                            </ui:repeat>
+
+                            <td class="dr-table-cell rich-table-cell">
+                                <h:selectBooleanCheckbox value="#{dataset.visible}">
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectBooleanCheckbox>
+                            </td>
+
+                            <td class="dr-table-cell rich-table-cell">
+                                <h:selectOneMenu value="#{dataset.seriesPaint}">             
+                                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                                   noSelectionLabel="Default ... "/> 
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectOneMenu> 
+                                
+                                <h:selectOneMenu value="#{dataset.seriesStroke}">
+                                    <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectOneMenu> 
+
+                                <ui:remove>
+                                <h:selectOneMenu value="#{dataset.seriesFillPaint}">             
+                                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                                   noSelectionLabel="Fill ... "/> 
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectOneMenu> 
+                                </ui:remove>
+
+                            </td>
+                            <td class="dr-table-cell rich-table-cell">
+                                <h:selectOneMenu value="#{dataset.seriesOutlinePaint}">             
+                                    <s:selectItems value="#{colors}" var="i" label="#{i}"
+                                                   noSelectionLabel="Default ... "/> 
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectOneMenu>             
+                                <h:selectOneMenu value="#{dataset.seriesOutlineStroke}">
+                                    <s:selectItems value="#{strokes}" var="i" label="#{i}" noSelectionLabel="Default..." />
+                                    <a:ajax event="change" render="chart" />
+                                </h:selectOneMenu> 
+                            </td>
+                        </tr>
+                    </ui:repeat>
+                </table>
+                
+                <h:commandButton action="#{chart.newSeries}"   value="Add New Series" />
+                <h:commandButton action="#{chart.newCategory}" value="Add New Category" />
+            </rich:tab>
+        </rich:tabPanel>
+    </h:form>
+</h:body>
+</h:html>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/customchart.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/customchart.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/customchart.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:p="http://jboss.com/products/seam/pdf"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:rich="http://richfaces.org/rich"
+      xmlns:a="http://richfaces.org/a4j">
+<h:head>
+    <title>Seam PDF</title>
+</h:head>
+<h:body>
+    <ui:remove>
+    <p:timeserieschart dataset="#{chartseries.dataset}" title="monkeys"
+                       domainAxisLabel="Do-main" rangeAxisLabel="Range" foo="bar">
+        <p:series key="foo" />
+    </p:timeserieschart>
+    </ui:remove>
+	
+    <p:barchart dataset="#{jfree.dataset}" /> 
+    <p:barchart chart="#{jfree.chart}" />
+    <p:chart title="p:chart" chart="#{jfree.chart}" />
+</h:body>
+</h:html>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/fillform.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/fillform.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/fillform.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core">
+
+<h:head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+    <title>Seam PDF Fill-in-forms</title>
+    <ui:remove><link href="screen.css" rel="stylesheet" type="text/css" /></ui:remove>
+</h:head>
+<h:body>      
+	<h:form>
+		<h:messages globalOnly="true" styleClass="message" />
+		<h:panelGrid columns="2">
+			<h:outputText value="Your name:" />
+			<h:inputText value="#{fillInForms.name}" />
+			<h:outputText value="Your home address" />
+			<h:inputText value="#{fillInForms.address}" />
+			<h:outputText value="Postal code:" />
+			<h:inputText value="#{fillInForms.postalCode}" />
+			<h:outputText value="Your email address:" />
+			<h:inputText value="#{fillInForms.email}" />
+			<h:outputText value="Programming skills:" />
+			<h:selectManyListbox value="#{fillInForms.programming}">
+				<f:selectItems value="#{fillInForms.programmingLanguages}" />
+			</h:selectManyListbox>
+			<h:outputText value="Mother tongue" />
+			<h:selectOneMenu value="#{fillInForms.language}">
+				<f:selectItems value="#{fillInForms.languages}" />
+			</h:selectOneMenu>
+			<h:outputText value="Preferred language" />
+			<h:selectOneRadio layout="pageDirection" value="#{fillInForms.preferred}">
+				<f:selectItems value="#{fillInForms.languages}" />
+			</h:selectOneRadio>
+			<h:outputText value="Knowledge of" />
+			<h:selectManyCheckbox layout="pageDirection" value="#{fillInForms.knowledge}">
+				<f:selectItems value="#{fillInForms.languages}" />
+			</h:selectManyCheckbox>
+			<h:commandButton value="Submit" action="#{fillInForms.submit}"/>
+		</h:panelGrid>
+	</h:form>
+	</h:body>
+</h:html>	
+		
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/font.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/font.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/font.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,68 @@
+<p:document xmlns:p="http://jboss.com/products/seam/pdf">
+    <p:font name="courier">
+        <p:font size="24"><p:paragraph>Courier</p:paragraph></p:font>
+        <p:paragraph>abcdefghijklmnopqrstuvwxyz</p:paragraph>
+        <p:paragraph>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p:paragraph>
+
+        <p:list>
+            <p:listItem><p:font style="bold">bold</p:font></p:listItem>
+            <p:listItem><p:font style="italic">italic</p:font></p:listItem>
+            <p:listItem><p:font style="oblique">oblique</p:font></p:listItem>
+            <p:listItem><p:font style="underline">underline</p:font></p:listItem>
+            <p:listItem><p:font style="line-through">line-through</p:font></p:listItem>
+            <p:listItem><p:font style="bold,italic,underline">bold,italic,underline</p:font></p:listItem>
+        </p:list>
+    </p:font>
+
+
+    <p:font name="helvetica">
+        <p:font size="24"><p:paragraph>Helvetica</p:paragraph></p:font>
+        <p:paragraph>abcdefghijklmnopqrstuvwxyz</p:paragraph>
+        <p:paragraph>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p:paragraph>
+
+        <p:list>
+            <p:listItem><p:font style="bold">bold</p:font></p:listItem>
+            <p:listItem><p:font style="italic">italic</p:font></p:listItem>
+            <p:listItem><p:font style="oblique">oblique</p:font></p:listItem>
+            <p:listItem><p:font style="underline">underline</p:font></p:listItem>
+            <p:listItem><p:font style="line-through">line-through</p:font></p:listItem>
+            <p:listItem><p:font style="bold,italic,underline">bold,italic,underline</p:font></p:listItem>
+        </p:list>
+    </p:font>
+
+    <p:font name="times-roman">
+        <p:font size="24"><p:paragraph>Times Roman</p:paragraph></p:font>
+        <p:paragraph>abcdefghijklmnopqrstuvwxyz</p:paragraph>
+        <p:paragraph>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p:paragraph>
+
+        <p:list>
+            <p:listItem><p:font style="bold">bold</p:font></p:listItem>
+            <p:listItem><p:font style="italic">italic</p:font></p:listItem>
+            <p:listItem><p:font style="oblique">oblique</p:font></p:listItem>
+            <p:listItem><p:font style="underline">underline</p:font></p:listItem>
+            <p:listItem><p:font style="line-through">line-through</p:font></p:listItem>
+            <p:listItem><p:font style="bold,italic,underline">bold,italic,underline</p:font></p:listItem>
+        </p:list>
+
+    </p:font>
+
+
+
+    <p:font size="24"><p:paragraph>International</p:paragraph></p:font>
+    <p:list>
+        <p:listItem>
+            <p:font name="STSong-Light" encoding="UniGB-UCS2-H">Chinese: #{phrases.chinese}</p:font>
+        </p:listItem>
+        <p:listItem>
+        </p:listItem>
+        <p:listItem>
+            <p:font name="KozMinPro-Regular" encoding="UniJIS-UCS2-H">Japanese: #{phrases.japanese}</p:font>
+        </p:listItem>
+        <p:listItem>
+            <p:font name="HYGoThic-Medium" encoding="UniKS-UCS2-H">Korean: #{phrases.korean}</p:font>
+        </p:listItem>
+    </p:list>
+
+
+
+</p:document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.pdf
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.pdf	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.pdf	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,126 @@
+%PDF-1.4
+%âãÏÓ
+10 0 obj<</Kids[11 0 R 12 0 R 13 0 R 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R]/T(person)>>
+endobj
+11 0 obj<</Ff 49152/Parent 10 0 R/FT/Btn/Kids[19 0 R 20 0 R 21 0 R]/T(preferred)>>
+endobj
+19 0 obj<</AS/EN/Parent 11 0 R/Type/Annot/Subtype/Widget/Rect[297.5 630 316.52 646]/DR<<>>/V/EN/AP<</N<</EN 2 0 R/Off 1 0 R>>>>>>
+endobj
+20 0 obj<</AS/Off/Parent 11 0 R/Type/Annot/Subtype/Widget/Rect[297.5 614 316.52 630]/DR<<>>/V/Off/AP<</N<</FR 2 0 R/Off 1 0 R>>>>>>
+endobj
+21 0 obj<</AS/Off/Parent 11 0 R/Type/Annot/Subtype/Widget/Rect[297.5 598 316.52 614]/DR<<>>/V/Off/AP<</N<</NL 2 0 R/Off 1 0 R>>>>>>
+endobj
+12 0 obj<</Parent 10 0 R/Kids[22 0 R 23 0 R 24 0 R]/T(knowledge)>>
+endobj
+22 0 obj<</AS/Off/Parent 12 0 R/Type/Annot/Subtype/Widget/Rect[297.5 582 316.52 598]/FT/Btn/DR<<>>/T(English)/V/Off/AP<</N<</Off 1 0 R/On 2 0 R>>>>>>
+endobj
+23 0 obj<</AS/Off/Parent 12 0 R/Type/Annot/Subtype/Widget/Rect[297.5 566 316.52 582]/FT/Btn/DR<<>>/T(French)/V/Off/AP<</N<</Off 1 0 R/On 2 0 R>>>>>>
+endobj
+24 0 obj<</AS/Off/Parent 12 0 R/Type/Annot/Subtype/Widget/Rect[297.5 550 316.52 566]/FT/Btn/DR<<>>/T(Dutch)/V/Off/AP<</N<</Off 1 0 R/On 2 0 R>>>>>>
+endobj
+13 0 obj<</Ff 0/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/T(name)/V()/AP<</N 3 0 R>>/Parent 10 0 R/BS<</W 1/S/S>>/FT/Tx/Rect[298.5 785 505.7 805]/DA(/Helv 12 Tf 0 g )>>
+endobj
+14 0 obj<</Ff 0/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/T(address)/V()/AP<</N 5 0 R>>/Parent 10 0 R/BS<</W 1/S/S>>/FT/Tx/Rect[298.5 763 505.7 783]/DA(/Helv 12 Tf 0 g )>>
+endobj
+15 0 obj<</Ff 0/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/T(postal_code)/V()/AP<</N 6 0 R>>/Parent 10 0 R/BS<</W 1/S/S>>/FT/Tx/Rect[298.5 741 505.7 761]/DA(/Helv 12 Tf 0 g )>>
+endobj
+16 0 obj<</Ff 0/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/T(email)/V()/AP<</N 7 0 R>>/Parent 10 0 R/BS<</W 1/S/S>>/FT/Tx/Rect[298.5 719 505.7 739]/DA(/Helv 12 Tf 0 g )>>
+endobj
+17 0 obj<</Ff 2097152/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/DV(JAVA)/T(programming)/V(JAVA)/AP<</N 8 0 R>>/Opt[[(JAVA)(Java)][(C)(C/C++)][(CS)(C#)][(VB)(VB)]]/Parent 10 0 R/BS<</W 1/S/S>>/FT/Ch/Rect[297.5 668 506.7 718]/DA(/Helv 9 Tf 0 g )>>
+endobj
+18 0 obj<</Ff 131072/F 4/Type/Annot/Subtype/Widget/DR<</Font<</Helv 4 0 R>>>>/DV(EN)/T(language)/V(EN)/AP<</N 9 0 R>>/Opt[[(EN)(English)][(FR)(French)][(NL)(Dutch)]]/Parent 10 0 R/BS<</W 1/S/S>>/FT/Ch/Rect[297.5 646 506.7 668]/DA(/Helv 9 Tf 0 g )>>
+endobj
+25 0 obj <</Length 393/Filter/FlateDecode>>stream
+xœ•”]o‚0†ïû+Îåv1ÖZË.—é’}$šq³K"ـƢñﯶšh¥]!<<=}9Ý ç¥æPTÃeömZ Ú؛›¯'öHˆ$…‰È€â<¡@)h‰¾ŽæóQ§rSÔ©Ž©êT"bj€Z•ódøZ
+Q§f<R5D­ÊòÓº™¸V㔧Hž`
+„ŸÓ”ð„Ñ#Ɖ	}ɏ6É¢¶ÅAû°³ˆíðˆíB3§‚F[Þ6çQÛâ°Í¢
+wøÂ^æŽ
+endstream
+endobj
+27 0 obj<</Parent 26 0 R/Contents 25 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 4 0 R>>>>/MediaBox[0 0 595 842]/Annots[19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 13 0 R 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R]>>
+endobj
+4 0 obj<</BaseFont/Helvetica/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
+endobj
+5 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 22/FormType 1/Filter/FlateDecode>>stream
+xœ+TTЩPpòuVpb
+endstream
+endobj
+6 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 22/FormType 1/Filter/FlateDecode>>stream
+xœ+TTЩPpòuVpb
+endstream
+endobj
+1 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/Subtype/Form/BBox[0 0 20 20]/Matrix [1 0 0 1 0 0]/Length 8/FormType 1/Filter/FlateDecode>>stream
+xœ
+endstream
+endobj
+9 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 85/FormType 1/Filter/FlateDecode>>stream
+xœ+TTЩPpòuV(T0B]#*JUWÈ
+9…
+®yé9™Åš!Y`¾kÐÈ@W 
+endstream
+endobj
+8 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 121/FormType 1/Filter/FlateDecode>>stream
+xœNÁ
+ƒ0û•·ÃjS»a¯Š0;vö q‚dŸ¿”<$y!;TöCûî°ƒÂ-”;&|°Á;_§ÄŒd#Ž¼?Ž\’¤‹%LÉåcVEkr¼@¨(¹º}Q=§õD‚ÍÒ3.¯ñ¯¶(–Ñ›6èµà°ÑÕ
+endstream
+endobj
+7 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 22/FormType 1/Filter/FlateDecode>>stream
+xœ+TTЩPpòuVpb
+endstream
+endobj
+3 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</Helv 4 0 R>>>>/Subtype/Form/BBox[0 0 0 0]/Matrix [1 0 0 1 0 0]/Length 22/FormType 1/Filter/FlateDecode>>stream
+xœ+TTЩPpòuVpb
+endstream
+endobj
+2 0 obj <</Type/XObject/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/Subtype/Form/BBox[0 0 20 20]/Matrix [1 0 0 1 0 0]/Length 26/FormType 1/Filter/FlateDecode>>stream
+xœ3P0PÈU02
+
+endstream
+endobj
+26 0 obj<</Type/Pages/Count 1/Kids[27 0 R]>>
+endobj
+28 0 obj<</Fields[10 0 R]/DA(/Helv 0 Tf 0 g )/DR<</Font<</Helv 4 0 R>>>>>>
+endobj
+29 0 obj<</Type/Catalog/AcroForm 28 0 R/Pages 26 0 R>>
+endobj
+30 0 obj<</Producer(iText 2.1.2u2 \(by lowagie.com\))/ModDate(D:20080525164253+02'00')/CreationDate(D:20080525164253+02'00')>>
+endobj
+xref
+0 31
+0000000000 65535 f 
+0000003730 00000 n 
+0000005055 00000 n 
+0000004816 00000 n 
+0000003165 00000 n 
+0000003252 00000 n 
+0000003491 00000 n 
+0000004577 00000 n 
+0000004238 00000 n 
+0000003936 00000 n 
+0000000015 00000 n 
+0000000107 00000 n 
+0000000612 00000 n 
+0000001154 00000 n 
+0000001345 00000 n 
+0000001539 00000 n 
+0000001737 00000 n 
+0000001929 00000 n 
+0000002197 00000 n 
+0000000197 00000 n 
+0000000334 00000 n 
+0000000473 00000 n 
+0000000686 00000 n 
+0000000843 00000 n 
+0000000999 00000 n 
+0000002453 00000 n 
+0000005280 00000 n 
+0000002914 00000 n 
+0000005332 00000 n 
+0000005414 00000 n 
+0000005476 00000 n 
+trailer
+<</Root 29 0 R/ID [<ae8c73db19e849787be486111b502ecc><6eb921975310bfe3f357a5cc656b98da>]/Info 30 0 R/Size 31>>
+startxref
+5610
+%%EOF

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/form.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,14 @@
+<p:form
+	xmlns:p="http://jboss.com/products/seam/pdf"
+	URL="/form.pdf">
+	<p:field name="person.name" value="#{fillInForms.name}"/>
+	<p:field name="person.address" value="#{fillInForms.address}"/>
+	<p:field name="person.postal_code" value="#{fillInForms.postalCode}"/>
+	<p:field name="person.email" value="#{fillInForms.email}"/>
+	<p:field name="person.programming" value="#{fillInForms.programming}" readOnly="false"/>
+	<p:field name="person.language" value="#{fillInForms.language}" readOnly="false"/>
+	<p:field name="person.preferred" value="#{fillInForms.preferred}" readOnly="false"/>
+	<p:field name="person.knowledge.English" value="#{fillInForms.knowsEnglish ? 'On' : 'Off'}" readOnly="false"/>
+	<p:field name="person.knowledge.French" value="#{fillInForms.knowsFrench ? 'On' : 'Off'}" readOnly="false"/>
+	<p:field name="person.knowledge.Dutch" value="#{fillInForms.knowsDutch ? 'On' : 'Off'}" readOnly="false"/>
+</p:form>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/format.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/format.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/format.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,54 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            title="Why Seam"
+            keywords="mykeyword"
+            subject="seam"
+            author="Seam Team"
+            creator="Seam PDF example app">
+
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingBefore="16" spacingAfter="40">Order #{currentOrder.orderId} </p:paragraph></p:font>  
+
+
+    <p:paragraph>Dear #{currentOrder.customerName},</p:paragraph>
+
+    <p:paragraph>
+Your order on <p:text value=" " /><p:text value="#{currentOrder.orderDate}"><f:convertDateTime type="date" dateStyle="short" /></p:text> has been processed and will ship shortly.  Your order number is #{currentOrder.orderId}.  If you have any questions, please see our <p:anchor reference="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=231"> support forums</p:anchor>.
+    </p:paragraph>
+
+    <p:table columns="2" width="3 1" widthPercentage="35" horizontalAlignment="right" spacingBefore="40">
+        <f:facet name="defaultCell">
+            <p:cell borderWidth="0" horizontalAlignment="right"/>
+        </f:facet>
+            
+        <p:cell colspan="2" borderWidth="0" horizontalAlignment="center">
+            <p:font size="24"><p:paragraph>Order Summary</p:paragraph></p:font>
+        </p:cell>
+
+        <p:cell><p:paragraph>Order Amount:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.baseAmount}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+        <p:cell><p:paragraph>Tax:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.tax}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+        <p:cell><p:paragraph>Total Amount:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.totalAmount}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+    </p:table>
+</p:document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/html.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/html.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/html.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,29 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:s="http://jboss.com/products/seam/taglib"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <p:paragraph>This is a regular paragraph.</p:paragraph>
+
+
+    <p:html value="This is HTML that is just plain text." />
+    <p:html value="This is HTML with &lt;b&gt;some markup&lt;/b&gt;." />
+
+    <p:html>
+        This is HTML with text with text in the <b>body</b>.
+    </p:html>
+
+
+    <p:html>
+        <h1>This is more complex HTML</h1>
+        <ul>
+            <li>one</li>
+            <li>two</li>
+            <li>three</li>
+        </ul>
+    </p:html>
+
+
+    <p:html>
+        <s:formattedText value="*This* /is/ |Seam Text| as HTML.  It's very^cool^." />
+    </p:html>
+</p:document>   

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/images.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/images.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/images.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,15 @@
+<p:document xmlns:p="http://jboss.com/products/seam/pdf"
+            xmlns:s="http://jboss.com/products/seam/taglib">
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingAfter="50">Dynamic Image</p:paragraph></p:font>  
+
+
+    <p:paragraph>Normal:</p:paragraph>
+    <p:image alignment="center" value="/jboss.jpg" />
+
+    <p:paragraph>Blur:</p:paragraph>
+    <p:image alignment="center" value="/jboss.jpg">
+           <s:transformImageBlur radius="3" />
+    </p:image>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.html	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=index.seam" />
+</head>
+</html>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/index.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core">
+
+<h:head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+    <title>Seam PDF</title>
+    <ui:remove><link href="screen.css" rel="stylesheet" type="text/css" /></ui:remove>
+</h:head>
+<h:body>      
+    <h1>Sample Documents:</h1>
+
+    <ul>
+        <li>
+            <s:link view="/whyseam.xhtml" value="Why Seam?" />  
+            [<s:link view="/pageSize.xhtml" value="letter">
+                <f:param name="pageSize" value="LETTER" />
+            </s:link>]
+            [<s:link view="/pageSize.xhtml" value="A4">
+                <f:param name="pageSize" value="A4" />
+            </s:link>]
+            [<s:link view="/pageSize.xhtml" value="legal">
+                <f:param name="pageSize" value="LEGAL" />
+            </s:link>]
+
+        </li>
+        <li><s:link view="/lists.xhtml"     value="PDF Lists" /></li>
+        <li><s:link view="/font.xhtml"      value="Font Selection" /></li>
+        <li><s:link view="/pages.xhtml"     value="Multiple Pages" /></li>
+        <li><s:link view="/chapters.xhtml"  value="Chapters" /></li>
+        <li><s:link view="/sections.xhtml"  value="Sections" /></li>
+        <li><s:link view="/table.xhtml"     value="Tables" /></li>
+        <li><s:link view="/nested.xhtml"    value="Nested Tables" /></li>
+        <li><s:link view="/html.xhtml"      value="HTML Conversion" /></li>
+        <li><s:link view="/chart.xhtml"     value="JFreeChart" />
+            [<s:link view="/chartimage.xhtml" value="HTML" />]
+        </li>
+        <li><s:link view="/anchor.xhtml"    value="Anchors" /></li>
+        <li><s:link view="/format.xhtml"    value="Text conversion and formatting" /></li>
+        <li><s:link view="/barcode.xhtml"   value="Bar Code" />
+            [<s:link view="/barcodeimage.xhtml" value="HTML" />]
+        </li>
+        <li><s:link view="/swing.xhtml"     value="Swing Component" /></li>
+        <li><s:link view="/fillform.xhtml"     value="Fill-in-forms" /></li>
+
+
+<ui:remove>
+        <li><s:link view="/images.xhtml" value="Dynamic Images" /></li>
+</ui:remove>
+<ui:remove>
+        <li><s:link view="/signature.xhtml" value="Signed Document" /></li>
+</ui:remove>
+    </ul>
+</h:body>
+</h:html>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/jboss.jpg
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/jboss.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/lists.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/lists.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/lists.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,69 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:s="http://jboss.com/products/seam/taglib"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingAfter="50">List examples</p:paragraph></p:font>  
+    
+    <p:paragraph>Basic list:</p:paragraph>
+    <p:list>
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Numbered:</p:paragraph>
+    <p:list style="numbered">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Lettered:</p:paragraph>
+    <p:list style="lettered">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Roman:</p:paragraph>
+    <p:list style="roman">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Greek:</p:paragraph>
+    <p:list style="greek">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Dingbats:</p:paragraph>
+    <p:list style="zapfdingbats" charNumber="51">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>Dingbats numeric:</p:paragraph>
+    <p:list style="zapfdingbats_number" numberType="0">
+        <ui:repeat value="#{lists.numbers}" var="item">
+            <p:listItem><p:font style="bold">#{item}</p:font>: This is some information...</p:listItem>
+        </ui:repeat>
+    </p:list>
+
+    <p:paragraph>SubLists:</p:paragraph>
+    <p:list>
+        <ui:repeat value="#{lists.daysOfWeek}" var="day">
+            <p:listItem>Things to do on #{day}
+                <p:list>
+                    <ui:repeat value="#{lists.numbers}" var="number">
+                        <p:listItem>Do thing #{number}</p:listItem>
+                    </ui:repeat>
+                </p:list>
+            </p:listItem>
+        </ui:repeat>
+    </p:list>
+</p:document>    

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/nested.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/nested.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/nested.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,60 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingAfter="50">Nested Tables</p:paragraph></p:font>  
+
+    <p:table spacingBefore="25" columns="1">
+        <f:facet name="defaultCell">
+            <p:cell borderWidthTop="0" />
+        </f:facet>
+
+        <p:cell borderWidthTop=".5f" grayFill=".7">
+            <p:paragraph alignment="center">Horizontal split using nested tables</p:paragraph>
+        </p:cell>
+
+        <p:cell>one</p:cell>
+        <p:cell paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0">
+            <p:table widthPercentage="100" columns="2">
+                <p:cell borderWidth="0">two</p:cell>
+                <p:cell borderWidth="0" borderWidthLeft=".5">three</p:cell>
+            </p:table>
+        </p:cell>
+
+        <p:cell paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0">
+            <p:table widthPercentage="100" columns="3">
+                <f:facet name="defaultCell">
+                    <p:cell borderWidth="0" borderWidthLeft=".5" />
+                </f:facet>
+                <p:cell borderWidthLeft="0">four</p:cell>
+                <p:cell>five</p:cell>
+                <p:cell>six</p:cell>
+            </p:table>
+        </p:cell>
+        <p:cell>seven</p:cell>
+    </p:table>
+
+    <p:table spacingBefore="25" columns="2" headerRows="1">
+        <p:cell borderWidthTop=".5f" colspan="2" grayFill=".7">
+            <p:paragraph alignment="center">Vertical split using nested tables</p:paragraph>
+        </p:cell>
+        
+        <p:cell borderWidthTop="0">one</p:cell>
+        <p:cell borderWidth="0" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0">
+            <p:table widthPercentage="100" columns="1">
+                <p:cell borderWidthTop="0">A</p:cell>
+                <p:cell borderWidthTop="0">B</p:cell>
+            </p:table>
+        </p:cell>
+
+        <p:cell borderWidthTop="0">two</p:cell>
+        <p:cell borderWidth="0" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0">
+            <p:table widthPercentage="100" columns="1">
+                <p:cell borderWidthTop="0">C</p:cell>
+                <p:cell borderWidthTop="0">D</p:cell>
+            </p:table>
+        </p:cell>
+    </p:table>
+</p:document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pageSize.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pageSize.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pageSize.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,58 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf" 
+            pageSize="#{param.pageSize}">
+
+    <f:facet name="header">
+        <p:font size="12">
+            <p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center">Why Seam? [<p:pageNumber />]</p:footer>
+        </p:font>
+    </f:facet>
+
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingAfter="50">Ten Good Reasons To Use Seam</p:paragraph></p:font>  
+
+    <p:font size="18"><p:paragraph>It's the quickest way to get "rich"</p:paragraph></p:font>
+
+    <p:paragraph alignment="justify">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+    <p:paragraph alignment="justify">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam 1.1 integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the easiest way to get started with EJB 3.0 </p:paragraph></p:font>
+    <p:paragraph alignment="justify">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+    <p:paragraph alignment="justify">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the best way to leverage JSF </p:paragraph></p:font>
+    <p:paragraph alignment="justify">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+    <p:paragraph alignment="justify">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>And the easiest way to do BPM </p:paragraph></p:font>
+    <p:paragraph alignment="justify">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>But CRUD is easy too </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It makes persistence a breeze </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Annotations </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Get hip to automated integration testing </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Marry open source with open standards </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It just works </p:paragraph></p:font>
+    <p:paragraph alignment="justify">You'll love it if you try it.</p:paragraph>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pages.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pages.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pages.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,21 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:s="http://jboss.com/products/seam/taglib"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <ui:repeat value="#{lists.numbers}" var="number">
+        <p:newPage />
+        <p:image alignment="right" value="/jboss.jpg" />
+        
+        <p:font family="Helvetica" size="36">
+            <p:paragraph alignment="center">Page #{number}</p:paragraph>
+        </p:font>
+
+        <p:font family="Helvetica">
+            <p:paragraph alignment="justify">JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM).</p:paragraph>
+
+            <p:paragraph alignment="justify">Seam has been designed from the ground up to eliminate complexity at the architecture and the API level. It enables developers to assemble complex web applications with simple annotated Plain Old Java Objects (POJOs), componentized UI widgets and very little XML. The simplicity of Seam 1.0 will enable easy integration with the JBoss Enterprise Service Bus (ESB) and Java Business Integration (JBI) in the future.</p:paragraph>
+        </p:font>
+
+    </ui:repeat>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pdfMissing.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pdfMissing.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/pdfMissing.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h:html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core">
+
+<h:head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+    <title>Seam PDF</title>
+    <ui:remove><link href="screen.css" rel="stylesheet" type="text/css" /></ui:remove>
+</h:head>
+<h:body>      
+    The PDF you are trying to view is no longer available.  
+</h:body>
+</h:html>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/sections.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/sections.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/sections.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,93 @@
+<p:document xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+    <p:chapter number="1">
+        <p:title>
+            <p:font size="18"><p:paragraph>Getting Started</p:paragraph></p:font>
+        </p:title>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+    </p:chapter>
+
+    <p:chapter number="2">
+        <p:title>
+            <p:font size="18"><p:paragraph>The Main Idea</p:paragraph></p:font>
+        </p:title>
+
+        <p:section> 
+            <p:title>
+                <p:font size="18"><p:paragraph>First Idea</p:paragraph></p:font>
+            </p:title>
+            <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+            <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+        </p:section>
+
+        <p:section>
+            <p:title>
+                <p:font size="18"><p:paragraph>Second Idea</p:paragraph></p:font>
+            </p:title>
+            <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+
+            <p:section numberDepth="0">
+                <p:title>
+                    <p:font size="18"><p:paragraph>!!!expanding on that ...</p:paragraph></p:font>
+                </p:title>
+
+                <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+                <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+            </p:section>
+
+            <p:section>
+                <p:title>
+                    <p:font size="18"><p:paragraph>and pontificating ...</p:paragraph></p:font>
+                </p:title>
+
+                <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+                <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+            </p:section>
+        </p:section>
+
+        <p:section> 
+            <p:title>
+                <p:font size="18"><p:paragraph>Third Idea</p:paragraph></p:font>
+            </p:title>
+            <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+            <p:paragraph alignment="justify" spacingBefore="5">Blah .... </p:paragraph>
+        </p:section>
+    </p:chapter>
+
+    <p:chapter number="3">
+        <p:title>
+            <p:font size="18"><p:paragraph>Conclusions</p:paragraph></p:font>
+        </p:title>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+        <p:section> 
+            <p:paragraph alignment="justify" spacingBefore="5">Section .... </p:paragraph>
+        </p:section>
+
+    </p:chapter>
+
+
+
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/signature.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/signature.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/signature.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,57 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            title="Why Seam"
+            keywords="mykeyword"
+            subject="seam"
+            author="Seam Team"
+            creator="Seam PDF example app">
+
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph spacingBefore="16" spacingAfter="40">Order #{currentOrder.orderId} </p:paragraph></p:font>  
+
+
+    <p:paragraph>Dear #{currentOrder.customerName},</p:paragraph>
+
+    <p:paragraph>
+Your order on <p:text value=" #{currentOrder.orderDate}"><f:convertDateTime style="date" format="short" /></p:text> has been processed and will ship shortly.  Your order number is #{currentOrder.orderId}.  If you have any questions, please see our <p:anchor reference="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=231"> support forums</p:anchor>.
+    </p:paragraph>
+
+    <p:table columns="2" width="3 1" widthPercentage="35" horizontalAlignment="right" spacingBefore="40">
+        <f:facet name="defaultCell">
+            <p:cell borderWidth="0" horizontalAlignment="right"/>
+        </f:facet>
+            
+        <p:cell colspan="2" borderWidth="0" horizontalAlignment="center">
+            <p:font size="24"><p:paragraph>Order Summary</p:paragraph></p:font>
+        </p:cell>
+
+        <p:cell><p:paragraph>Order Amount:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.baseAmount}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+        <p:cell><p:paragraph>Tax:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.tax}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+        <p:cell><p:paragraph>Total Amount:</p:paragraph></p:cell>
+        <p:cell>
+            <p:paragraph>
+                <p:text value="#{currentOrder.totalAmount}">
+                    <f:convertNumber type="currency" currencySymbol="$"/>
+                </p:text>
+            </p:paragraph>
+        </p:cell>
+    </p:table>
+
+    <p:signature field="My Signature" 
+                 size="200 200 400 400"  />
+</p:document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/swing.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/swing.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/swing.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,11 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:s="http://jboss.com/products/seam/taglib"
+            xmlns:p="http://jboss.com/products/seam/pdf">
+
+
+    <p:paragraph>Label 1:</p:paragraph>
+    <p:swing width="310"  height="120" component="#{swing.label1}" />
+
+    <p:paragraph>Label 2:</p:paragraph>
+    <p:swing width="310"  height="120" component="#{swing.label2}" />
+</p:document>   

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/table.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/table.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/table.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,46 @@
+<document xmlns:ui="http://java.sun.com/jsf/facelets" 
+          xmlns:f="http://java.sun.com/jsf/core"
+          xmlns="http://jboss.com/products/seam/pdf">
+
+    <image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <font size="24"><paragraph spacingAfter="50">Table Test</paragraph></font>  
+
+    <table columns="4">
+        <f:facet name="defaultCell">
+            <cell horizontalAlignment="center" verticalAlignment="middle" />
+        </f:facet>
+        <cell backgroundColor="yellow" colspan="2"><paragraph>cell 1</paragraph></cell>
+        <cell><paragraph>cell 2</paragraph></cell>
+        <cell><paragraph>cell 3</paragraph></cell>
+        <cell><paragraph>cell 4</paragraph></cell>
+        <cell backgroundColor="red" colspan="2"><paragraph>cell 5</paragraph></cell>
+        <cell><paragraph>cell 6</paragraph></cell>
+        <cell><paragraph>cell 7</paragraph></cell>
+        <cell><paragraph>cell 8</paragraph></cell>
+        <cell backgroundColor="green" colspan="2"><paragraph>cell 9</paragraph></cell>
+    </table>
+
+    <paragraph spacingBefore="10" spacingAfter="10">This is another table.  It should be large enough to span multiple pages with the headers repeated on other page</paragraph>
+
+
+    <table widths="1 4" columns="2" headerRows="1">
+        <cell grayFill=".3" paddingBottom="10" horizontalAlignment="center" colspan="2">
+            <font size="20"><paragraph alignment="center">This is a header</paragraph></font>
+        </cell>
+
+
+        <ui:repeat value="#{lists.numbers}" var="week">
+            <cell rotation="90" horizontalAlignment="center" verticalAlignment="middle" grayFill=".7">
+                <font size="30"><paragraph>Week #{week}</paragraph></font>
+            </cell>
+            <cell paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0">
+                <table widths="1.25 4" columns="2" widthPercentage="100">
+                    <ui:repeat value="#{lists.daysOfWeek}" var="day">
+                        <cell paddingBottom="6">#{day}</cell>
+                        <cell paddingBottom="6">Blah blah blah</cell>
+                    </ui:repeat>
+                </table>
+            </cell>
+        </ui:repeat>
+    </table>
+</document>

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,62 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            title="Why Seam"
+            keywords="mykeyword"
+            subject="seam"
+            author="Seam Team"
+            creator="Seam PDF example app">
+
+    <f:facet name="header">
+        <p:font size="12">
+            <p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center">Why Seam? [<p:pageNumber />]</p:footer>
+        </p:font>
+    </f:facet>
+    
+    <p:image alignment="right" wrap="true" value="/jboss.jpg" /> 
+    <p:font size="24"><p:paragraph backgroundColor="red" spacingAfter="50">Ten Good Reasons To Use Seam</p:paragraph></p:font>  
+
+    <p:font color="blue" size="18"><p:paragraph>It's the quickest way to get "rich"</p:paragraph></p:font>
+
+    <p:paragraph alignment="justify">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+    <p:paragraph alignment="justify">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam 1.1 integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the easiest way to get started with EJB 3.0 </p:paragraph></p:font>
+    <p:paragraph alignment="justify">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+    <p:paragraph alignment="justify">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the best way to leverage JSF </p:paragraph></p:font>
+    <p:paragraph alignment="justify">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+    <p:paragraph alignment="justify">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>And the easiest way to do BPM </p:paragraph></p:font>
+    <p:paragraph alignment="justify">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>But CRUD is easy too </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It makes persistence a breeze </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Annotations </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Get hip to automated integration testing </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Marry open source with open standards </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It just works </p:paragraph></p:font>
+    <p:paragraph alignment="justify">You'll love it if you try it.</p:paragraph>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_html.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_html.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_html.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,64 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:f="http://java.sun.com/jsf/core"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            type="html"
+            title="Why Seam"
+            keywords="mykeyword"
+            subject="seam"
+            author="Seam Team"
+            creator="Seam PDF example app">
+
+    <f:facet name="header">
+    <p:font size="12">
+        <p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center">Why Seam? [<p:pageNumber />]</p:footer>
+    </p:font>
+    </f:facet>
+
+    <ui:remove><p:image alignment="right" wrap="true" value="/jboss.jpg" /> </ui:remove>
+    <p:font size="24"><p:paragraph spacingAfter="50">Ten Good Reasons To Use Seam</p:paragraph></p:font>  
+
+
+    <p:font size="18"><p:paragraph>It's the quickest way to get "rich"</p:paragraph></p:font>
+
+    <p:paragraph alignment="justify">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+    <p:paragraph alignment="justify">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam 1.1 integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the easiest way to get started with EJB 3.0 </p:paragraph></p:font>
+    <p:paragraph alignment="justify">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+    <p:paragraph alignment="justify">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the best way to leverage JSF </p:paragraph></p:font>
+    <p:paragraph alignment="justify">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+    <p:paragraph alignment="justify">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>And the easiest way to do BPM </p:paragraph></p:font>
+    <p:paragraph alignment="justify">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>But CRUD is easy too </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It makes persistence a breeze </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Annotations </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Get hip to automated integration testing </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Marry open source with open standards </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It just works </p:paragraph></p:font>
+    <p:paragraph alignment="justify">You'll love it if you try it.</p:paragraph>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_rtf.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_rtf.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-web/src/main/webapp/whyseam_rtf.xhtml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,63 @@
+<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
+            xmlns:p="http://jboss.com/products/seam/pdf"
+            type="rtf"
+            title="Why Seam"
+            keywords="mykeyword"
+            subject="seam"
+            author="Seam Team"
+            creator="Seam PDF example app">
+
+    <f:facet name="header">
+    <p:font size="12">
+        <p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center">Why Seam? [<p:pageNumber />]</p:footer>
+    </p:font>
+    </f:facet>
+
+    <ui:remove><p:image alignment="right" wrap="true" value="/jboss.jpg" /> </ui:remove>
+    <p:font size="24"><p:paragraph spacingAfter="50">Ten Good Reasons To Use Seam</p:paragraph></p:font>  
+
+
+    <p:font size="18"><p:paragraph>It's the quickest way to get "rich"</p:paragraph></p:font>
+
+    <p:paragraph alignment="justify">AJAX fundamentally changes the interaction model of the web. The synchronous, coarse-grained requests used by traditional web clients let many server-side applications get away with minimal caching and no session-level concurrency. The "stateless" architecture is in many cases a viable solution. But not anymore! AJAX clients hit the server with many asynchronous, concurrent, fine-grained requests, which could easily bring your database to its knees. When state is held in memory between requests, it is highly vulnerable to concurrency-related bugs, since the Java EE platform provides no constructs for dealing with session-level concurrency.</p:paragraph>
+
+    <p:paragraph alignment="justify">Seam's totally unique concurrency model and state-management model was conceived and designed with AJAX in mind. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam 1.1 integrates open source JSF-based AJAX solutions like ICEfaces and Ajax4JSF with Seam's state and concurrency management engine. You can add AJAX to your applications with ease, without the need to learn JavaScript, and you will be protected from potential bugs and performance problems associated with the switch to AJAX. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the easiest way to get started with EJB 3.0 </p:paragraph></p:font>
+    <p:paragraph alignment="justify">EJB 3.0 is a great component model for transactional business components, the highlight being the brand new Java Persistence API (JPA). But Java web and application frameworks designed before the release of EJB 3.0 lack support for the new component model, leaving you to write your own integration code, and in many cases forcing you into the use of a layered architecture that may not be right for your application. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam was designed for use with EJB 3.0 and lets you use the new component model everywhere. Since any class in a Seam application can be an EJB component, there is no need to introduce extra unwanted layers just to keep your frameworks happy. And, of course, there is no need to write code to integrate EJB 3.0 with your web framework, since Seam already has it. </p:paragraph>
+
+    <p:paragraph alignment="justify">Note that you don't have to use EJB 3.0 to use Seam, and if you're developing in an environment that doesn't support EJB 3.0, Seam provides alternatives. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It's the best way to leverage JSF </p:paragraph></p:font>
+    <p:paragraph alignment="justify">JSF has created a vibrant ecosystem of component libraries and other addons, that make this easily the most exciting web framework in Java. But plain JSF is heavy on XML, and misses out on a number of important features, especially for people building internet-facing applications. Seam replaces the tedious XML configuration with a handful of annotations, reducing code and making you more productive. Seam extends JSF with extra functionality for multi-window operation and workspace management, model-based validation, jBPM-based pageflow, internationalization, page fragment caching. Seam even adds facilities for handling bookmarkable (REST-style) web pages - the number one user complaint against JSF. </p:paragraph>
+
+    <p:paragraph alignment="justify">Since JSF does not address the problem of access to transactional resources, Seam's integration of JTA, JPA and EJB 3.0 is a must-have for most JSF users. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>And the easiest way to do BPM </p:paragraph></p:font>
+    <p:paragraph alignment="justify">jBPM is an intuitive and powerful solution for enterprise applications with complex human collaboration, or web applications with complex user interactions. BPM technology not only makes it easier for developers and analysts to model, implement and optimize a business process, but also makes it possible for operations and management to analyse the efficiency of the business process, and be informed of problems. </p:paragraph>
+
+    <p:paragraph alignment="justify">Seam deeply integrates jBPM and makes it incredibly simple to use jBPM for task management or pageflow, and is a great way to get started with BPM technology. The combination of Seam and jBPM can shrink development time of some kinds of projects by literally months. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>But CRUD is easy too </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam takes on hard problems affecting complex enterprise applications. But that doesn't mean the easy stuff is any more difficult than it should be. Seam is every bit as productive as any of the current crop of CRUD frameworks when it comes to building simple data driven applications. Seam combines a simple data access framework (built around JPA and Hibernate) with a command line code generation and database reverse engineering tool to get you started in minutes. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It makes persistence a breeze </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam grew out of the Hibernate community, and was designed and implemented by the people who created Hibernate, the same people who coined the term "persistence context". Seam's conversation model solves a raft of persistence-related programming problems caused by traditional stateless web application architectures. Whether you use Hibernate or JPA, Seam makes it easy and natural to use extended persistence contexts, and helps you avoid unnecessary state replication when you use an extended persistence context in a clustered environment. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Annotations </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is the first programming model that lets you use Java 5 annotations end to end, from the persistence layer to the UI. You'll never find yourself wrestling with unnecessary, noisy XML. Which is not to say that Seam doesn't use XML when appropriate (Seam has a sophisticated XML-based component configuration facility), just that you won't get lost in reams of XML for common programming tasks. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Get hip to automated integration testing </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Automated unit tests certainly have their place in any project. But it's worse than dangerous to rely solely on unit testing. Most bugs concern the interaction between components, and the interaction between a component and the container environment. Unit tests are unable to properly capture container behavior, and usually don't capture complex inter-component interactions. Seam introduces an innovative approach to automated integration testing, where you can emulate the entire flow of a request or conversation, testing all layers of Java code in the application, from presentation to persistence. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>Marry open source with open standards </p:paragraph></p:font>
+    <p:paragraph alignment="justify">Seam is founded upon open source implementations of open standards like JSF and EJB 3.0, along with open source innovators like Hibernate, jBPM, Facelets, Drools, ICEfaces and Ajax4JSF. The creators of Seam are active in the EJB, JPA, Bean Validation and JSF expert groups and lead the Web Beans (JSR-299) expert group which aims to bring the ideas of Seam into the Java EE standard. The Seam project is totally committed to the idea of open source innovation driving new ideas and ehancements into the Java platform. </p:paragraph>
+
+    <p:font size="18"><p:paragraph>It just works </p:paragraph></p:font>
+    <p:paragraph alignment="justify">You'll love it if you try it.</p:paragraph>
+</p:document>
+

Added: branches/community/Seam_2_3/examples-ee6/itext/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/pom.xml	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.jboss.seam</groupId>
+        <artifactId>examples-ee6</artifactId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>itext</artifactId>
+    <packaging>pom</packaging>
+    <name>Itext Example (EE6)</name>
+  
+    <modules>
+        <module>itext-ejb</module>
+        <module>itext-web</module>
+        <module>itext-ear</module>
+        <module>itext-tests</module>
+    </modules>
+    
+    <properties>
+        <example.name>itext</example.name>
+    </properties>
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                <artifactId>itext-ejb</artifactId>
+                <version>${project.version}</version>
+                <type>ejb</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                <artifactId>itext-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.itext</groupId>
+                <artifactId>itext-ear</artifactId>
+                <version>${project.version}</version>
+                <type>ear</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+</project>

Added: branches/community/Seam_2_3/examples-ee6/itext/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/readme.txt	2012-04-10 14:18:55 UTC (rev 14545)
@@ -0,0 +1,29 @@
+Seam iText Example
+==================
+
+This example demonstrates the Seam PDF functionality. It runs on JBoss AS as an
+EAR and Tomcat with Embedded JBoss as a WAR.
+
+To deploy the example to JBoss AS, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package
+
+* Set JBOSS_HOME environment property.
+
+* In the itext-ear directory run:
+
+    mvn jboss:hard-deploy
+
+* Open this URL in a web browser: http://localhost:8080/seam-itext
+
+To deploy the example to Tomcat with Embedded JBoss, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package -Ptomcat
+
+* Deploy the resulting WAR from itext-web/target directory to Tomcat manually.
+
+* Open this URL in a web browser: http://localhost:8080/jboss-seam-itext



More information about the seam-commits mailing list