[jbosscache-commits] JBoss Cache SVN: r5439 - in pojo/tags: 2.1.0.GA and 5 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Sat Mar 15 01:40:15 EDT 2008


Author: jason.greene at jboss.com
Date: 2008-03-15 01:40:15 -0400 (Sat, 15 Mar 2008)
New Revision: 5439

Added:
   pojo/tags/2.1.0.GA/
   pojo/tags/2.1.0.GA/pom.xml
   pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml
   pojo/tags/2.1.0.GA/src/main/release/build.xml
   pojo/tags/2.1.0.GA/src/main/release/etc/
   pojo/tags/2.1.0.GA/src/main/release/etc/META-INF/
   pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/
   pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java
Removed:
   pojo/tags/2.1.0.GA/pom.xml
   pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml
   pojo/tags/2.1.0.GA/src/main/release/build.xml
   pojo/tags/2.1.0.GA/src/main/release/etc/replSync-service.xml
   pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java
Log:
Tag 2.1.0.GA


Copied: pojo/tags/2.1.0.GA (from rev 5432, pojo/branches/2.1)

Deleted: pojo/tags/2.1.0.GA/pom.xml
===================================================================
--- pojo/branches/2.1/pom.xml	2008-03-14 16:12:25 UTC (rev 5432)
+++ pojo/tags/2.1.0.GA/pom.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -1,384 +0,0 @@
-<?xml version="1.0"?>
-<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/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <properties>
-    <jbosscache-pojo-version>2.1.0.CR4</jbosscache-pojo-version>
-    <jbosscache-core-version>2.1.0.CR4</jbosscache-core-version>
-    <jboss.aop.version>2.0.0.CR3</jboss.aop.version>
-    <jboss.microcontainer.version>2.0.0.Beta6</jboss.microcontainer.version>
-    <jboss.common-core.version>2.2.1.GA</jboss.common-core.version>
-    <commons-logging.version>1.0.4</commons-logging.version>
-    <jboss.javaee.version>5.0.0.Beta3</jboss.javaee.version>
-  </properties>
-  <parent>
-    <groupId>org.jboss.cache</groupId>
-    <artifactId>jbosscache-common-parent</artifactId>
-    <version>1.1</version>
-  </parent>
-  <groupId>org.jboss.cache</groupId>
-  <artifactId>jbosscache-pojo</artifactId>
-  <version>${jbosscache-pojo-version}</version>
-  <name>JBoss Cache - POJO Edition</name>
-  <description>JBoss Cache - POJO Edition</description>
-  <packaging>jar</packaging>
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jboss-aop</artifactId>
-      <version>${jboss.aop.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.cache</groupId>
-      <artifactId>jbosscache-core</artifactId>
-      <version>${jbosscache-core-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.cache</groupId>
-      <artifactId>jbosscache-core</artifactId>
-      <version>${jbosscache-core-version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>${commons-logging.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>net.jcip</groupId>
-       <artifactId>jcip-annotations</artifactId>
-       <version>1.0</version>
-       <optional>true</optional>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-    <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.2-beta-1</version>
-        <executions>
-          <execution>
-            <id>assemble</id>
-            <phase>install</phase>
-            <goals>
-              <goal>attached</goal>
-            </goals>
-            <configuration>
-              <descriptors>
-                <descriptor>assembly/bin.xml</descriptor>
-                <descriptor>assembly/doc.xml</descriptor>
-                <descriptor>assembly/all.xml</descriptor>
-              </descriptors>
-              <finalName>${artifactId}-${jbosscache-pojo-version}</finalName>
-              <outputDirectory>target/distribution</outputDirectory>
-              <workDirectory>target/assembly/work</workDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.3</version>
-        <configuration>
-          <systemProperties>
-            <property>
-              <name>bind.address</name>
-              <value>127.0.0.1</value>
-            </property>
-            <property>
-              <name>java.net.preferIPv4Stack</name>
-              <value>true</value>
-            </property>
-            <property>
-              <name>jgroups.stack</name>
-              <value>udp</value>
-            </property>
-          </systemProperties>
-          <groups>functional</groups>
-          <forkMode>always</forkMode>
-          <argLine>-Djboss.aop.path=${basedir}/src/main/resources/META-INF/pojocache-aop.xml -javaagent:${settings.localRepository}/org/jboss/aop/jboss-aop/${jboss.aop.version}/jboss-aop-${jboss.aop.version}.jar</argLine>
-          <!-- Warning, this does not work right on 2.4-SNAPSHOT, (see SUREFIRE-349) -->
-          <!-- This seems to fail in some cases on 2.3 as well, disable for now -->
-          <useSystemClassLoader>true</useSystemClassLoader>
-          <redirectTestOutputToFile>false</redirectTestOutputToFile>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.jboss.maven.plugins</groupId>
-        <artifactId>maven-jbossaop-plugin</artifactId>
-        <version>2.0.0.beta1</version>
-        <!-- HACK: AOP project and plugin has broken deps -->
-        <dependencies>    
-          <dependency>
-            <groupId>org.jboss.cache</groupId>
-            <artifactId>jbosscache-core</artifactId>
-            <version>${jbosscache-core-version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.jboss.aop</groupId>
-            <artifactId>jboss-aop</artifactId>
-            <version>${jboss.aop.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.jboss.microcontainer</groupId>
-            <artifactId>jboss-container</artifactId>
-            <version>${jboss.microcontainer.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.jboss</groupId>
-            <artifactId>jboss-common-core</artifactId>
-            <version>${jboss.common-core.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons-logging.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.jboss.javaee</groupId>
-            <artifactId>jboss-javaee</artifactId>
-            <version>${jboss.javaee.version}</version>
-          </dependency>
-        </dependencies> 
-        <executions>
-          <execution>
-            <id>aopc</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-            <configuration>
-              <verbose>false</verbose>
-              <aoppaths>
-              <aoppath>${basedir}/src/main/resources/META-INF/pojocache-aop.xml</aoppath>
-              </aoppaths>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- the docbook generation plugin for the user guide -->
-      <plugin>
-        <groupId>org.jboss.maven.plugins</groupId>
-        <artifactId>maven-jdocbook-plugin</artifactId>
-        <version>2.0.0</version>
-        <extensions>true</extensions>
-        <dependencies>
-            <dependency>
-               <groupId>org.jboss</groupId>
-               <artifactId>jbossorg-docbook-xslt</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-               <groupId>org.jboss</groupId>
-               <artifactId>jbossorg-jdocbook-style</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
-               <type>jdocbook-style</type>
-            </dependency>
-           <dependency>
-                  <groupId>com.uwyn</groupId>
-                  <artifactId>jhighlight</artifactId>
-                  <version>1.0</version>
-              </dependency>
-              <dependency>
-                  <groupId>de.java2html</groupId>
-                  <artifactId>java2html</artifactId>
-                  <version>5.0</version>
-              </dependency>
-              <dependency>
-                  <groupId>org.richfaces.docs</groupId>
-                  <artifactId>highlight</artifactId>
-                  <version>3.1.4.GA</version>
-              </dependency>
-         </dependencies>
-        <executions>
-
-          <!-- The User Guide-->
-          <execution>
-            <id>userguide_en</id>
-            <phase>package</phase>
-            <goals>
-              <goal>resources</goal>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <sourceDocumentName>master.xml</sourceDocumentName>
-              <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
-              <imageResource>
-                <directory>${basedir}/src/main/docbook/images</directory>
-              </imageResource>
-              <cssResource>
-                <directory>${basedir}/src/main/docbook/css</directory>
-              </cssResource>
-              <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
-              <formats>
-                <format>
-                  <formatName>pdf</formatName>
-				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
-                  <finalName>userguide_en.pdf</finalName>
-                </format>
-				<format>
-                	<formatName>html</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-				<format>
-					<formatName>html_single</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-			  </formats>
-              <options>
-                <xincludeSupported>false</xincludeSupported>
-              </options>
-            </configuration>
-          </execution>
-
-          <!-- The Tutorial -->
-          <execution>
-            <id>tutorial_en</id>
-            <phase>package</phase>
-            <goals>
-              <goal>resources</goal>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <sourceDocumentName>master.xml</sourceDocumentName>
-              <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
-              <imageResource>
-                <directory>${basedir}/src/main/docbook/images</directory>
-              </imageResource>
-              <cssResource>
-                <directory>${basedir}/src/main/docbook/css</directory>
-              </cssResource>
-              <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
-              <formats>
-                <format>
-                  <formatName>pdf</formatName>
-				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
-                  <finalName>tutorial_en.pdf</finalName>
-                </format>
-				<format>
-                	<formatName>html</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-				<format>
-					<formatName>html_single</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-              </formats>
-              <options>
-                <xincludeSupported>false</xincludeSupported>
-              </options>
-            </configuration>
-          </execution>
-
-          <!-- the FAQs -->
-          <execution>
-            <id>faq_en</id>
-            <phase>package</phase>
-            <goals>
-              <goal>resources</goal>
-              <goal>generate</goal>
-            </goals>
-            <configuration>
-              <sourceDocumentName>master.xml</sourceDocumentName>
-              <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
-              <imageResource>
-                <directory>${basedir}/src/main/docbook/images</directory>
-              </imageResource>
-              <cssResource>
-                <directory>${basedir}/src/main/docbook/css</directory>
-              </cssResource>
-              <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
-              <formats>
-                <format>
-                  <formatName>pdf</formatName>
-				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
-                  <finalName>faq_en.pdf</finalName>
-                </format>
-				<format>
-                	<formatName>html</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-				<format>
-					<formatName>html_single</formatName>
-				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
-				    <finalName>index.html</finalName>
-				</format>
-              </formats>
-              <options>
-                <xincludeSupported>false</xincludeSupported>
-              </options>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
-  <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <url>http://repository.jboss.org/maven2</url>
-    </repository>
-  </repositories>
-
-   <profiles>
-      <profile>
-         <id>JBossAS</id>
-         <activation>
-            <activeByDefault>false</activeByDefault>
-         </activation>
-         <properties>
-            <jbosscache-pojo-version>2.1.0.CR4-JBossAS</jbosscache-pojo-version>
-            <jbosscache-core-version>2.1.0-SNAPSHOT-JBossAS</jbosscache-core-version>
-            <jboss.aop.version>2.0.0.CR7</jboss.aop.version>
-            <jboss.microcontainer.version>2.0.0.Beta10</jboss.microcontainer.version>
-            <jboss.common-core.version>2.2.3.GA</jboss.common-core.version>
-            <commons-logging.version>1.1.0.jboss</commons-logging.version>
-            <jboss.javaee.version>5.0.0.Beta3Update1</jboss.javaee.version>
-         </properties>
-         <dependencies>
-            <dependency>
-               <groupId>jgroups</groupId>
-               <artifactId>jgroups</artifactId>
-               <version>2.6.2</version>
-            </dependency>
-            <dependency>
-               <groupId>org.jboss.javaee</groupId>
-               <artifactId>jboss-javaee</artifactId>
-               <version>${jboss.javaee.version}</version>
-            </dependency>
-            <dependency>
-               <groupId>org.jboss</groupId>
-               <artifactId>jboss-common-core</artifactId>
-               <version>${jboss.common-core.version}</version>
-            </dependency>
-            <dependency>
-               <groupId>commons-logging</groupId>
-               <artifactId>commons-logging</artifactId>
-               <version>${commons-logging.version}</version>
-            </dependency>
-            <dependency>
-               <groupId>org.jboss.transaction</groupId>
-               <artifactId>jboss-jta</artifactId>
-               <version>4.3.0.BETA2</version>
-               <scope>test</scope>
-            </dependency>
-            <dependency>
-               <groupId>org.jboss.microcontainer</groupId>
-               <artifactId>jboss-container</artifactId>
-               <version>${jboss.microcontainer.version}</version>
-            </dependency>
-         </dependencies>
-      </profile>
-   </profiles>
-
-</project>

Copied: pojo/tags/2.1.0.GA/pom.xml (from rev 5433, pojo/branches/2.1/pom.xml)
===================================================================
--- pojo/tags/2.1.0.GA/pom.xml	                        (rev 0)
+++ pojo/tags/2.1.0.GA/pom.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -0,0 +1,404 @@
+<?xml version="1.0"?>
+<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/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <properties>
+    <jbosscache-pojo-version>2.1.0.GA</jbosscache-pojo-version>
+    <jbosscache-core-version>2.1.0.GA</jbosscache-core-version>
+    <jboss.aop.version>2.0.0.CR3</jboss.aop.version>
+    <jboss.microcontainer.version>2.0.0.Beta6</jboss.microcontainer.version>
+    <jboss.common-core.version>2.2.1.GA</jboss.common-core.version>
+    <commons-logging.version>1.0.4</commons-logging.version>
+    <jboss.javaee.version>5.0.0.Beta3</jboss.javaee.version>
+  </properties>
+  <parent>
+    <groupId>org.jboss.cache</groupId>
+    <artifactId>jbosscache-common-parent</artifactId>
+    <version>1.1</version>
+  </parent>
+  <groupId>org.jboss.cache</groupId>
+  <artifactId>jbosscache-pojo</artifactId>
+  <version>${jbosscache-pojo-version}</version>
+  <name>JBoss Cache - POJO Edition</name>
+  <description>JBoss Cache - POJO Edition</description>
+  <packaging>jar</packaging>
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop</artifactId>
+      <version>${jboss.aop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.cache</groupId>
+      <artifactId>jbosscache-core</artifactId>
+      <version>${jbosscache-core-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.cache</groupId>
+      <artifactId>jbosscache-core</artifactId>
+      <version>${jbosscache-core-version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>${commons-logging.version}</version>
+    </dependency>
+    <dependency>
+       <groupId>net.jcip</groupId>
+       <artifactId>jcip-annotations</artifactId>
+       <version>1.0</version>
+       <optional>true</optional>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>javadoc</goal>
+            </goals>
+            <configuration>
+              <aggregate>${jbosscache.reports.aggregate}</aggregate>
+              <links>
+                <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
+                <link>http://java.sun.com/javaee/5/docs/api/</link>
+                <link>http://labs.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.1.0.GA/apidocs/</link>
+              </links>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-1</version>
+        <executions>
+          <execution>
+            <id>assemble</id>
+            <phase>install</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+            <configuration>
+              <descriptors>
+                <descriptor>assembly/bin.xml</descriptor>
+                <descriptor>assembly/doc.xml</descriptor>
+                <descriptor>assembly/all.xml</descriptor>
+              </descriptors>
+              <finalName>${artifactId}-${jbosscache-pojo-version}</finalName>
+              <outputDirectory>target/distribution</outputDirectory>
+              <workDirectory>target/assembly/work</workDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.3</version>
+        <configuration>
+          <systemProperties>
+            <property>
+              <name>bind.address</name>
+              <value>127.0.0.1</value>
+            </property>
+            <property>
+              <name>java.net.preferIPv4Stack</name>
+              <value>true</value>
+            </property>
+            <property>
+              <name>jgroups.stack</name>
+              <value>udp</value>
+            </property>
+          </systemProperties>
+          <groups>functional</groups>
+          <forkMode>always</forkMode>
+          <argLine>-Djboss.aop.path=${basedir}/src/main/resources/META-INF/pojocache-aop.xml -javaagent:${settings.localRepository}/org/jboss/aop/jboss-aop/${jboss.aop.version}/jboss-aop-${jboss.aop.version}.jar</argLine>
+          <!-- Warning, this does not work right on 2.4-SNAPSHOT, (see SUREFIRE-349) -->
+          <!-- This seems to fail in some cases on 2.3 as well, disable for now -->
+          <useSystemClassLoader>true</useSystemClassLoader>
+          <redirectTestOutputToFile>false</redirectTestOutputToFile>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.jboss.maven.plugins</groupId>
+        <artifactId>maven-jbossaop-plugin</artifactId>
+        <version>2.0.0.beta1</version>
+        <!-- HACK: AOP project and plugin has broken deps -->
+        <dependencies>    
+          <dependency>
+            <groupId>org.jboss.cache</groupId>
+            <artifactId>jbosscache-core</artifactId>
+            <version>${jbosscache-core-version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss.aop</groupId>
+            <artifactId>jboss-aop</artifactId>
+            <version>${jboss.aop.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss.microcontainer</groupId>
+            <artifactId>jboss-container</artifactId>
+            <version>${jboss.microcontainer.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-common-core</artifactId>
+            <version>${jboss.common-core.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>${commons-logging.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss.javaee</groupId>
+            <artifactId>jboss-javaee</artifactId>
+            <version>${jboss.javaee.version}</version>
+          </dependency>
+        </dependencies> 
+        <executions>
+          <execution>
+            <id>aopc</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+            <configuration>
+              <verbose>false</verbose>
+              <aoppaths>
+              <aoppath>${basedir}/src/main/resources/META-INF/pojocache-aop.xml</aoppath>
+              </aoppaths>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <!-- the docbook generation plugin for the user guide -->
+      <plugin>
+        <groupId>org.jboss.maven.plugins</groupId>
+        <artifactId>maven-jdocbook-plugin</artifactId>
+        <version>2.0.0</version>
+        <extensions>true</extensions>
+        <dependencies>
+            <dependency>
+               <groupId>org.jboss</groupId>
+               <artifactId>jbossorg-docbook-xslt</artifactId>
+               <version>1.1.0-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss</groupId>
+               <artifactId>jbossorg-jdocbook-style</artifactId>
+               <version>1.1.0-SNAPSHOT</version>
+               <type>jdocbook-style</type>
+            </dependency>
+           <dependency>
+                  <groupId>com.uwyn</groupId>
+                  <artifactId>jhighlight</artifactId>
+                  <version>1.0</version>
+              </dependency>
+              <dependency>
+                  <groupId>de.java2html</groupId>
+                  <artifactId>java2html</artifactId>
+                  <version>5.0</version>
+              </dependency>
+              <dependency>
+                  <groupId>org.richfaces.docs</groupId>
+                  <artifactId>highlight</artifactId>
+                  <version>3.1.4.GA</version>
+              </dependency>
+         </dependencies>
+        <executions>
+
+          <!-- The User Guide-->
+          <execution>
+            <id>userguide_en</id>
+            <phase>package</phase>
+            <goals>
+              <goal>resources</goal>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <sourceDocumentName>master.xml</sourceDocumentName>
+              <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
+              <imageResource>
+                <directory>${basedir}/src/main/docbook/images</directory>
+              </imageResource>
+              <cssResource>
+                <directory>${basedir}/src/main/docbook/css</directory>
+              </cssResource>
+              <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
+              <formats>
+                <format>
+                  <formatName>pdf</formatName>
+				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+                  <finalName>userguide_en.pdf</finalName>
+                </format>
+				<format>
+                	<formatName>html</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+				<format>
+					<formatName>html_single</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+			  </formats>
+              <options>
+                <xincludeSupported>false</xincludeSupported>
+              </options>
+            </configuration>
+          </execution>
+
+          <!-- The Tutorial -->
+          <execution>
+            <id>tutorial_en</id>
+            <phase>package</phase>
+            <goals>
+              <goal>resources</goal>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <sourceDocumentName>master.xml</sourceDocumentName>
+              <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
+              <imageResource>
+                <directory>${basedir}/src/main/docbook/images</directory>
+              </imageResource>
+              <cssResource>
+                <directory>${basedir}/src/main/docbook/css</directory>
+              </cssResource>
+              <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
+              <formats>
+                <format>
+                  <formatName>pdf</formatName>
+				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+                  <finalName>tutorial_en.pdf</finalName>
+                </format>
+				<format>
+                	<formatName>html</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+				<format>
+					<formatName>html_single</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+              </formats>
+              <options>
+                <xincludeSupported>false</xincludeSupported>
+              </options>
+            </configuration>
+          </execution>
+
+          <!-- the FAQs -->
+          <execution>
+            <id>faq_en</id>
+            <phase>package</phase>
+            <goals>
+              <goal>resources</goal>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <sourceDocumentName>master.xml</sourceDocumentName>
+              <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
+              <imageResource>
+                <directory>${basedir}/src/main/docbook/images</directory>
+              </imageResource>
+              <cssResource>
+                <directory>${basedir}/src/main/docbook/css</directory>
+              </cssResource>
+              <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
+              <formats>
+                <format>
+                  <formatName>pdf</formatName>
+				  <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+                  <finalName>faq_en.pdf</finalName>
+                </format>
+				<format>
+                	<formatName>html</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+				<format>
+					<formatName>html_single</formatName>
+				    <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+				    <finalName>index.html</finalName>
+				</format>
+              </formats>
+              <options>
+                <xincludeSupported>false</xincludeSupported>
+              </options>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
+  <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <url>http://repository.jboss.org/maven2</url>
+    </repository>
+  </repositories>
+
+   <profiles>
+      <profile>
+         <id>JBossAS</id>
+         <activation>
+            <activeByDefault>false</activeByDefault>
+         </activation>
+         <properties>
+            <jbosscache-pojo-version>2.1.0.CR4-JBossAS</jbosscache-pojo-version>
+            <jbosscache-core-version>2.1.0-SNAPSHOT-JBossAS</jbosscache-core-version>
+            <jboss.aop.version>2.0.0.CR7</jboss.aop.version>
+            <jboss.microcontainer.version>2.0.0.Beta10</jboss.microcontainer.version>
+            <jboss.common-core.version>2.2.3.GA</jboss.common-core.version>
+            <commons-logging.version>1.1.0.jboss</commons-logging.version>
+            <jboss.javaee.version>5.0.0.Beta3Update1</jboss.javaee.version>
+         </properties>
+         <dependencies>
+            <dependency>
+               <groupId>jgroups</groupId>
+               <artifactId>jgroups</artifactId>
+               <version>2.6.2</version>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss.javaee</groupId>
+               <artifactId>jboss-javaee</artifactId>
+               <version>${jboss.javaee.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss</groupId>
+               <artifactId>jboss-common-core</artifactId>
+               <version>${jboss.common-core.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>commons-logging</groupId>
+               <artifactId>commons-logging</artifactId>
+               <version>${commons-logging.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss.transaction</groupId>
+               <artifactId>jboss-jta</artifactId>
+               <version>4.3.0.BETA2</version>
+               <scope>test</scope>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss.microcontainer</groupId>
+               <artifactId>jboss-container</artifactId>
+               <version>${jboss.microcontainer.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+   </profiles>
+
+</project>

Deleted: pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml
===================================================================
--- pojo/branches/2.1/src/main/docbook/faq/en/master.xml	2008-03-14 16:12:25 UTC (rev 5432)
+++ pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -1,807 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-      "../../../../docbook-support/support/docbook-dtd/docbookx.dtd"
-      >
-<article class="faq" lang="en">
-   <articleinfo>
-      <title>Frequently Asked Questions about PojoCache</title>
-      <releaseinfo>Release 2.0.0</releaseinfo>
-      <pubdate>June 2007</pubdate>
-
-      <author>
-         <firstname>Ben</firstname>
-         <surname>Wang</surname>
-         <email>ben.wang at jboss.com</email>
-      </author>
-      <author>
-         <firstname>Scott</firstname>
-         <surname>Marlow</surname>
-         <email>smarlow at novell.com</email>
-      </author>
-
-   </articleinfo>
-
-   <para>These are frequently asked questions regarding Pojocache.</para>
-
-   <qandaset defaultlabel="qanda">
-      <title>General Information</title>
-
-      <qandaentry>
-         <question id="a49">
-            <para>What is PojoCache?</para>
-         </question>
-
-         <answer>
-            <para>PojoCache is a fine-grained field-level replicated and
-               transactional POJO (plain old Java object) cache. By POJO, we mean
-               that the cache: 1) automatically manages object mapping and
-               relationship for a client under both local and replicated cache
-               mode, 2) provides support for inheritance relationship between
-               "aspectized" POJOs. By leveraging the dynamic AOP in JBossAop, it is
-               able to map a complex object into the cache store, preserve and
-               manage the object relationship behind the scene. During replication
-               mode, it performs fine-granularity (i.e., on a per-field basis)
-               update, and thus has the potential to boost cache performance and
-               minimize network traffic.
-            </para>
-
-            <para>From a user perspective, once your POJO is managed by the
-               cache, all cache operations are transparent. Therefore, all the
-               usual in-VM POJO method semantics are still preserved, providing
-               ease of use. For example, if a POJO has been put in PojoCache (by
-               calling
-               <literal>attach</literal>
-               , for example), then any POJO get/set
-               method will be
-               intercepted by PojoCache to provide the data from the
-               cache.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a1">
-            <para>What is the relationship between Cache and PojoCache?</para>
-         </question>
-
-         <answer>
-            <para>The core JBoss Cache library
-               <literal>Cache</literal>
-               is a traditional generic distributed cache system.
-               PojoCache uses Cache as the underlying distributed state system to achieve POJO caching. It uses Cache as
-               a
-               delegate. As a result, all the replication aspects are configured with the Cache configuration XML.
-               Additionally, PojoCache also has API to expose the Cache interface (via
-               <literal>getCache()</literal>
-               API).
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a52">
-            <para>What is the difference between Cache and
-               PojoCache?
-            </para>
-         </question>
-
-         <answer>
-            <para>Think of PojoCache as a Cache on steroids. :-)
-               Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
-               However, while Cache only
-               provides pure object reference storage (e.g.,
-               <literal>put(FQN fqn,
-                  Object key, Object value)
-               </literal>
-               ), PojoCache goes beyond that
-               and performs fine-grained field level replication object mapping and
-               relationship management for a user behind the scenes. As a result,
-               if you have complex object systems that you would like to cache, you
-               can have PojoCache manage it for you. You simply treat your
-               object systems as they are residing in-memory, e.g., use your
-               regular POJO methods without worrying about cache management.
-               Furthermore, this is true in replication mode as well.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a521">
-            <para>How does PojoCache work then?</para>
-         </question>
-
-         <answer>
-            <para>PojoCache uses the so-called AOP technology (aspect oriented programming) to do field level
-               interception. Currently, it uses
-               <literal>JBoss Aop</literal>
-               library to do it.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a522">
-            <para>What's changed between 1.x and 2.x release then?</para>
-         </question>
-
-         <answer>
-            <para>Starting in 2.0 release, we have a separate library for PojoCache,
-               <literal>pojocache.jar</literal>
-               that
-               is extra to the core
-               <literal>jboss-cache.jar</literal>
-               . Since we uses Cache as a delegate, user
-               will need to have a regular xml to configure the core Cache functionality (e.g., replication and locking
-               aspect). In addition, there is also the
-               <literal>pojocache-aop.xml</literal>
-               that specifies the PojoCache
-               interceptor stack (that can be left as default).
-            </para>
-            <para>Additionally, here are the changed features:
-               <itemizedlist>
-                  <listitem>
-                     <para>New APIs. It replaces
-                        <literal>putObject, removeObject, and get</literal>
-                        with
-                        <literal>attach, detach, and find</literal>
-                        .
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>New POJO based events that a user can subscribe to.</para>
-                  </listitem>
-                  <listitem>
-                     <para>New configuration pojocache-aop.xml specifically for PojoCache, in addition to
-                        the regular cache-service.xml for the delegating Cache.
-                     </para>
-                  </listitem>
-                  <listitem>
-                     <para>New package namespace (
-                        <literal>org.jboss.cache.pojo)</literal>
-                        for PojoCache.
-                        The previous
-                        <literal>org.jboss.cache.aop</literal>
-                        space has been deprecated.
-                     </para>
-                  </listitem>
-               </itemizedlist>
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a53">
-            <para>What are the steps to use the PojoCache feature?</para>
-         </question>
-
-         <answer>
-            <para>In order to use PojoCache, you will need to:</para>
-
-            <itemizedlist>
-               <listitem>
-                  <para>prepare POJO. You can do either via xml declaration or JDK50 annotation.
-                     This is the step to declare your POJO such that it will be instrumented by
-                     <literal>JBoss Aop</literal>
-                     .
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>instrumentation. You will need to instrument your POJO either at compile- or load-time.
-                     If you do it during compile-time, you use so-called an aop pre-compiler (aopc) to do bytecode
-                     manipulation.
-                     If you do it via load-time, however, you need either a special system class loader or, in JDK50,
-                     you can
-                     use the javaagent option. Either way,
-                     <literal>JBoss Aop</literal>
-                     will byte code manipulate your POJO
-                     class such that all field access can be intercepted.
-                  </para>
-               </listitem>
-            </itemizedlist>
-            <para>So if you use JDK50, for example, with annotation and load-time instrumentation, then you won't need
-               any pre-processing step to use PojoCache. For a full example, please refer to the distro examples
-               directory.
-               There are numerous PojoCache examples that uses different options.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a541">
-            <para>What is the JDK version required to run PojoCache 2.x?</para>
-         </question>
-
-         <answer>
-            <para>PojoCache 2.x requires JDK5.0 since it uses the annotation extensively.</para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a542">
-            <para>Can I run PojoCache as a standalone mode?</para>
-         </question>
-
-         <answer>
-            <para>Yes, same as the core Cache library, you can run PojoCache either as a standalone or
-               inside an application server.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a543">
-            <para>What is the JBoss AS recommended version to run PojoCache 2.x?</para>
-         </question>
-
-         <answer>
-            <para>PojoCache can be run either in AS4.0.5 (and up) and 5.0. But either way, it will require
-               JDK5.0 though.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a56">
-            <para>Can I pre-compile the aop classes such that I don't need to
-               use the system classloader and jboss-aop configuration xml during runtime?
-            </para>
-         </question>
-
-         <answer>
-            <para>Yes. The latest versions of JBossCache have a pre-compiler
-               option called
-               <literal>aopc</literal>
-               . You can use this option to
-               pre-compile your "aspectized" POJO. Once the classes have been byte
-               code generated, they can be treated as regular class files, i.e.,
-               you will not need to include any
-               <literal>jboss-aop.xml</literal>
-               that specifies the advisable POJO and to specify the JBossAop system
-               class loader.
-            </para>
-
-            <para>For an example of how to use
-               <literal>aopc</literal>
-               , please
-               see 1)
-               <literal>tools</literal>
-               directory for PojoCacheTasks14.xml
-               and PojoCacheTasks50.xml. Both contain Ant tasks that you can
-               import to your regular project for
-               <literal>aopc</literal>
-               . In addition, please also check out the
-               <literal>examples</literal>
-               directory for concrete examples.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a561">
-            <para>In PojoCache 2.x release, do I still need
-               <literal>annoc</literal>
-               ?
-            </para>
-         </question>
-
-         <answer>
-            <para>The annoc precompiler is needed for JDK1.4 style annotation. For 2.x release, since
-               we require the use of JDK5.0, there is no need to use annoc anymore.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a57">
-            <para>How do I use aopc on multiple module directories?</para>
-         </question>
-
-         <answer>
-            <para>In aopc, you specify the src path for a specific directory. To
-               pre-compile multiple ones, you will need to invoke aopc multiple
-               times.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a57a">
-            <para>Does PojoCache provide POJO event subscription?</para>
-         </question>
-
-         <answer>
-            <para>Yes, since 2.0, you can use PojoCacheListener to subscribe to events
-               such as POJO attach and detach and field updates. And if you need some customization,
-               you can also use the Obervable pattern directly. TO see an example, please check
-               out the test case:
-               <literal>org.jboss.cache.pojo.observer.LocalTest.java</literal>
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a58">
-            <para>What's in the
-               <literal>jboss-aop.xml</literal>
-               configuration?
-            </para>
-         </question>
-
-         <answer>
-            <para>
-               <literal>jboss-aop.xml</literal>
-               is needed for POJO
-               instrumentation. In
-               <literal>jboss-aop.xml</literal>
-               , you can
-               declare your POJO (e.g.,
-               <literal>Person</literal>
-               ) to be
-               "prepared", a JBossAop term to denote that the object will be
-               "aspectized" by the system. After this declaration, JBossAop will
-               invoke any interceptor that associates with this POJO. PojoCache
-               will dynamically add an
-               <literal>org.jboss.cache.pojo.interceptor.dynamic.CacheFieldInterceptor</literal>
-               to this POJO
-               to perform object mapping and relationship management.
-            </para>
-
-            <para>Note that to add your POJO, you should declare all the fields
-               to be "prepared" as in the example.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a58a">
-            <para>What's the difference between
-               <literal>jboss-aop.xml</literal>
-               <literal>pojocache-aop.xml</literal>
-               ?
-            </para>
-         </question>
-
-         <answer>
-            <para>
-               <literal>pojocache-aop.xml</literal>
-               is essentially a
-               <literal>jboss-aop.xml</literal>
-               ,
-               except it is used specifically for PojoCache. The analogy is similar to JBoss' own
-               MBean service file
-               <literal>jboss-service.xml</literal>
-               , for example. So in our documentation,
-               we will use these two terms interchangeably.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a59">
-            <para>Can I use annotation instead of the xml declaration?</para>
-         </question>
-
-         <answer>
-            <para>Yes, in release 2.0, you can use JDK5.0 annotation to
-               instrument your POJO. Check the documentation for details.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a60">
-            <para>What are the pro and con of xml vs. annotation?</para>
-         </question>
-
-         <answer>
-            <para>It really depends on your organization environment, I'd say, since this can be turned into a
-               hot debate. Having said that, I feel strongly that POJO annotation is well suited for PojoCache. This is
-               because once you specify the annotation, you'd probably change it rarely since there is no parameters to
-               tune, for example.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a61">
-            <para>What are the
-               <literal>@org.jboss.cache.pojo.annotation.Transient</literal>
-               and
-               <literal>@org.jboss.cache.pojo.annotation.Serializable</literal>
-               field level annotations?
-            </para>
-         </question>
-
-         <answer>
-            <para>In 2.0, we also offer two additional field-level annotations. The first one,
-               <literal>@org.jboss.cache.pojo.Transient</literal>
-               ,
-               when applied has the same effect as declaring a field
-               <literal>transient</literal>
-               . PojoCache
-               won't put this field under management.
-            </para>
-            <para>The second one,
-               <literal>@org.jboss.cache.pojo.Serializable</literal>
-               when applied,
-               will cause PojoCache to
-               treat the field as a Serializable object even when it is
-               <literal>@org.jboss.cache.pojo.Replicable</literal>
-               .
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a62">
-            <para>What about compile-time vs. load-time instrumentation then?</para>
-         </question>
-
-         <answer>
-            <para>Again it depends. But my preference is to do compile-time instrumentation via aopc. I prefer this
-               approach because it is easier to debug (at least at the development stage). In addition, once I generate
-               the
-               new class, there is no more steps needed.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a63">
-            <para>Is it possible to store the same object multiple times but
-               with different Fqn paths? Like /foo/byName and /foo/byId ?
-            </para>
-         </question>
-
-         <answer>
-            <para>Yes, you can use PojoCache to do that. It supports the
-               notion of object reference. PojoCache manages the unique object
-               through association of the dynamic cache interceptor.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a64">
-            <para>Do I need to declare all my objects "prepared" in
-               <literal>jboss-aop.xml</literal>
-               ?
-            </para>
-         </question>
-
-         <answer>
-            <para>Not necessarily. If there is an object that you don't need the
-               cache to manage for you, you can leave it out of the declaration.
-               The cache will treat this object as a "primitive" type. However, the
-               object will need to implement
-               <literal>Serializable</literal>
-               interface for replication.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a65">
-            <para>Can the cache aop intercept update via reflection?</para>
-         </question>
-
-         <answer>
-            <para>No. The update via reflection will not be intercepted in
-               JBossAop and therefore PojoCache will not be able to perform the
-               necessary synchronization.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a66">
-            <para>When I declare my POJO to be "aspectized", what happens to the
-               fields with transient, static, and final modifiers?
-            </para>
-         </question>
-
-         <answer>
-            <para>PojoCache currently will ignore the fields with these
-               modifiers. That is, it won't put these fields into the cache (and
-               thus no replication either).
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a67">
-            <para>What are those keys such as
-               <literal>JBoss:internal:class</literal>
-               and
-               <literal>PojoInstance</literal>
-               ?
-            </para>
-         </question>
-
-         <answer>
-            <para>They are for internal use only. Users should ignore these keys
-               and values in the node hashmap.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a68">
-            <para>What about Collection classes? Do I need to declare them
-               "prepared"?
-            </para>
-         </question>
-
-         <answer>
-            <para>No. Since the Collection classes such as
-               <literal>ArrayList</literal>
-               are java util classes, aop by default
-               won't instrument these classes. Instead, PojoCache will generate
-               a dynamic class proxy for the Collection classes (upon the
-               <literal>attach</literal>
-               call is invoked). The proxy will
-               delegate the operations to a cache interceptor that implements the
-               actual Collection classes APIs. That is, the system classes won't be
-               invoked when used in PojoCache.
-            </para>
-
-            <para>Internally, the cache interceptor implements the APIs by
-               direct interaction with respect to the underlying cache store. Note
-               that this can have implications in performance for certain APIs. For
-               example, both
-               <literal>ArrayList</literal>
-               and
-               <literal>LinkedList</literal>
-               will have the same implementation.
-               Plan is currently underway to optimize these APIs.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a69">
-            <para>How do I use
-               <literal>List</literal>
-               ,
-               <literal>Set</literal>
-               ,
-               and
-               <literal>Map</literal>
-               dynamic proxy?
-            </para>
-         </question>
-
-         <answer>
-            <para>PojoCache supports classes extending from
-               <literal>List</literal>
-               ,
-               <literal>Set</literal>
-               , and
-               <literal>Map</literal>
-               without users to declare them "aspectized".
-               It is done via a dynamic proxy. Here is a code snippet to use an
-               <literal>ArrayList</literal>
-               proxy class.
-            </para>
-
-            <programlisting role="JAVA"><![CDATA[
-   ArrayList list = new ArrayList();
-   list.add("first");
-
-   cache.attach("list/test", list); // Put the list under the aop cache
-   list.add("second"); // Won't work since AOP intercepts the dynamic proxy not the original POJO.
-
-   ArrayList myList = (List)cache.find("list/test"); // we are getting a dynamic proxy instead
-   myList.add("second"); // it works now
-   myList.add("third");
-   myList.remove("third");
-            ]]></programlisting>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a70">
-            <para>What is the proper way of assigning two different keys with
-               Collection class object?
-            </para>
-         </question>
-
-         <answer>
-            <para>Let's say you want to assign a
-               <literal>List</literal>
-               object
-               under two different names, you will need to use the class proxy to
-               insert the second time to ensure both are managed by the cache. Here
-               is the code snippet.
-            </para>
-
-            <programlisting role="JAVA"><![CDATA[
-   ArrayList list = new ArrayList();
-   list.add("first");
-
-   cache.attach("list", list); // Put the list under the aop cache
-
-   ArrayList myList = (List)cache.find("list"); // we are getting a dynamic proxy instead
-   myList.add("second"); // it works now
-
-   cache.attach("list_alias", myList); // Note you will need to use the proxy here!!
-   myList.remove("second");
-            ]]></programlisting>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a71">
-            <para>OK, so I know I am supposed to use proxy when manipulating the
-               Collection classes once they are managed by the cache. But what
-               happens to Pojos that share the Collection objects, e.g., a
-               <literal>List</literal>
-               instance that is shared by 2 Pojos?
-            </para>
-         </question>
-
-         <answer>
-            <para>Pojos that share Collection instance references will be
-               handled by the cache automatically. That is, when you ask the Cache
-               to manage it, the Cache will dynamically swap out the regular
-               Collection references with the dynamic proxy ones. As a result, it
-               is transparent to the users.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a72">
-            <para>What happens when my "aspectized" POJO has field members that
-               are of Collection class ?
-            </para>
-         </question>
-
-         <answer>
-            <para>When a user puts a POJO into the cache through the call
-               <literal>attach</literal>
-               , it will recursively map the field
-               members into the cache store as well. When the field member is of a
-               Collection class (e.g., List, Set, or Map), PojoCache will first
-               map the collection into cache. Then, it will swap out dynamically
-               the field reference with an corresponding proxy reference.
-            </para>
-
-            <para>This is necessary so that an internal update on the field
-               member will be intercepted by the cache.
-            </para>
-         </answer>
-      </qandaentry>
-
-
-      <qandaentry>
-         <question id="a73">
-            <para>What are the limitation of Collection classes in PojoCache?</para>
-         </question>
-
-         <answer>
-            <para>Use of Collection class in PojoCache helps you to track fine-grained changes
-               in your collection fields automatically. However, current implementation has the follow
-               limitation that we plan to address soon.
-            </para>
-            <para>Currently, we only support a limited implementation of Collection classes. That is,
-               we support APIs in List, Set, and Map. However, since the APIs do not stipulate
-               of constraints like NULL key or value, it makes mapping of user instance to our proxy tricky.
-               For example, ArrayList would allow NULL value and some other implementation would not.
-               The Set interface maps to java.util.HashSet implementation. The List interface maps
-               to java.util.ArrayList implementation. The Map interface maps to java.util.HashMap
-               implementation.
-            </para>
-            <para>Another related issue is the expected performance. For example, the current implementation is ordered,
-               so
-               that makes insert/delete from the Collection slow. Performance between Set, Map and List collections also
-               vary.
-               Adding items to a Set is slower than a List or Map, since Set does not allow duplicate entries.
-            </para>
-         </answer>
-      </qandaentry>
-
-
-      <qandaentry>
-         <question id="a74">
-            <para>What are the pros and cons of PojoCache?</para>
-         </question>
-
-         <answer>
-            <para>As mentioned in the reference doc, PojoCache has the following advantages:</para>
-            <itemizedlist>
-               <listitem>
-                  <para>Fine-grained replication and/or persistency. If you use a distributed PojoCache
-                     and once your POJO is put in the cache store, there is no need to use another API to
-                     trigger your changes. Furthermore, the replication are fine-grained field level. Note this
-                     also applies to persistency.
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>Fine-grained replication can have potential performance gain if your POJO is big and
-                     the changes are fine-grained, e.g., only to some selected fields.
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>POJO can posses object relationship, e.g., multiple referenced. Distributed
-                     PojoCache will handle this transparently for you.
-                  </para>
-               </listitem>
-            </itemizedlist>
-            <para>And here are some cases that you may not want to use PojoCache:</para>
-            <itemizedlist>
-               <listitem>
-                  <para>You use only cache. That is you don't need replication or persistency. Then since
-                     everything is operated on the in-memory POJO reference, there is no need for PojoCache.
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>You have simple and small POJOs. Your POJO is small in size and also there is no
-                     object relationship, then PojoCache possess not clear advantage to plain cache.
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>Your application is bounded by memory usage. Because PojoCache need almost twice as much
-                     of memory (the original POJO in-memory space and also the additional cache store for the
-                     primitive fields), you may not want to use PojoCache.
-                  </para>
-               </listitem>
-               <listitem>
-                  <para>Your POJO lifetime is short. That is, you need to create and destroy your POJO often.
-                     Then you need to do "attach" and "detach" often, it will be slow in performance.
-                  </para>
-               </listitem>
-            </itemizedlist>
-         </answer>
-      </qandaentry>
-   </qandaset>
-
-
-   <qandaset defaultlabel="qanda">
-      <title>Passiviation and eviction</title>
-      <qandaentry>
-         <question id="a80">
-            <para>Can I use eviction to evict POJO from the memory?</para>
-         </question>
-         <answer>
-            <para>No. In 2.0 release, we have deprecated the POJO-based eviction policy since it has always been
-               problematic in earlier release. The main reason is that when we evict a POJO from
-               the memory, the user has no ways of knowing it. So if the POJO is accessed after the
-               eviction, there won't be any PojoCache interception (e.g., it will be just like ordinary POJO),
-               but user may still expect that it will be managed by PojoCache.
-            </para>
-         </answer>
-      </qandaentry>
-
-      <qandaentry>
-         <question id="a81">
-            <para>So what do I do now?</para>
-         </question>
-         <answer>
-            <para>In order to keep your memory from overflowing, you can use the passivation feature that comes with
-               the core Cache. Passivation uses the combination of eviction and cache loader such that when the
-               items are old, it will be evicted from memory and store in a cache store (can be DB or file). Next time,
-               when the item needs to be accessed again, we will retrieve it from the cache store.
-            </para>
-            <para>In this sense, PojoCache level is not aware of the passivation aspect. It is configured through
-               the underlying cache xml.
-            </para>
-         </answer>
-      </qandaentry>
-   </qandaset>
-
-   <qandaset defaultlabel="qanda">
-      <title>Troubleshooting</title>
-      <qandaentry>
-         <question id="a90">
-            <para>I am having problems getting PojoCache to work, where can I get information on troubleshooting?</para>
-         </question>
-         <answer>
-            <para>Troubleshooting section can be found in the following
-               <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=PojoCacheTroubleshooting">wiki link</ulink>
-               .
-            </para>
-         </answer>
-      </qandaentry>
-   </qandaset>
-</article>

Copied: pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml (from rev 5433, pojo/branches/2.1/src/main/docbook/faq/en/master.xml)
===================================================================
--- pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml	                        (rev 0)
+++ pojo/tags/2.1.0.GA/src/main/docbook/faq/en/master.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -0,0 +1,665 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+      "../../../../docbook-support/support/docbook-dtd/docbookx.dtd"
+      >
+<article class="faq" lang="en">
+   <articleinfo>
+      <title>Frequently Asked Questions about POJO Cache</title>
+      <releaseinfo>Release 2.1.0.GA</releaseinfo>
+      <pubdate>March 2008</pubdate>
+
+      <author>
+         <firstname>Ben</firstname>
+         <surname>Wang</surname>
+         <email>ben.wang at jboss.com</email>
+      </author>
+      <author>
+         <firstname>Scott</firstname>
+         <surname>Marlow</surname>
+         <email>smarlow at novell.com</email>
+      </author>
+      <author>
+         <firstname>Jason</firstname>
+         <surname>Greene</surname>
+         <email>jason.greene at jboss.com</email>
+      </author>
+   </articleinfo>
+
+   <para>These are frequently asked questions regarding POJO Cache.</para>
+
+   <qandaset defaultlabel="qanda">
+      <title>General Information</title>
+
+      <qandaentry>
+         <question id="a49">
+            <para>What is POJO Cache?</para>
+         </question>
+
+         <answer>
+            <para>POJO Cache is a fine-grained field-level replicated and
+               transactional POJO (plain old Java object) cache. By POJO, we mean
+               that the cache: 1) automatically manages object mapping and
+               relationship for a client under both local and replicated cache
+               mode, 2) provides support for inheritance relationship between
+               "aspectized" POJOs. By leveraging the dynamic AOP in JBossAop, it is
+               able to map a complex object into the cache store, preserve and
+               manage the object relationship behind the scene. During replication
+               mode, it performs fine-granularity (i.e., on a per-field basis)
+               update, and thus has the potential to boost cache performance and
+               minimize network traffic.
+            </para>
+
+            <para>From a user perspective, once your POJO is managed by the
+               cache, all cache operations are transparent. Therefore, all the
+               usual in-VM POJO method semantics are still preserved, providing
+               ease of use. For example, if a POJO has been put in POJO Cache (by
+               calling
+               <literal>attach</literal>
+               , for example), then any POJO get/set
+               method will be
+               intercepted by POJO Cache to provide the data from the
+               cache.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a1">
+            <para>What is the relationship between Core Cache and POJO Cache?</para>
+         </question>
+
+         <answer>
+            <para>Cores Cache is a traditional generic distributed cache system.
+               POJO Cache uses Core Cache as the underlying distributed state system to achieve object caching. 
+               As a result, all the replication aspects are configured with the Cache configuration XML.
+               Additionally, POJO Cache also has API to expose the Cache interface (via
+               <literal>getCache()</literal>
+               API).
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a52">
+            <para>What is the difference between Core Cache and
+               POJO Cache?
+            </para>
+         </question>
+
+         <answer>
+            <para>Think of POJO Cache as a Cache on steroids. :-)
+               Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
+               However, while Cache only
+               provides pure object reference storage (e.g.,
+               <literal>put(FQN fqn,
+                  Object key, Object value)
+               </literal>
+               ), POJO Cache goes beyond that
+               and performs fine-grained field level replication object mapping and
+               relationship management for a user behind the scenes. As a result,
+               if you have complex object systems that you would like to cache, you
+               can have POJO Cache manage it for you. You simply treat your
+               object systems as they are residing in-memory, e.g., use your
+               regular POJO methods without worrying about cache management.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a521">
+            <para>How does POJO Cache work then?</para>
+         </question>
+
+         <answer>
+            <para>POJO Cache uses the JBoss AOP project to perform field level
+               interception. This allows POJO Cache to monitor changes to your object model, and react
+               accordingly.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a522">
+            <para>What's changed between 1.x and 2.x release then?</para>
+         </question>
+
+         <answer>
+            <para>Starting in 2.0 release, we have a separate library for POJO Cache,
+               <literal>pojocache.jar</literal>
+               that
+               is extra to the core
+               <literal>jboss-cache.jar</literal>
+               . Since we uses Cache as a delegate, user
+               will need to have a regular xml to configure the core Cache functionality (e.g., replication and locking
+               aspect). In addition, there is also the
+               <literal>pojocache-aop.xml</literal>
+               that specifies the POJO Cache
+               interceptor stack (that can be left as default).
+            </para>
+            <para>Additionally, here are the changed features:
+               <itemizedlist>
+                  <listitem>
+                     <para>New APIs. It replaces
+                        <literal>putObject, removeObject, and get</literal>
+                        with
+                        <literal>attach, detach, and find</literal>
+                        .
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>New POJO based events that a user can subscribe to.</para>
+                  </listitem>
+                  <listitem>
+                     <para>New configuration pojocache-aop.xml specifically for POJO Cache, in addition to
+                        the regular cache-service.xml for the delegating Cache.
+                     </para>
+                  </listitem>
+                  <listitem>
+                     <para>New package namespace (
+                        <literal>org.jboss.cache.pojo)</literal>
+                        for POJO Cache.
+                        The previous
+                        <literal>org.jboss.cache.aop</literal>
+                        space has been deprecated.
+                     </para>
+                  </listitem>
+               </itemizedlist>
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a53">
+            <para>How do you use POJO Cache?</para>
+         </question>
+
+         <answer>
+            <para>In order to use POJO Cache, you will need to:</para>
+
+            <itemizedlist>
+               <listitem>
+                  <para>Annotate your POJOt with @Replicable.
+                  </para>
+               </listitem>
+               <listitem>
+                  <para>Instrument your POJO. This can be done at load-time using special JVM arguments (prefered), or at compile time using the 
+                        AOP precompiler tool (aopc). See the user guide for more specific details on instrumentation.
+                  </para>
+               </listitem>
+            </itemizedlist>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a541">
+            <para>What is the JDK version required to run POJO Cache 2.x?</para>
+         </question>
+
+         <answer>
+            <para>POJO Cache 2.x requires Java 5 or newer.</para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a542">
+            <para>Can I run POJO Cache as a standalone mode?</para>
+         </question>
+
+         <answer>
+            <para>Yes, same as the Core Cache library, you can run POJO Cache either as a standalone or
+               inside an application server.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a543">
+            <para>What is the JBoss AS recommended version to run POJO Cache 2.x?</para>
+         </question>
+
+         <answer>
+            <para>POJO Cache can be run either in AS4.0.5 (and up) and 5.0. But either way, it will require
+               JDK5.0 though.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a56">
+            <para>Can I pre-compile objects used in POJO Cache, so that I don't have to provide an AOP descriptor?
+            </para>
+         </question>
+
+         <answer>
+            <para>Yes. The AOP library included with POJO Cache has a pre-compiler called  
+               <literal>aopc</literal> that can be used to instrument objects in advance. However,
+               this is not the recommended approach, since your classes become tied to a specific AOP version.
+               See the instrumentation chapter in the user guide for more information. 
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a561">
+            <para>In POJO Cache 2.x release, do I still need
+               <literal>annoc</literal>
+               ?
+            </para>
+         </question>
+
+         <answer>
+            <para>No. POJO Cache 2.x requires JDK 5, and recommends load-time instrumentation. Alternatively the offline aopc tool may be used. 
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a57">
+            <para>How do I use aopc on multiple module directories?</para>
+         </question>
+
+         <answer>
+            <para>In aopc, you specify the src path for a specific directory. To
+               pre-compile multiple ones, you will need to invoke aopc multiple
+               times.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a57a">
+            <para>Does POJO Cache provide a listener/event model for catching changes?</para>
+         </question>
+
+         <answer>
+            <para>Yes. See the javadoc for PojoCache.addListener() and @PojoCacheListener.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a58">
+            <para>What's in the
+               <literal>pojocaches-aop.xml</literal>
+               configuration?
+            </para>
+         </question>
+
+         <answer>
+            <para>
+               These descriptors are necessary for instrumentation. However, yyou typically do not need to touch them since they include a rule
+               which matches the classes with an @Replicable annotation. Therefore, all you need to do, is just
+               annotate your class with @Replicable. Advanced users may decide to customize them with special AOP prepare statements that match
+               classes which do not have @Replicable. 
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a58a">
+            <para>What's the difference between
+               <literal>jboss-aop.xml</literal>
+               <literal>pojocache-aop.xml</literal>
+               ?
+            </para>
+         </question>
+
+         <answer>
+            <para>
+               <literal>pojocache-aop.xml</literal>
+               is essentially a
+               <literal>jboss-aop.xml</literal>
+               ,
+               except it is used specifically for POJO Cache. The analogy is similar to JBoss' own
+               MBean service file
+               <literal>jboss-service.xml</literal>
+               , for example. So in our documentation,
+               we will use these two terms interchangeably.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a59">
+            <para>Can I use annotations instead of editing the AOP XML descriptors?</para>
+         </question>
+
+         <answer>
+            <para>Yes, in release 2.0, we recommend you use the @Replicable annotation, and don't bother with editing the AOP files.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a60">
+            <para>Is there a problem with using a custom AOP descriptor over the provided annotations?</para>
+         </question>
+
+         <answer>
+            <para>The only real benefit to a custom AOP descriptor is if you can't easily add the annotation to the class source (it's not under your control).
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a61">
+            <para>What are the
+               <literal>@org.jboss.cache.pojo.annotation.Transient</literal>
+               and
+               <literal>@org.jboss.cache.pojo.annotation.Serializable</literal>
+               field level annotations?
+            </para>
+         </question>
+
+         <answer>
+            <para>In 2.0, we also offer two additional field-level annotations. The first one,
+               <literal>@org.jboss.cache.pojo.Transient</literal>
+               ,
+               when applied has the same effect as declaring a field
+               <literal>transient</literal>
+               . POJO Cache
+               won't put this field under management.
+            </para>
+            <para>The second one,
+               <literal>@org.jboss.cache.pojo.Serializable</literal>
+               when applied,
+               will cause POJO Cache to
+               treat the field as a Serializable object even when it is
+               <literal>@org.jboss.cache.pojo.Replicable</literal>
+               .
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a62">
+            <para>Why do you recommend load-time over compile-time instrumentation?</para>
+         </question>
+
+         <answer>
+            <para> The major problem with compile-time instrumentation is that it adds a binary dependency on your class files to whatever
+                   version of JBoss AOP that was used to run aopc. Once this has been done, the class may not work with a future version of
+                   JBoss AOP (although the AOP team tries to ensure binary compatibility across minor revisions). Load-time doesn't have
+                   this problem since the class is instrumented only in memory, and only when it is loaded.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a63">
+            <para>Is it possible to store the same object multiple times but
+               with different Fqn paths? Like /foo/byName and /foo/byId ?
+            </para>
+         </question>
+
+         <answer>
+            <para>Yes, you can use POJO Cache to do that. It supports the
+               notion of multiple object references. POJO Cache manages the unique object
+               through association of the dynamic cache interceptor.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a64">
+            <para>Do I have to instrument my objects? 
+            </para>
+         </question>
+
+         <answer>
+            <para> You can also attach objects that implement
+               <literal>Serializable</literal>. However, you lose field-level replication and object identity preservation.  
+               This is really only supported as a compatibility measure. It is definately worth useing instrumentation.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a65">
+            <para>Will POJO Cache intercept changes made from Java Reflection?</para>
+         </question>
+
+         <answer>
+            <para>Yes and No. Since POJO Cache intercepts field changes, any method 
+                  of an object that has been annotated with @Replicable will be handled properly when called with reflection. 
+                  However, modifying fields using reflection is not currently supported.  
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a66">
+            <para>When I declare my POJO to be "aspectized", what happens to the
+               fields with transient, static, and final modifiers?
+            </para>
+         </question>
+
+         <answer>
+            <para>POJO Cache currently will ignore the fields with these
+               modifiers. That is, it won't put these fields into the cache (and
+               thus no replication either).
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a67">
+            <para>What are those keys such as
+               <literal>JBoss:internal:class</literal>
+               and
+               <literal>PojoInstance</literal>
+               ?
+            </para>
+         </question>
+
+         <answer>
+            <para>They are for internal use only. Users should ignore these keys
+               and values in the node hashmap.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a68">
+            <para>What about Collection classes? Do I need to declare them
+               "prepared"?
+            </para>
+         </question>
+
+         <answer>
+            <para>No. Since the Collection classes such as
+               <literal>ArrayList</literal>
+               are java util classes, aop by default
+               won't instrument these classes. Instead, POJO Cache will generate
+               a dynamic class proxy for the Collection classes (upon the
+               <literal>attach</literal>
+               call is invoked). The proxy will
+               delegate the operations to a cache interceptor that implements the
+               actual Collection classes APIs. That is, the system classes won't be
+               invoked when used in POJO Cache.
+            </para>
+
+            <para>Internally, the cache interceptor implements the APIs by
+               direct interaction with respect to the underlying cache store. Note
+               that this can have implications in performance for certain APIs. For
+               example, both
+               <literal>ArrayList</literal>
+               and
+               <literal>LinkedList</literal>
+               will have the same implementation.
+               Plan is currently underway to optimize these APIs.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a69">
+            <para>How do I use
+               <literal>List</literal>
+               ,
+               <literal>Set</literal>
+               ,
+               and
+               <literal>Map</literal> with POJO Cache?
+            </para>
+         </question>
+
+         <answer>
+            <para>POJO Cache supports all classes that implement 
+               <literal>List</literal>
+               ,
+               <literal>Set</literal>
+               , and
+               <literal>Map</literal>
+               without instrumentation. This is done using a dynamic proxy. Here is an example using
+               <literal>ArrayList</literal>:
+            </para>
+
+            <programlisting role="JAVA"><![CDATA[
+   ArrayList list = new ArrayList();
+   list.add("first");
+
+   cache.attach("/list/test", list); // Put the list under the cache
+   list.add("second"); // Won't work since AOP intercepts the dynamic proxy not the original POJO.
+
+   ArrayList myList = (List)cache.find("/list/test"); // we are getting a dynamic proxy instead
+   myList.add("second"); // it works now
+   myList.add("third");
+   myList.remove("third");
+            ]]></programlisting>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a70">
+            <para>What is the proper way of assigning two different keys with
+               Collection class object?
+            </para>
+         </question>
+
+         <answer>
+            <para>Let's say you want to assign a
+               <literal>List</literal>
+               object
+               under two different names, you will need to use the class proxy to
+               insert the second time to ensure both are managed by the cache. Here
+               is the code snippet.
+            </para>
+
+            <programlisting role="JAVA"><![CDATA[
+   ArrayList list = new ArrayList();
+   list.add("first");
+
+   cache.attach("/list", list); // Put the list under the aop cache
+
+   ArrayList myList = (List)cache.find("/list"); // we are getting a dynamic proxy instead
+   myList.add("second"); // it works now
+
+   cache.attach("/list_alias", myList); // Note you will need to use the proxy here!!
+   myList.remove("second");
+            ]]></programlisting>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a71">
+            <para>OK, so I know I am supposed to use proxy when manipulating the
+               Collection classes once they are managed by the cache. But what
+               happens to POJOs that share the Collection objects, e.g., a
+               <literal>List</literal>
+               instance that is shared by two objects??
+            </para>
+         </question>
+
+         <answer>
+            <para>POJOss that share Collection instance references will be
+               handled by the cache automatically. That is, when you ask the Cache
+               to manage it, the Cache will dynamically swap out the regular
+               Collection references with the dynamic proxy ones. As a result, it
+               is transparent to you.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a72">
+            <para>What happens when my instrumented object contains collections?
+            </para>
+         </question>
+
+         <answer>
+            <para>When an object is passed to
+               <literal>attach</literal>
+               , it will recursively map the field
+               members into the cache store as well. If the field member is of a
+               Collection class (e.g., List, Set, or Map), POJO Cache will first
+               map the collection into cache. Then, it will swap out 
+               the field reference with an corresponding proxy reference.
+            </para>
+
+            <para>This is necessary so that an internal update on the field
+               member will be intercepted by the cache.
+            </para>
+         </answer>
+      </qandaentry>
+
+
+      <qandaentry>
+         <question id="a73">
+            <para>What are the limitations of using Java Collections in POJO Cache?</para>
+         </question>
+         <answer>
+             <para>
+               List, Set, and Map are supported; however, these APIs do not stipulate
+               of constraints like whether a null key or value is allowed. Therefore the behavior of an attached collection may differ 
+               slightly from the originals Java implementation. The behavior implemented by POJO Cache follows 
+               java.util.HashSet for any Set type, java.util.ArrayList for any List type, and java.util.HashMap for any Map type.s
+            </para>
+         </answer>
+      </qandaentry>
+   </qandaset>
+
+
+   <qandaset defaultlabel="qanda">
+      <title>Passiviation and eviction</title>
+      <qandaentry>
+         <question id="a80">
+            <para>Can I use eviction to evict a POJO from the memory?</para>
+         </question>
+         <answer>
+            <para>In 2.0 release, we removed the POJO-based eviction policy since it has always been
+               problematic in earlier release.  You can, however, use the standard Core Cache eviction system to 
+               evict the data that backs the POJO.
+            </para>
+         </answer>
+      </qandaentry>
+
+      <qandaentry>
+         <question id="a81">
+            <para>Is passivation supported?</para>
+         </question>
+         <answer>
+            <para>Yes, in order to reduce memory consumption, you can use the passivation feature that comes with
+               Core Cache. Passivation uses the combination of eviction and a cache loader such that when the
+               items are old, it will be evicted from memory and store in a cache store (can be DB or file). Next time,
+               when the item needs to be accessed again, we will retrieve it from the cache store.
+            </para>
+         </answer>
+      </qandaentry>
+   </qandaset>
+
+   <qandaset defaultlabel="qanda">
+      <title>Troubleshooting</title>
+      <qandaentry>
+         <question id="a90">
+            <para>I am having problems getting POJO Cache to work, where can I get information on troubleshooting?</para>
+         </question>
+         <answer>
+            <para>Troubleshooting section can be found in the following
+               <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=PojoCacheTroubleshooting">wiki link</ulink>
+               .
+            </para>
+         </answer>
+      </qandaentry>
+   </qandaset>
+</article>

Deleted: pojo/tags/2.1.0.GA/src/main/release/build.xml
===================================================================
--- pojo/branches/2.1/src/main/release/build.xml	2008-03-14 16:12:25 UTC (rev 5432)
+++ pojo/tags/2.1.0.GA/src/main/release/build.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="POJO Cache Distribution" default="help">
-
-   <property name="build.sysclasspath" value="ignore"/>
-   <!-- 10 mins -->
-   <property name="single.test.timeout" value="600000"/>
-   <!-- 2h -->
-   <property name="all.test.timeout" value="7200000"/>
-
-   <property name="source" value="${basedir}/test"/>
-   <property name="output" value="${basedir}/output"/>
-   <property name="build" value="${output}/classes"/>
-   <property name="lib" value="${basedir}/lib"/>
-   <property name="etc" value="${basedir}/etc"/>
-   <property name="reports" value="${output}/reports"/>
-
-   <!-- JVM args for when running tests -->
-   <property name="jvm.ipv4" value="-Djava.net.preferIPv4Stack=true"/>
-   <property name="jvm.localhost" value="-Dbind.address=127.0.0.1"/>
-
-   <!-- Test if JDK5 is available -->
-   <available classname="java.lang.Enum" property="HAVE_JDK_1.5"/>
-
-   <taskdef name="testng" classpath="lib/testng.jar" classname="org.testng.TestNGAntTask"/>
-
-   <!-- set local properties for this build -->
-   <path id="lib.classpath">
-      <fileset dir="${lib}">
-         <include name="**/*.jar"/>
-      </fileset>
-   </path>
-
-   <path id="cache.classpath">
-      <fileset dir="${basedir}">
-         <include name="jbosscache-pojo.jar"/>
-      </fileset>
-   </path>
-
-   <path id="build.classpath">
-      <pathelement path="${build}"/>
-   </path>
-
-   <path id="test.classpath">
-      <path refid="build.classpath"/>
-      <path refid="cache.classpath"/>
-      <path refid="lib.classpath"/>
-      <pathelement path="${etc}"/>
-      <!-- this needs to be in the test classpath as well since it contains test configuration XML files -->
-      <pathelement path="${source}"/>
-   </path>
-
-   <target name="help" description="help page">
-      <echo><![CDATA[
-build.sh <command> where command is:
-         compile       -- compile the test code
-         clean         -- clean up the whole directory
-         run.tests     -- run batch examples
-         one.test      -- run one single test case. Need -Dtest=org/jboss/cache/??Test
-         run.demo      -- run demo GUI
-
-     ]]></echo>
-   </target>
-
-   <target name="chkJdk" unless="HAVE_JDK_1.5">
-      <echo>
-         **** FATAL
-         **** REQUIRES JDK 1.5.0 or greater.
-         **** Compilation won't proceed!
-      </echo>
-   </target>
-
-   <!-- set up directory -->
-   <target name="init" depends="chkJdk" description="Prepare to build.">
-      <!-- Create the time stamp -->
-      <tstamp/>
-      <!-- Create the build directory structure used by compile
-and copy the deployment descriptors into it-->
-      <mkdir dir="${build}"/>
-      <mkdir dir="${reports}"/>
-   </target>
-
-   <target name="clean" description="Clean up compiled classes">
-      <delete dir="${output}"/>
-   </target>
-
-   <target name="compile" depends="init" description="Build unit test classes" if="HAVE_JDK_1.5">
-      <javac srcdir="${source}"
-             destdir="${build}"
-             includes="org/jboss/**"
-             target="1.5"
-             source="1.5"
-             debug="true"
-             deprecation="false">
-         <classpath>
-            <path refid="lib.classpath"/>
-            <path refid="cache.classpath"/>
-         </classpath>
-      </javac>
-
-      <copy todir="${output}/etc">
-         <fileset dir="${etc}">
-            <include name="**/*"/>
-         </fileset>
-      </copy>
-   </target>
-
-
-   <!-- eg. ant run.examples -Dtest=org/jboss/test/cache/api/CacheAPITest -->
-   <target name="one.test" depends="compile" description="run one TestNG test case.">
-      <testng
-            outputDir="${reports}"
-            haltOnFailure="true"
-            timeOut="${single.test.timeout}"
-            verbose="2">
-         <classpath refid="test.classpath"/>
-         <classfileset dir="${build}" includes="${test}.class"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-      </testng>
-   </target>
-
-   <target name="run.tests" depends="compile" description="run TestNG test cases.">
-      <testng
-            outputDir="${reports}"
-            haltOnFailure="true"
-            timeOut="${all.test.timeout}"
-            verbose="2">
-         <classpath>
-            <path refid="test.classpath"/>
-         </classpath>
-         <classfileset dir="${build}" includes="**/*Test.class"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-         <jvmarg value="-javaagent:lib/jboss-aop.jar"/>
-         <jvmarg value="-Djboss.aop.path=etc/META-INF/pojocache-aop.xml"/>
-      </testng>
-   </target>
-
-   <target name="run.demo" depends="compile" description="Run JBoss Cache demo.">
-      <java classname="org.jboss.cache.pojo.demo.PojoCacheView" fork="yes">
-         <jvmarg value="-Xmx128M"/>
-         <jvmarg value="-javaagent:lib/jboss-aop.jar"/>
-         <jvmarg value="-Djboss.aop.path=etc/META-INF/pojocache-aop.xml"/>
-         <classpath refid="test.classpath"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-         <arg value="-console"/>
-      </java>
-   </target>
-
-</project>

Copied: pojo/tags/2.1.0.GA/src/main/release/build.xml (from rev 5437, pojo/branches/2.1/src/main/release/build.xml)
===================================================================
--- pojo/tags/2.1.0.GA/src/main/release/build.xml	                        (rev 0)
+++ pojo/tags/2.1.0.GA/src/main/release/build.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+
+<project name="POJO Cache Distribution" default="help">
+
+   <property name="build.sysclasspath" value="ignore"/>
+   <!-- 10 mins -->
+   <property name="single.test.timeout" value="600000"/>
+   <!-- 2h -->
+   <property name="all.test.timeout" value="7200000"/>
+
+   <property name="source" value="${basedir}/test"/>
+   <property name="output" value="${basedir}/output"/>
+   <property name="build" value="${output}/classes"/>
+   <property name="lib" value="${basedir}/lib"/>
+   <property name="etc" value="${basedir}/etc"/>
+   <property name="reports" value="${output}/reports"/>
+
+   <!-- JVM args for when running tests -->
+   <property name="jvm.ipv4" value="-Djava.net.preferIPv4Stack=true"/>
+   <property name="jvm.localhost" value="-Dbind.address=127.0.0.1"/>
+
+   <!-- Test if JDK5 is available -->
+   <available classname="java.lang.Enum" property="HAVE_JDK_1.5"/>
+
+   <taskdef name="testng" classpath="lib/testng.jar" classname="org.testng.TestNGAntTask"/>
+
+   <!-- set local properties for this build -->
+   <path id="lib.classpath">
+      <fileset dir="${lib}">
+         <include name="**/*.jar"/>
+      </fileset>
+   </path>
+
+   <path id="cache.classpath">
+      <fileset dir="${basedir}">
+         <include name="jbosscache-pojo.jar"/>
+      </fileset>
+   </path>
+
+   <path id="build.classpath">
+      <pathelement path="${build}"/>
+   </path>
+
+   <path id="test.classpath">
+      <path refid="build.classpath"/>
+      <path refid="cache.classpath"/>
+      <path refid="lib.classpath"/>
+      <pathelement path="${etc}"/>
+      <!-- this needs to be in the test classpath as well since it contains test configuration XML files -->
+      <pathelement path="${source}"/>
+   </path>
+
+   <target name="help" description="help page">
+      <echo><![CDATA[
+build.sh <command> where command is:
+         compile       -- compile the test code
+         clean         -- clean up the whole directory
+         run.tests     -- run batch examples
+         one.test      -- run one single test case. Need -Dtest=org/jboss/cache/??Test
+         run.demo      -- run demo GUI
+
+     ]]></echo>
+   </target>
+
+   <target name="chkJdk" unless="HAVE_JDK_1.5">
+      <echo>
+         **** FATAL
+         **** REQUIRES JDK 1.5.0 or greater.
+         **** Compilation won't proceed!
+      </echo>
+   </target>
+
+   <!-- set up directory -->
+   <target name="init" depends="chkJdk" description="Prepare to build.">
+      <!-- Create the time stamp -->
+      <tstamp/>
+      <!-- Create the build directory structure used by compile
+and copy the deployment descriptors into it-->
+      <mkdir dir="${build}"/>
+      <mkdir dir="${reports}"/>
+   </target>
+
+   <target name="clean" description="Clean up compiled classes">
+      <delete dir="${output}"/>
+   </target>
+
+   <target name="compile" depends="init" description="Build unit test classes" if="HAVE_JDK_1.5">
+      <javac srcdir="${source}"
+             destdir="${build}"
+             includes="org/jboss/**"
+             target="1.5"
+             source="1.5"
+             debug="true"
+             deprecation="false">
+         <classpath>
+            <path refid="lib.classpath"/>
+            <path refid="cache.classpath"/>
+         </classpath>
+      </javac>
+
+      <copy todir="${output}/etc">
+         <fileset dir="${etc}">
+            <include name="**/*"/>
+         </fileset>
+      </copy>
+   </target>
+
+
+   <!-- eg. ant run.examples -Dtest=org/jboss/test/cache/api/CacheAPITest -->
+   <target name="one.test" depends="compile" description="run one TestNG test case.">
+      <testng
+            outputDir="${reports}"
+            haltOnFailure="true"
+            timeOut="${single.test.timeout}"
+            verbose="2">
+         <classpath refid="test.classpath"/>
+         <classfileset dir="${build}" includes="${test}.class"/>
+         <jvmarg value="${jvm.ipv4}"/>
+         <jvmarg value="${jvm.localhost}"/>
+      </testng>
+   </target>
+
+   <target name="run.tests" depends="compile" description="run TestNG test cases.">
+      <testng
+            outputDir="${reports}"
+            haltOnFailure="true"
+            listener="org.jboss.cache.pojo.testng.TestListener"
+            timeOut="${all.test.timeout}"
+            verbose="2">
+         <classpath>
+            <path refid="test.classpath"/>
+         </classpath>
+         <classfileset dir="${build}" includes="**/*Test.class"/>
+         <jvmarg value="${jvm.ipv4}"/>
+         <jvmarg value="${jvm.localhost}"/>
+         <jvmarg value="-javaagent:lib/jboss-aop.jar"/>
+         <jvmarg value="-Djboss.aop.path=etc/META-INF/pojocache-aop.xml"/>
+      </testng>
+   </target>
+
+   <target name="run.demo" depends="compile" description="Run JBoss Cache demo.">
+      <java classname="org.jboss.cache.pojo.demo.PojoCacheView" fork="yes">
+         <jvmarg value="-Xmx128M"/>
+         <jvmarg value="-javaagent:lib/jboss-aop.jar"/>
+         <jvmarg value="-Djboss.aop.path=etc/META-INF/pojocache-aop.xml"/>
+         <classpath refid="test.classpath"/>
+         <jvmarg value="${jvm.ipv4}"/>
+         <jvmarg value="${jvm.localhost}"/>
+         <arg value="-console"/>
+      </java>
+   </target>
+
+</project>

Copied: pojo/tags/2.1.0.GA/src/main/release/etc (from rev 5433, pojo/branches/2.1/src/main/release/etc)

Copied: pojo/tags/2.1.0.GA/src/main/release/etc/META-INF (from rev 5437, pojo/branches/2.1/src/main/release/etc/META-INF)

Deleted: pojo/tags/2.1.0.GA/src/main/release/etc/replSync-service.xml
===================================================================
--- pojo/branches/2.1/src/main/release/etc/replSync-service.xml	2008-03-15 04:18:42 UTC (rev 5433)
+++ pojo/tags/2.1.0.GA/src/main/release/etc/replSync-service.xml	2008-03-15 05:40:15 UTC (rev 5439)
@@ -1,175 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ===================================================================== -->
-<!--                                                                       -->
-<!--  Sample TreeCache Service Configuration                               -->
-<!--                                                                       -->
-<!-- ===================================================================== -->
-
-<server>
-
-   <!-- ==================================================================== -->
-   <!-- Defines TreeCache configuration                                      -->
-   <!-- ==================================================================== -->
-
-   <mbean code="org.jboss.cache.jmx.CacheJmxWrapper"
-          name="jboss.cache:service=TreeCache">
-
-      <depends>jboss:service=Naming</depends>
-      <depends>jboss:service=TransactionManager</depends>
-
-      <!--
-          Configure the TransactionManager
-      -->
-      <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup
-      </attribute>
-
-      <!--
-          Isolation level : SERIALIZABLE
-                            REPEATABLE_READ (default)
-                            READ_COMMITTED
-                            READ_UNCOMMITTED
-                            NONE
-      -->
-      <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
-
-      <!--
-           Valid modes are LOCAL
-                           REPL_ASYNC
-                           REPL_SYNC
-                           INVALIDATION_ASYNC
-                           INVALIDATION_SYNC
-      -->
-      <attribute name="CacheMode">REPL_SYNC</attribute>
-
-      <!--
-      Just used for async repl: use a replication queue
-      -->
-      <attribute name="UseReplQueue">false</attribute>
-
-      <!--
-          Replication interval for replication queue (in ms)
-      -->
-      <attribute name="ReplQueueInterval">0</attribute>
-
-      <!--
-          Max number of elements which trigger replication
-      -->
-      <attribute name="ReplQueueMaxElements">0</attribute>
-
-      <!-- Name of cluster. Needs to be the same for all TreeCache nodes in a
-           cluster in order to find each other.
-      -->
-      <attribute name="ClusterName">JBossCache-Cluster</attribute>
-
-      <!--Uncomment next three statements to enable JGroups multiplexer.
-This configuration is dependent on the JGroups multiplexer being
-registered in an MBean server such as JBossAS.  -->
-      <!--
-      <depends>jgroups.mux:name=Multiplexer</depends>
-      <attribute name="MultiplexerService">jgroups.mux:name=Multiplexer</attribute>
-      <attribute name="MultiplexerStack">fc-fast-minimalthreads</attribute>
-      -->
-
-      <!-- JGroups protocol stack properties.
-         ClusterConfig isn't used if the multiplexer is enabled and successfully initialized.
-      -->
-      <attribute name="ClusterConfig">
-         <config>
-            <UDP mcast_addr="228.10.10.10"
-                 mcast_port="45588"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="2"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-
-                 use_concurrent_stack="true"
-
-                 thread_naming_pattern="pl"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 thread_pool.max_threads="25"
-                 thread_pool.keep_alive_time="30000"
-                 thread_pool.queue_enabled="true"
-                 thread_pool.queue_max_size="10"
-                 thread_pool.rejection_policy="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="4"
-                 oob_thread_pool.keep_alive_time="10000"
-                 oob_thread_pool.queue_enabled="true"
-                 oob_thread_pool.queue_max_size="10"
-                 oob_thread_pool.rejection_policy="Run"/>
-
-            <PING timeout="2000" num_initial_members="3"/>
-            <MERGE2 max_interval="30000" min_interval="10000"/>
-            <FD_SOCK/>
-            <FD timeout="10000" max_tries="5" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                           use_mcast_xmit="false" gc_lag="0"
-                           retransmit_timeout="300,600,1200,2400,4800"
-                           discard_delivered_msgs="true"/>
-            <UNICAST timeout="300,600,1200,2400,3600"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                           max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="5000"
-                        join_retry_timeout="2000" shun="false"
-                        view_bundling="true" view_ack_collection_timeout="5000"/>
-            <FRAG2 frag_size="60000"/>
-            <pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/>
-            <!-- <pbcast.STATE_TRANSFER/> -->
-            <pbcast.FLUSH timeout="0"/>
-         </config>
-      </attribute>
-
-
-      <!--
-       Whether or not to fetch state on joining a cluster
-       NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
-      -->
-      <attribute name="FetchInMemoryState">true</attribute>
-
-      <!--
-          The max amount of time (in milliseconds) we wait until the
-          state (ie. the contents of the cache) are retrieved from
-          existing members in a clustered environment
-      -->
-      <attribute name="StateRetrievalTimeout">15000</attribute>
-
-      <!--
-          Number of milliseconds to wait until all responses for a
-          synchronous call have been received.
-      -->
-      <attribute name="SyncReplTimeout">15000</attribute>
-
-      <!-- Max number of milliseconds to wait for a lock acquisition -->
-      <attribute name="LockAcquisitionTimeout">10000</attribute>
-
-      <!--
-         Indicate whether to use region based marshalling or not. Set this to true if you are running under a scoped
-         class loader, e.g., inside an application server. Default is "false".
-      -->
-      <attribute name="UseRegionBasedMarshalling">true</attribute>
-   </mbean>
-
-
-   <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
-   <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
-   <!--      <depends>jboss.cache:service=TreeCache</depends>-->
-   <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
-   <!--   </mbean>-->
-
-
-</server>

Copied: pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng (from rev 5436, pojo/branches/2.1/src/test/java/org/jboss/cache/pojo/testng)

Deleted: pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java
===================================================================
--- pojo/branches/2.1/src/test/java/org/jboss/cache/pojo/testng/TestListener.java	2008-03-15 04:23:22 UTC (rev 5436)
+++ pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java	2008-03-15 05:40:15 UTC (rev 5439)
@@ -1,45 +0,0 @@
-package org.jboss.cache.pojo.testng;
-
-import org.testng.ITestContext;
-import org.testng.ITestListener;
-import org.testng.ITestResult;
-import org.testng.TestListenerAdapter;
-
-public class TestListener extends TestListenerAdapter
-{
-   public void onStart(ITestContext arg0)
-   {
-      System.out.println("Running: " + arg0.getName());
-
-   }
-
-   public void onTestFailedButWithinSuccessPercentage(ITestResult arg0)
-   {
-      // TODO Auto-generated method stub
-
-   }
-
-   public void onTestFailure(ITestResult arg0)
-   {
-      // TODO Auto-generated method stub
-
-   }
-
-   public void onTestSkipped(ITestResult arg0)
-   {
-      // TODO Auto-generated method stub
-
-   }
-
-   public void onTestStart(ITestResult arg0)
-   {
-     System.out.println("Running test:" + arg0.getTestClass().getName() + "." + arg0.getName());
-   }
-
-   public void onTestSuccess(ITestResult arg0)
-   {
-      // TODO Auto-generated method stub
-
-   }
-
-}

Copied: pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java (from rev 5437, pojo/branches/2.1/src/test/java/org/jboss/cache/pojo/testng/TestListener.java)
===================================================================
--- pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java	                        (rev 0)
+++ pojo/tags/2.1.0.GA/src/test/java/org/jboss/cache/pojo/testng/TestListener.java	2008-03-15 05:40:15 UTC (rev 5439)
@@ -0,0 +1,27 @@
+package org.jboss.cache.pojo.testng;
+
+import org.testng.ITestResult;
+import org.testng.TestListenerAdapter;
+
+public class TestListener extends TestListenerAdapter
+{
+   public void onTestFailure(ITestResult arg0)
+   {
+      System.out.println("Failed: " + getName(arg0));
+   }
+
+   private String getName(ITestResult arg0)
+   {
+      return arg0.getTestClass().getName() + "." + arg0.getName();
+   }
+
+   public void onTestSkipped(ITestResult arg0)
+   {
+      System.out.println("Skiped: " + getName(arg0));
+   }
+
+   public void onTestStart(ITestResult arg0)
+   {
+     System.out.println("Running test: " + getName(arg0));
+   }
+}




More information about the jbosscache-commits mailing list