[jboss-cvs] JBossAS SVN: r75011 - in projects/security/security-jboss-sx/tags: 2.0.2.CR6 and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 24 17:41:44 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-06-24 17:41:44 -0400 (Tue, 24 Jun 2008)
New Revision: 75011

Added:
   projects/security/security-jboss-sx/tags/2.0.2.CR6/
   projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
   projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
Removed:
   projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
   projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
   projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
Log:
[maven-release-plugin]  copy for tag 2.0.2.CR6

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6 (from rev 74848, projects/security/security-jboss-sx/trunk)

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,146 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-parent</artifactId>
-      <version>2.0.2-SNAPSHOT</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <artifactId>jboss-security-acl-impl</artifactId>
-   <packaging>jar</packaging>
-   <name>JBoss Security ACL Implementation</name>
-   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-   <licenses>
-      <license>
-         <name>lgpl</name>
-         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-      </license>
-   </licenses>
-   <organization>
-      <name>JBoss Inc.</name>
-      <url>http://www.jboss.org</url>
-   </organization>
-   <profiles>
-    <!--    mvn install -Psecurity-manager    -->
-    <profile>
-      <id>security-manager</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-    <!--     mvn install -Psecurity-manager-debug   -->
-    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
-    <profile>
-      <id>security-manager-debug</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-   </profiles>
-   <build>
-      <sourceDirectory>src/main/java</sourceDirectory>
-      <outputDirectory>target/classes</outputDirectory>
-      <testSourceDirectory>src/tests/java</testSourceDirectory>
-      <testOutputDirectory>target/test-classes</testOutputDirectory>
-      <finalName>${artifactId}</finalName>
-      <resources>
-         <resource>
-            <directory>${basedir}</directory>
-            <includes>
-               <include>JBossORG-EULA.txt</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>src/main/resources</directory>
-            <includes>
-               <include>**/*.dtd</include>
-               <include>**/*.xsd</include>
-            </includes>
-         </resource>
-      </resources> 
-      <testResources>
-         <testResource>
-            <directory>src/tests/resources/</directory>
-            <includes>
-               <include>**/*.xml</include>
-            </includes>
-         </testResource>
-      </testResources>
-   </build>
-   <dependencies> 
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-security-spi</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-common-core</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>jboss</groupId>
-         <artifactId>jboss-logging-spi</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>jboss</groupId>
-         <artifactId>jboss-logging-log4j</artifactId>
-         <scope>runtime</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.hibernate</groupId>
-         <artifactId>hibernate</artifactId>
-         <version>3.2.4.sp1</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.hibernate</groupId>
-         <artifactId>hibernate-annotations</artifactId>
-         <version>3.3.0.ga</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.hibernate</groupId>
-         <artifactId>hibernate-entitymanager</artifactId>
-         <version>3.3.1.ga</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>hsqldb</groupId>
-         <artifactId>hsqldb</artifactId>
-         <version>1.8.0.2</version>
-         <scope>test</scope>
-      </dependency>
-      <dependency>
-         <groupId>apache-log4j</groupId>
-         <artifactId>log4j</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-test</artifactId>
-         <scope>test</scope>
-      </dependency>    
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>identity-impl</artifactId>
-         <version>${project.version}</version>
-         <scope>compile</scope>
-      </dependency>    
-   </dependencies>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/acl/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/acl/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,146 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jbosssx-parent</artifactId>
+      <version>2.0.2.CR6</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>jboss-security-acl-impl</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss Security ACL Implementation</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <profiles>
+    <!--    mvn install -Psecurity-manager    -->
+    <profile>
+      <id>security-manager</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+    <!--     mvn install -Psecurity-manager-debug   -->
+    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
+    <profile>
+      <id>security-manager-debug</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+   </profiles>
+   <build>
+      <sourceDirectory>src/main/java</sourceDirectory>
+      <outputDirectory>target/classes</outputDirectory>
+      <testSourceDirectory>src/tests/java</testSourceDirectory>
+      <testOutputDirectory>target/test-classes</testOutputDirectory>
+      <finalName>${artifactId}</finalName>
+      <resources>
+         <resource>
+            <directory>${basedir}</directory>
+            <includes>
+               <include>JBossORG-EULA.txt</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>src/main/resources</directory>
+            <includes>
+               <include>**/*.dtd</include>
+               <include>**/*.xsd</include>
+            </includes>
+         </resource>
+      </resources> 
+      <testResources>
+         <testResource>
+            <directory>src/tests/resources/</directory>
+            <includes>
+               <include>**/*.xml</include>
+            </includes>
+         </testResource>
+      </testResources>
+   </build>
+   <dependencies> 
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-security-spi</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-common-core</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>jboss</groupId>
+         <artifactId>jboss-logging-spi</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>jboss</groupId>
+         <artifactId>jboss-logging-log4j</artifactId>
+         <scope>runtime</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.hibernate</groupId>
+         <artifactId>hibernate</artifactId>
+         <version>3.2.4.sp1</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.hibernate</groupId>
+         <artifactId>hibernate-annotations</artifactId>
+         <version>3.3.0.ga</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.hibernate</groupId>
+         <artifactId>hibernate-entitymanager</artifactId>
+         <version>3.3.1.ga</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>hsqldb</groupId>
+         <artifactId>hsqldb</artifactId>
+         <version>1.8.0.2</version>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-test</artifactId>
+         <scope>test</scope>
+      </dependency>    
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>identity-impl</artifactId>
+         <version>${project.version}</version>
+         <scope>compile</scope>
+      </dependency>    
+   </dependencies>
+</project>

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/assembly/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,62 +0,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/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.security</groupId>
-    <artifactId>jbosssx-parent</artifactId>
-    <version>2.0.2-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.jboss.security</groupId>
-  <artifactId>jbosssx</artifactId>
-  <packaging>pom</packaging>
-  <name>JBoss Security Implementation for the JBAS - Assembly</name>
-  <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-  <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-  <licenses>
-    <license>
-      <name>lgpl</name>
-      <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-    </license>
-  </licenses>
-  <organization>
-    <name>JBoss Inc.</name>
-    <url>http://www.jboss.org</url>
-  </organization>
-    
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.1</version>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>attached</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <archive>
-            <manifestEntries>
-              <Specification-Title>JBoss Security Implementation for the JBAS</Specification-Title>
-              <Specification-Version>${project.version}</Specification-Version>
-              <Specification-Vendor>Red Hat Middleware LLC</Specification-Vendor>
-              <Implementation-Title>JBoss Security Implementation for the JBAS</Implementation-Title>
-              <Implementation-Version>${project.version}</Implementation-Version>
-              <Implementation-VendorId>org.jboss.security</Implementation-VendorId>
-              <Implementation-Vendor>Red Hat Middleware LLC</Implementation-Vendor>
-              <Implementation-URL>http://labs.jboss.org/portal/jbosssecurity/</Implementation-URL>
-            </manifestEntries>
-          </archive>
-          <descriptors>
-            <descriptor>src/assembly/bin.xml</descriptor>
-            <descriptor>src/assembly/sources.xml</descriptor>
-          </descriptors>
-        </configuration>
-        <inherited>false</inherited>
-      </plugin>
-    </plugins>
-  </build>
-  
-</project>
\ No newline at end of file

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/assembly/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/assembly/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.security</groupId>
+    <artifactId>jbosssx-parent</artifactId>
+    <version>2.0.2.CR6</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.security</groupId>
+  <artifactId>jbosssx</artifactId>
+  <packaging>pom</packaging>
+  <name>JBoss Security Implementation for the JBAS - Assembly</name>
+  <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+  <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+  <licenses>
+    <license>
+      <name>lgpl</name>
+      <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+    </license>
+  </licenses>
+  <organization>
+    <name>JBoss Inc.</name>
+    <url>http://www.jboss.org</url>
+  </organization>
+    
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.1</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <archive>
+            <manifestEntries>
+              <Specification-Title>JBoss Security Implementation for the JBAS</Specification-Title>
+              <Specification-Version>${project.version}</Specification-Version>
+              <Specification-Vendor>Red Hat Middleware LLC</Specification-Vendor>
+              <Implementation-Title>JBoss Security Implementation for the JBAS</Implementation-Title>
+              <Implementation-Version>${project.version}</Implementation-Version>
+              <Implementation-VendorId>org.jboss.security</Implementation-VendorId>
+              <Implementation-Vendor>Red Hat Middleware LLC</Implementation-Vendor>
+              <Implementation-URL>http://labs.jboss.org/portal/jbosssecurity/</Implementation-URL>
+            </manifestEntries>
+          </archive>
+          <descriptors>
+            <descriptor>src/assembly/bin.xml</descriptor>
+            <descriptor>src/assembly/sources.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <inherited>false</inherited>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>
\ No newline at end of file

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/identity/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,123 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-parent</artifactId>
-      <version>2.0.2-SNAPSHOT</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <artifactId>identity-impl</artifactId>
-   <packaging>jar</packaging>
-   <name>JBoss Security Identity Implementation</name>
-   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-   <licenses>
-      <license>
-         <name>lgpl</name>
-         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-      </license>
-   </licenses>
-   <organization>
-      <name>JBoss Inc.</name>
-      <url>http://www.jboss.org</url>
-   </organization>
-   <profiles>
-    <!--    mvn install -Psecurity-manager    -->
-    <profile>
-      <id>security-manager</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-    <!--     mvn install -Psecurity-manager-debug   -->
-    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
-    <profile>
-      <id>security-manager-debug</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-   </profiles>
-   <build>
-      <sourceDirectory>src/main</sourceDirectory>
-      <testSourceDirectory>src/tests</testSourceDirectory>
-      <testOutputDirectory>target/test-classes</testOutputDirectory>
-      <finalName>${artifactId}</finalName>
-      <outputDirectory>target/classes</outputDirectory>
-      <resources>
-         <resource>
-            <directory>src/main</directory>
-            <includes>
-               <include>**/*.xml</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>${basedir}</directory>
-            <includes>
-               <include>JBossORG-EULA.txt</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>src/resources</directory>
-            <includes>
-               <include>**/*.dtd</include>
-               <include>**/*.xsd</include>
-            </includes>
-         </resource>
-      </resources> 
-      <testResources>
-         <testResource>
-            <directory>src/tests/resources/</directory>
-         </testResource>
-         <testResource>
-            <directory>src/main</directory>
-         </testResource>
-      </testResources>
-   </build>
-   <dependencies> 
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-security-spi</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-common-core</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>jboss</groupId>
-         <artifactId>jboss-logging-spi</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>jboss</groupId>
-         <artifactId>jboss-logging-log4j</artifactId>
-         <scope>runtime</scope>
-      </dependency>
-      <dependency>
-         <groupId>apache-log4j</groupId>
-         <artifactId>log4j</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-test</artifactId>
-         <scope>test</scope>
-      </dependency>    
-   </dependencies>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/identity/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/identity/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,123 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jbosssx-parent</artifactId>
+      <version>2.0.2.CR6</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>identity-impl</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss Security Identity Implementation</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <profiles>
+    <!--    mvn install -Psecurity-manager    -->
+    <profile>
+      <id>security-manager</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+    <!--     mvn install -Psecurity-manager-debug   -->
+    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
+    <profile>
+      <id>security-manager-debug</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+   </profiles>
+   <build>
+      <sourceDirectory>src/main</sourceDirectory>
+      <testSourceDirectory>src/tests</testSourceDirectory>
+      <testOutputDirectory>target/test-classes</testOutputDirectory>
+      <finalName>${artifactId}</finalName>
+      <outputDirectory>target/classes</outputDirectory>
+      <resources>
+         <resource>
+            <directory>src/main</directory>
+            <includes>
+               <include>**/*.xml</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>${basedir}</directory>
+            <includes>
+               <include>JBossORG-EULA.txt</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>src/resources</directory>
+            <includes>
+               <include>**/*.dtd</include>
+               <include>**/*.xsd</include>
+            </includes>
+         </resource>
+      </resources> 
+      <testResources>
+         <testResource>
+            <directory>src/tests/resources/</directory>
+         </testResource>
+         <testResource>
+            <directory>src/main</directory>
+         </testResource>
+      </testResources>
+   </build>
+   <dependencies> 
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-security-spi</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-common-core</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>jboss</groupId>
+         <artifactId>jboss-logging-spi</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>jboss</groupId>
+         <artifactId>jboss-logging-log4j</artifactId>
+         <scope>runtime</scope>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-test</artifactId>
+         <scope>test</scope>
+      </dependency>    
+   </dependencies>
+</project>

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,229 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-parent</artifactId>
-      <version>2.0.2-SNAPSHOT</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <artifactId>jbosssx-bare</artifactId>
-   <packaging>jar</packaging>
-   <name>JBoss Security Implementation for the JBAS</name>
-   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-   <licenses>
-      <license>
-         <name>lgpl</name>
-         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-      </license>
-   </licenses>
-   <organization>
-      <name>JBoss Inc.</name>
-      <url>http://www.jboss.org</url>
-   </organization>
-   <profiles>
-    <!--    mvn install -Psecurity-manager    -->
-    <profile>
-      <id>security-manager</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-    <!--     mvn install -Psecurity-manager-debug   -->
-    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
-    <profile>
-      <id>security-manager-debug</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
-      </properties>
-    </profile>
-   </profiles>
-   <build>
-      <sourceDirectory>src/main</sourceDirectory>
-      <testSourceDirectory>src/tests</testSourceDirectory>
-      <testOutputDirectory>target/test-classes</testOutputDirectory>
-      <finalName>${artifactId}</finalName>
-      <outputDirectory>target/classes</outputDirectory>
-      <resources>
-         <resource>
-            <directory>src/main</directory>
-            <includes>
-               <include>**/*.xml</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>${basedir}</directory>
-            <includes>
-               <include>JBossORG-EULA.txt</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>src/resources</directory>
-            <includes>
-               <include>**/*.dtd</include>
-               <include>**/*.xsd</include>
-            </includes>
-         </resource>
-         <resource>
-            <directory>target/generated-sources/javacc</directory>
-            <includes>
-               <include>**/*.class</include>
-            </includes>
-         </resource> 
-      </resources> 
-      <testResources>
-         <testResource>
-            <directory>src/tests/resources/</directory>
-         </testResource>
-         <testResource>
-            <directory>src/main</directory>
-         </testResource>
-      </testResources>
-      <plugins>
-         <!-- generate java files from grammar -->
-         <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>javacc-maven-plugin</artifactId>
-            <version>2.3-jboss-1</version>
-            <configuration>
-               <packageName>org/jboss/security/auth/login</packageName>
-               <sourceDirectory>src/main</sourceDirectory>
-               <isStatic>false</isStatic>
-            </configuration>
-            <executions>
-               <execution>
-                  <goals>
-                     <goal>javacc</goal>
-                  </goals>
-                  <id>javacc</id>
-               </execution>
-            </executions>
-         </plugin> 
-      </plugins>
-   </build>
-   <dependencies> 
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-jacc-api</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-transaction-api</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-jaspi-api</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jbossxb</artifactId>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-security-acl-impl</artifactId>
-         <version>${project.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>identity-impl</artifactId>
-         <version>${project.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>javassist</groupId>
-         <artifactId>javassist</artifactId>
-         <version>3.4.GA</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-javaee</artifactId>
-         <version>5.0.0.Beta3</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>jboss</groupId>
-         <artifactId>jboss-jmx</artifactId>
-         <version>4.2.1.GA</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-xacml</artifactId>
-         <version>2.0.2.GA</version>
-         <scope>compile</scope>
-         <exclusions>
-          <exclusion>
-           <groupId>org.jboss.security</groupId>
-           <artifactId>jboss-sunxacml</artifactId>
-          </exclusion>
-         </exclusions>
-
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-sunxacml</artifactId>
-         <version>2.0.2.GA</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>javax.servlet</groupId>
-         <artifactId>servlet-api</artifactId>
-         <version>2.5</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>javax.mail</groupId>
-         <artifactId>mail</artifactId>
-         <version>1.4</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>apache-xerces</groupId>
-         <artifactId>xercesImpl</artifactId>
-         <version>2.7.1</version>
-         <scope>test</scope>
-      </dependency> 
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jnpserver</artifactId>
-         <version>5.0.0.Beta3</version>
-         <scope>test</scope>
-      </dependency>    
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-test</artifactId>
-         <scope>test</scope>
-      </dependency>    
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-security-spi</artifactId>
-      </dependency>
-      <dependency>
-         <groupId>sun-opends</groupId>
-         <artifactId>opends-core</artifactId>
-         <version>1.0.0-BUILD04</version>
-         <scope>test</scope>
-      </dependency>    
-      <dependency>
-         <groupId>sleepycat</groupId>
-         <artifactId>je</artifactId>
-         <version>3.2.43</version>
-         <scope>test</scope>
-      </dependency>    
-   </dependencies>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,229 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jbosssx-parent</artifactId>
+      <version>2.0.2.CR6</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>jbosssx-bare</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss Security Implementation for the JBAS</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <profiles>
+    <!--    mvn install -Psecurity-manager    -->
+    <profile>
+      <id>security-manager</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+    <!--     mvn install -Psecurity-manager-debug   -->
+    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
+    <profile>
+      <id>security-manager-debug</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+      </properties>
+    </profile>
+   </profiles>
+   <build>
+      <sourceDirectory>src/main</sourceDirectory>
+      <testSourceDirectory>src/tests</testSourceDirectory>
+      <testOutputDirectory>target/test-classes</testOutputDirectory>
+      <finalName>${artifactId}</finalName>
+      <outputDirectory>target/classes</outputDirectory>
+      <resources>
+         <resource>
+            <directory>src/main</directory>
+            <includes>
+               <include>**/*.xml</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>${basedir}</directory>
+            <includes>
+               <include>JBossORG-EULA.txt</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>src/resources</directory>
+            <includes>
+               <include>**/*.dtd</include>
+               <include>**/*.xsd</include>
+            </includes>
+         </resource>
+         <resource>
+            <directory>target/generated-sources/javacc</directory>
+            <includes>
+               <include>**/*.class</include>
+            </includes>
+         </resource> 
+      </resources> 
+      <testResources>
+         <testResource>
+            <directory>src/tests/resources/</directory>
+         </testResource>
+         <testResource>
+            <directory>src/main</directory>
+         </testResource>
+      </testResources>
+      <plugins>
+         <!-- generate java files from grammar -->
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>javacc-maven-plugin</artifactId>
+            <version>2.3-jboss-1</version>
+            <configuration>
+               <packageName>org/jboss/security/auth/login</packageName>
+               <sourceDirectory>src/main</sourceDirectory>
+               <isStatic>false</isStatic>
+            </configuration>
+            <executions>
+               <execution>
+                  <goals>
+                     <goal>javacc</goal>
+                  </goals>
+                  <id>javacc</id>
+               </execution>
+            </executions>
+         </plugin> 
+      </plugins>
+   </build>
+   <dependencies> 
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-jacc-api</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-transaction-api</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-jaspi-api</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jbossxb</artifactId>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-security-acl-impl</artifactId>
+         <version>${project.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>identity-impl</artifactId>
+         <version>${project.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>javassist</groupId>
+         <artifactId>javassist</artifactId>
+         <version>3.4.GA</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-javaee</artifactId>
+         <version>5.0.0.Beta3</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>jboss</groupId>
+         <artifactId>jboss-jmx</artifactId>
+         <version>4.2.1.GA</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-xacml</artifactId>
+         <version>2.0.2.GA</version>
+         <scope>compile</scope>
+         <exclusions>
+          <exclusion>
+           <groupId>org.jboss.security</groupId>
+           <artifactId>jboss-sunxacml</artifactId>
+          </exclusion>
+         </exclusions>
+
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-sunxacml</artifactId>
+         <version>2.0.2.GA</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>javax.servlet</groupId>
+         <artifactId>servlet-api</artifactId>
+         <version>2.5</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>javax.mail</groupId>
+         <artifactId>mail</artifactId>
+         <version>1.4</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>apache-xerces</groupId>
+         <artifactId>xercesImpl</artifactId>
+         <version>2.7.1</version>
+         <scope>test</scope>
+      </dependency> 
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jnpserver</artifactId>
+         <version>5.0.0.Beta3</version>
+         <scope>test</scope>
+      </dependency>    
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-test</artifactId>
+         <scope>test</scope>
+      </dependency>    
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-security-spi</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>sun-opends</groupId>
+         <artifactId>opends-core</artifactId>
+         <version>1.0.0-BUILD04</version>
+         <scope>test</scope>
+      </dependency>    
+      <dependency>
+         <groupId>sleepycat</groupId>
+         <artifactId>je</artifactId>
+         <version>3.2.43</version>
+         <scope>test</scope>
+      </dependency>    
+   </dependencies>
+</project>

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociation.java	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,1132 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.security;
-
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import javax.security.auth.Subject;
-
-import org.jboss.logging.Logger;
-
-/**
- * The SecurityAssociation class maintains the security principal and
- * credentials. This can be done on either a singleton basis or a thread local
- * basis depending on the server property. When the server property has been set
- * to true, the security information is maintained in thread local storage. The
- * type of thread local storage depends on the org.jboss.security.SecurityAssociation.ThreadLocal
- * property. If this property is true, then the thread local storage object is
- * of type java.lang.ThreadLocal which results in the current thread's security
- * information NOT being propagated to child threads.
- *
- * When the property is false or does not exist, the thread local storage object
- * is of type java.lang.InheritableThreadLocal, and any threads spawned by the
- * current thread will inherit the security information of the current thread.
- * Subseqent changes to the current thread's security information are NOT
- * propagated to any previously spawned child threads.
- *
- * When the server property is false, security information is maintained in
- * class variables which makes the information available to all threads within
- * the current VM.
- * 
- * Note that this is not a public API class. Its an implementation detail that
- * is subject to change without notice.
- * 
- * @author Daniel O'Connor (docodan at nycap.rr.com)
- * @author Scott.Stark at jboss.org
- * @author Anil.Saldhana at redhat.com
- * @version $Revision$
- */
-public final class SecurityAssociation
-{
-   private static Logger log = Logger.getLogger(SecurityAssociation.class);
-   /**
-    * A flag indicating if trace level logging should be performed
-    */
-   private static boolean trace;
-   /**
-    * A flag indicating if security information is global or thread local
-    */
-   private static boolean server;
-   /**
-    * The SecurityAssociation principal used when the server flag is false
-    */
-   private static Principal principal;
-   /**
-    * The SecurityAssociation credential used when the server flag is false
-    */
-   private static Object credential;
-
-   /**
-    * The SecurityAssociation principal used when the server flag is true
-    */
-   private static ThreadLocal<Principal> threadPrincipal;
-   /**
-    * The SecurityAssociation credential used when the server flag is true
-    */
-   private static ThreadLocal<Object> threadCredential;
-   /**
-    * The SecurityAssociation HashMap<String, Object>
-    */
-   private static ThreadLocal<HashMap<String,Object>> threadContextMap;
-
-   /**
-    * Thread local stacks of run-as principal roles used to implement J2EE
-    * run-as identity propagation
-    */
-   private static RunAsThreadLocalStack threadRunAsStacks;
-   /**
-    * Thread local stacks of authenticated subject used to control the current
-    * caller security context
-    */ 
-   private static SubjectThreadLocalStack threadSubjectStacks; 
-
-   /**
-    * The permission required to access getPrincpal, getCredential
-    */
-   private static final RuntimePermission getPrincipalInfoPermission =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo");
-   /**
-    * The permission required to access getSubject
-    */
-   private static final RuntimePermission getSubjectPermission =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.getSubject");
-   /**
-    * The permission required to access setPrincpal, setCredential, setSubject
-    * pushSubjectContext, popSubjectContext
-    */
-   private static final RuntimePermission setPrincipalInfoPermission =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo");
-   /**
-    * The permission required to access setServer
-    */
-   private static final RuntimePermission setServerPermission =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.setServer");
-   /**
-    * The permission required to access pushRunAsIdentity/popRunAsIdentity
-    */
-   private static final RuntimePermission setRunAsIdentity =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.setRunAsRole");
-   /**
-    * The permission required to get the current security context info
-    */
-   private static final RuntimePermission getContextInfo =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "get");
-   /**
-    * The permission required to set the current security context info
-    */
-   private static final RuntimePermission setContextInfo =
-      new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "set");
-
-   static
-   {
-      String flag = SecurityActions.getProperty("org.jboss.security.SecurityAssociation.ThreadLocal", "false");
-      boolean useThreadLocal = Boolean.valueOf(flag).booleanValue();
-      log.debug("Using ThreadLocal: "+useThreadLocal);
-
-      trace = log.isTraceEnabled();
-      if (useThreadLocal)
-      {
-         threadPrincipal = new ThreadLocal<Principal>();
-         threadCredential = new ThreadLocal<Object>();
-         threadContextMap = new ThreadLocal<HashMap<String,Object>>()
-         {
-            protected HashMap<String,Object> initialValue()
-            {
-               return new HashMap<String,Object>();
-            }
-         };
-      }
-      else
-      {
-         threadPrincipal = new InheritableThreadLocal<Principal>();
-         threadCredential = new InheritableThreadLocal<Object>();
-         threadContextMap = new HashMapInheritableLocal<HashMap<String,Object>>();
-      }
-      threadRunAsStacks = new RunAsThreadLocalStack(useThreadLocal);
-      threadSubjectStacks = new SubjectThreadLocalStack(useThreadLocal);
-   }
-
-   /**
-    * Get the current authentication principal information. If a security
-    * manager is present, then this method calls the security manager's
-    * <code>checkPermission</code> method with a
-    * <code>RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * @return Principal, the current principal identity.
-    */
-   public static Principal getPrincipal()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getPrincipalInfoPermission);
-
-      Principal thePrincipal = principal;
-      
-      if(!server)
-         return principal;
-      
-      if( trace )
-         log.trace("getPrincipal, principal="+thePrincipal);
-      
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-      if(sc != null)
-      {
-         if( trace )
-            log.warn("You are using deprecated api to getPrincipal. Use security context based approach");
-         thePrincipal = sc.getUtil().getUserPrincipal();
-      }
-      return thePrincipal;
-   } 
-
-   /**
-    * Get the caller's principal. If a security manager is present,
-    * then this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * 
-    * @return Principal, the current principal identity.
-    */
-   public static Principal getCallerPrincipal()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getPrincipalInfoPermission);
-
-      /*Principal thePrincipal = peekRunAsIdentity(1);
-      if( thePrincipal == null )
-      {
-         if (server)
-            thePrincipal = (Principal) threadPrincipal.get();
-         else
-            thePrincipal = principal;
-      }*/
-     
-      if(!server)
-         return principal;
-      
-      //Just pluck it from the current security context
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-      Principal thePrincipal = null;
-      if(sc != null)
-      {
-         //Check for runas
-         RunAs ras = sc.getIncomingRunAs();
-         if(ras != null)
-            thePrincipal = new SimplePrincipal(ras.getName());
-         else 
-            thePrincipal = sc.getUtil().getUserPrincipal();
-      }
-      if( trace )
-         log.trace("getCallerPrincipal, principal="+thePrincipal);
-      return thePrincipal;
-   }
-
-   /**
-    * Get the current authentication credential information. This can be of any type
-    * including: a String password, a char[] password, an X509 cert, etc. If a
-    * security manager is present, then this method calls the security manager's
-    * <code>checkPermission</code> method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * @return Object, the credential that proves the principal identity.
-    */
-   public static Object getCredential()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getPrincipalInfoPermission);
-
-      if(!server)
-         return credential;
-      
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-      if(sc != null)
-      {
-         if(trace)
-            log.warn("You are using deprecated api to getCredential. Use security context based approach");
-         credential = sc.getUtil().getCredential();
-      }
-      return credential;
-   }
-
-   /**
-    * Get the current Subject information. If a security manager is present,
-    * then this method calls the security manager's checkPermission method with
-    * a  RuntimePermission("org.jboss.security.SecurityAssociation.getSubject")
-    * permission to ensure it's ok to access principal information. If not, a
-    * SecurityException will be thrown. Note that this method does not consider
-    * whether or not a run-as identity exists. For access to this information
-    * see the JACC PolicyContextHandler registered under the key
-    * "javax.security.auth.Subject.container"
-    * @return Subject, the current Subject identity.
-    * @see javax.security.jacc.PolicyContext#getContext(String)
-    */
-   public static Subject getSubject()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getSubjectPermission);
-
-      SubjectContext sc = threadSubjectStacks.peek();
-      if( trace )
-         log.trace("getSubject, sc="+sc);
-      Subject subject = null;
-      /*if( sc != null )
-         subject = sc.getSubject();
-      return subject;*/
-      
-      SecurityContext secContext = SecurityAssociationActions.getSecurityContext();
-      if(secContext != null)
-      {
-         if(trace)
-            log.warn("You are using deprecated api to getSubject. Use security context based approach");
-         subject = secContext.getUtil().getSubject();
-      }
-      return subject;
-   }
-
-   /**
-    * Set the current principal information. If a security manager is present,
-    * then this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * @param principal - the current principal identity.
-    */
-   public static void setPrincipal(Principal principal)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      if (trace)
-         log.trace("setPrincipal, p=" + principal + ", server=" + server);
-      // Integrate with the new SubjectContext 
-      SubjectContext sc = threadSubjectStacks.peek();
-      if( sc == null )
-      {
-         // There is no active security context
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc);
-      }
-      else if( (sc.getFlags() & SubjectContext.PRINCIPAL_WAS_SET) != 0 )
-      {
-         // The current security context has its principal set
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc);    
-      }
-      sc.setPrincipal(principal);
-      
-      if(!server)
-      {
-         SecurityAssociation.principal = principal;
-         return; 
-      }
-      SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
-      //Clients code that may have set directly (Legacy)
-      if(securityContext == null)
-      {
-         try
-         {
-            securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
-         }
-         catch (Exception e)
-         {
-            throw new RuntimeException(e);
-         }
-         SecurityContextAssociation.setSecurityContext(securityContext);
-      }      
-      if(trace)
-         log.warn("Using deprecated API. Move to a security context based approach");
-      Object cred = securityContext.getUtil().getCredential();
-      Subject subj = securityContext.getUtil().getSubject();
-      securityContext.getUtil().createSubjectInfo(principal,cred, subj);
-     
-      if (trace)
-         log.trace("setPrincipal, sc="+sc);
-
-   } 
-
-   /**
-    * Set the current principal credential information. This can be of any type
-    * including: a String password, a char[] password, an X509 cert, etc.
-    *
-    * If a security manager is present, then this method calls the security
-    * manager's <code>checkPermission</code> method with a <code>
-    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * @param credential - the credential that proves the principal identity.
-    */
-   public static void setCredential(Object credential)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      // Integrate with the new SubjectContext 
-      SubjectContext sc = threadSubjectStacks.peek();
-      if( sc == null )
-      {
-         // There is no active security context
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc);
-      }
-      else if( (sc.getFlags() & SubjectContext.CREDENTIAL_WAS_SET) != 0 )
-      {
-         // The current security context has its principal set
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc);   
-      }
-      sc.setCredential(credential);
-      if (trace)
-         log.trace("setCredential, sc="+sc);
-
-      if(!server)
-      {
-         SecurityAssociation.credential = credential;
-         return;
-      }
-      
-      SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
-      //Clients code that may have set directly (Legacy)
-      if(securityContext == null)
-      {
-         try
-         {
-            securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
-         }
-         catch (Exception e)
-         {
-            throw new RuntimeException(e);
-         }
-         SecurityContextAssociation.setSecurityContext(securityContext);
-      }
-
-      if(trace)
-         log.warn("Using deprecated API. Move to a security context based approach");
-      Principal principal = securityContext.getUtil().getUserPrincipal();
-      Subject subj = securityContext.getUtil().getSubject();
-      securityContext.getUtil().createSubjectInfo(principal,credential, subj);      
-   }
-
-   /**
-    * Set the current Subject information. If a security manager is present,
-    * then this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    * @param subject - the current identity.
-    */
-   public static void setSubject(Subject subject)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      if (trace)
-         log.trace("setSubject, s=" + subject + ", server=" + server);
-      // Integrate with the new SubjectContext 
-      SubjectContext sc = threadSubjectStacks.peek();
-      if( sc == null )
-      {
-         // There is no active security context
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc);
-      }
-      else if( (sc.getFlags() & SubjectContext.SUBJECT_WAS_SET) != 0 )
-      {
-         // The current security context has its subject set
-         sc = new SubjectContext();
-         threadSubjectStacks.push(sc); 
-      }
-      sc.setSubject(subject);
-      if (trace)
-         log.trace("setSubject, sc="+sc);
-      
-      SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
-      if(sctx != null)
-      {
-         SubjectInfo si = sctx.getSubjectInfo();
-         if(si != null)
-         {
-            si.setAuthenticatedSubject(subject);
-         }
-         else
-            sctx.getUtil().createSubjectInfo(null, null, subject);
-      }
-   }
-
-   /**
-    * Get the current thread context info. If a security manager is present,
-    * then this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
-    * "get") </code> permission to ensure it's ok to access context information.
-    * If not, a <code>SecurityException</code> will be thrown.
-    * @param key - the context key
-    * @return the mapping for the key in the current thread context
-    */
-   public static Object getContextInfo(String key)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getContextInfo);
-
-      if(key == null)
-         throw new IllegalArgumentException("key is null");
-      HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
-      return contextInfo != null ? contextInfo.get(key) : null;
-   }
-
-   /**
-    * Set the current thread context info. If a security manager is present,
-    * then this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
-    * "set") </code> permission to ensure it's ok to access context information.
-    * If not, a <code>SecurityException</code> will be thrown.
-    * @param key - the context key
-    * @param value - the context value to associate under key
-    * @return the previous mapping for the key if one exists
-    */
-   public static Object setContextInfo(String key, Object value)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setContextInfo);
-
-      HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
-      return contextInfo.put(key, value);
-   }
-
-   /**
-    * Push the current authenticated context. This sets the authenticated subject
-    * along with the principal and proof of identity that was used to validate
-    * the subject. This context is used for authorization checks. Typically
-    * just the subject as seen by getSubject() is input into the authorization.
-    * When run under a security manager this requires the
-    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * permission.
-    * @param subject - the authenticated subject
-    * @param principal - the principal that was input into the authentication
-    * @param credential - the credential that was input into the authentication
-    * @deprecated
-    */ 
-   public static void pushSubjectContext(Subject subject,
-      Principal principal, Object credential)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      // Set the legacy single-value access points
-      if (server)
-      {
-         threadPrincipal.set(principal);
-         threadCredential.set(credential);    
-      }
-      else
-      {
-         SecurityAssociation.principal = principal;
-         SecurityAssociation.credential = credential;
-      }
-   
-      // Push the subject context
-      SubjectContext sc = new SubjectContext(subject, principal, credential);
-      threadSubjectStacks.push(sc);
-
-      if(server)
-      { 
-         if (trace)
-            log.trace("pushSubjectContext, subject=" + subject + ", sc="+sc);
-      
-         //Use the new method
-         SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
-         if(sctx == null)
-         {
-            if(trace)
-               log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
-            try
-            {
-               sctx = SecurityAssociationActions.createSecurityContext("FROM_SECURITY_ASSOCIATION");
-            }
-            catch (Exception e)
-            {
-               throw new RuntimeException(e);
-            }
-         }
-         sctx.getUtil().createSubjectInfo(principal, credential,subject);
-         SecurityAssociationActions.setSecurityContext(sctx);   
-      }
-   }
-   /**
-    * Push a duplicate of the current SubjectContext if one exists.
-    * When run under a security manager this requires the
-    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * permission.
-    */
-   public static void dupSubjectContext()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      SubjectContext sc = threadSubjectStacks.dup();
-      if (trace)
-         log.trace("dupSubjectContext, sc="+sc);
-   }
-
-   /**
-    * Pop the current SubjectContext from the previous pushSubjectContext call
-    * and return the pushed SubjectContext ig there was one.
-    * When run under a security manager this requires the
-    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * permission.
-    * @return the SubjectContext pushed previously by a pushSubjectContext call
-    * @deprecated
-    */ 
-   public static SubjectContext popSubjectContext()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      SubjectContext sc = threadSubjectStacks.pop();
-      if (trace)
-      {
-         log.trace("popSubjectContext, sc="+sc);
-      }
-      
-      Principal principal = null;
-      Object credential = null;
-      
-      SubjectContext top = threadSubjectStacks.peek();
-      
-      if (top != null)
-      {
-         principal = top.getPrincipal();
-         credential = top.getCredential();
-      }
-      
-      if (server)
-      {
-         threadPrincipal.set(principal);
-         threadCredential.set(credential);
-      }
-      else
-      {
-         SecurityAssociation.principal = principal;
-         SecurityAssociation.credential = credential;
-      }
-      
-      if(server)
-      { 
-         if(trace)
-            log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
-         SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
-         
-         if(sc == null)
-         {
-            if(sctx != null)
-            {  
-               sc = new SubjectContext(sctx.getUtil().getSubject(),
-                     sctx.getUtil().getUserPrincipal(),
-                     sctx.getUtil().getCredential()); 
-            }
-         }
-         //Now pop the subject context on the security context
-         if(sctx != null)
-         {
-            sctx.getUtil().createSubjectInfo(null, null, null); 
-         } 
-         return sc;  
-      }
-      return top;
-   }
-   
-   /**
-    * Look at the current thread of control's authenticated identity on the top
-    * of the stack.
-    * When run under a security manager this requires the
-    * RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
-    * permission.
-    * @return the SubjectContext pushed previously by a pushSubjectContext call
-    */
-   public static SubjectContext peekSubjectContext()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(getPrincipalInfoPermission);
-
-      if(server)
-      {
-         //Get the subject context from the security context
-         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-         SubjectContext subjectCtx = null;
-         if( sc != null)
-         {
-            SecurityContextUtil util = sc.getUtil();
-            subjectCtx = new SubjectContext(util.getSubject(), util.getUserPrincipal(), util.getCredential());
-         }
-         return subjectCtx; 
-      }
-      return threadSubjectStacks.peek();
-   }
-
-   /**
-    * Clear all principal information. If a security manager is present, then
-    * this method calls the security manager's <code>checkPermission</code>
-    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    */
-   public static void clear()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setPrincipalInfoPermission);
-
-      if (trace)
-         log.trace("clear, server=" + server);
-      if (server == true)
-      {
-         threadPrincipal.set(null);
-         threadCredential.set(null);
-      }
-      else
-      {
-         SecurityAssociation.principal = null;
-         SecurityAssociation.credential = null;
-      }
-      // Remove all subject contexts
-      threadSubjectStacks.clear(); 
-      
-      //Clear the security context
-      SecurityContextAssociation.clearSecurityContext();
-   }
-
-   /**
-    * Push the current thread of control's run-as identity.
-    */
-   public static void pushRunAsIdentity(RunAsIdentity runAs)
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setRunAsIdentity);
-      if (trace)
-         log.trace("pushRunAsIdentity, runAs=" + runAs);
-      
-      threadRunAsStacks.push(runAs);
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext(); 
-      if( sc != null)
-      { 
-         sc.setOutgoingRunAs(runAs);
-      }
-   }
-
-   /**
-    * Pop the current thread of control's run-as identity.
-    */
-   public static RunAsIdentity popRunAsIdentity()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setRunAsIdentity);
-      /*RunAsIdentity runAs = threadRunAsStacks.pop();
-      if (trace)
-         log.trace("popRunAsIdentity, runAs=" + runAs);
-      return runAs;*/
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-      RunAsIdentity ra = null; 
-      if( sc != null)
-      {
-         ra = (RunAsIdentity) sc.getOutgoingRunAs();
-         sc.setOutgoingRunAs(null);
-      }
-      return ra;
-   }
-
-   /**
-    * Look at the current thread of control's run-as identity on the top of the
-    * stack.
-    */
-   public static RunAsIdentity peekRunAsIdentity()
-   {
-      //return peekRunAsIdentity(0);
-      RunAsIdentity ra = null;
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext(); 
-      if( sc != null)
-      {
-         ra = (RunAsIdentity) sc.getOutgoingRunAs();
-      }
-      return ra;
-   }
-
-   /**
-    * Look at the current thread of control's run-as identity at the indicated
-    * depth. Typically depth is either 0 for the identity the current caller
-    * run-as that will be assumed, or 1 for the active run-as the previous
-    * caller has assumed.
-    * @return RunAsIdentity depth frames up.
-    */
-   public static RunAsIdentity peekRunAsIdentity(int depth)
-   {
-      //RunAsIdentity runAs = threadRunAsStacks.peek(depth);
-      //return runAs;
-      if(depth > 1)
-         throw new IllegalArgumentException("Security Context approach needs to be used. Depth upto 1");
-      if(depth == 0)
-         return peekRunAsIdentity();
-      else
-      {
-         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-         RunAsIdentity ra = null; 
-         if( sc != null)
-         {
-            RunAs ras = sc.getIncomingRunAs();
-            if(ras instanceof RunAsIdentity)
-               ra = (RunAsIdentity) ras; 
-         }
-         return ra;
-      }
-   }
-   
-   /**
-    * Indicate whether we are server side
-    * @return flag set by a {@link #setServer()} call
-    */
-   public static boolean isServer()
-   {
-      return server;
-   }
-
-   /**
-    * Set the server mode of operation. When the server property has been set to
-    * true, the security information is maintained in thread local storage. This
-    * should be called to enable property security semantics in any
-    * multi-threaded environment where more than one thread requires that
-    * security information be restricted to the thread's flow of control.
-    *
-    * If a security manager is present, then this method calls the security
-    * manager's <code>checkPermission</code> method with a <code>
-    * RuntimePermission("org.jboss.security.SecurityAssociation.setServer")
-    * </code> permission to ensure it's ok to access principal information. If
-    * not, a <code>SecurityException</code> will be thrown.
-    */
-   public static void setServer()
-   {
-      SecurityManager sm = System.getSecurityManager();
-      if (sm != null)
-         sm.checkPermission(setServerPermission);
-
-      server = true;
-   }
-
-   /**
-    * A subclass of ThreadLocal that implements a value stack using an ArrayList
-    * and implements push, pop and peek stack operations on the thread local
-    * ArrayList.
-    */
-   private static class RunAsThreadLocalStack
-   {
-      @SuppressWarnings("unchecked")
-      ThreadLocal local;
-
-      RunAsThreadLocalStack(boolean threadLocal)
-      {
-         if( threadLocal == true )
-            local = new ArrayListLocal();
-         else
-            local = new ArrayListInheritableLocal();
-      }
-      
-      int size()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         return stack.size();
-      }
-
-      void push(RunAsIdentity runAs)
-      {
-         ArrayList stack = (ArrayList) local.get();
-         stack.add(runAs);
-      }
-
-      RunAsIdentity pop()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         RunAsIdentity runAs = null;
-         int lastIndex = stack.size() - 1;
-         if (lastIndex >= 0)
-            runAs = (RunAsIdentity) stack.remove(lastIndex);
-         return runAs;
-      }
-
-      /**
-       * Look for the first non-null run-as identity on the stack starting
-       * with the value at depth.
-       * @return The run-as identity if one exists, null otherwise.
-       */
-      RunAsIdentity peek(int depth)
-      {
-         ArrayList stack = (ArrayList) local.get();
-         RunAsIdentity runAs = null;
-         final int stackSize = stack.size();
-         do
-         {
-            int index = stackSize - 1 - depth;
-            if( index >= 0 )
-               runAs = (RunAsIdentity) stack.get(index);
-            depth ++;
-         }
-         while (runAs == null && depth <= stackSize - 1);
-         return runAs;
-      }
-   }
-
-   /**
-    * The encapsulation of the authenticated subject
-    */ 
-   public static class SubjectContext
-   {
-      public static final int SUBJECT_WAS_SET = 1;
-      public static final int PRINCIPAL_WAS_SET = 2;
-      public static final int CREDENTIAL_WAS_SET = 4;
-
-      private Subject subject;
-      private Principal principal;
-      private Object credential;
-      private int flags;
-
-      public SubjectContext()
-      {
-         this.flags = 0;
-      }
-      public SubjectContext(Subject s, Principal p, Object cred)
-      {
-         this.subject = s;
-         this.principal = p;
-         this.credential = cred;
-         this.flags = SUBJECT_WAS_SET | PRINCIPAL_WAS_SET | CREDENTIAL_WAS_SET;
-      }
-
-      public Subject getSubject()
-      {
-         return subject;
-      }
-      public void setSubject(Subject subject)
-      {
-         this.subject = subject;
-         this.flags |= SUBJECT_WAS_SET;
-      }
-
-      public Principal getPrincipal()
-      {
-         return principal;
-      }
-      public void setPrincipal(Principal principal)
-      {
-         this.principal = principal;
-         this.flags |= PRINCIPAL_WAS_SET;
-      }
-
-      public Object getCredential()
-      {
-         return credential;
-      }
-      public void setCredential(Object credential)
-      {
-         this.credential = credential;
-         this.flags |= CREDENTIAL_WAS_SET;
-      }
-
-      public int getFlags()
-      {
-         return this.flags;
-      }
-
-      public String toString()
-      {
-         StringBuffer tmp = new StringBuffer(super.toString());
-         tmp.append("{principal=");
-         tmp.append(principal);
-         tmp.append(",subject=");
-         if( subject != null )
-            tmp.append(System.identityHashCode(subject));
-         else
-            tmp.append("null");
-         tmp.append("}");
-         return tmp.toString();
-      }
-   }
-
-   private static class SubjectThreadLocalStack
-   {
-      ThreadLocal local;
-
-      SubjectThreadLocalStack(boolean threadLocal)
-      {
-         if( threadLocal == true )
-            local = new ArrayListLocal();
-         else
-            local = new ArrayListInheritableLocal();
-      }
-      
-      int size()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         return stack.size();
-      }
-
-      void push(SubjectContext context)
-      {
-         ArrayList stack = (ArrayList) local.get();
-         stack.add(context);
-      }
-
-      SubjectContext dup()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         SubjectContext context = null;
-         int lastIndex = stack.size() - 1;
-         if (lastIndex >= 0)
-         {
-            context = (SubjectContext) stack.get(lastIndex);
-            stack.add(context);
-         }
-         return context;
-      }
-
-      SubjectContext pop()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         SubjectContext context = null;
-         int lastIndex = stack.size() - 1;
-         if (lastIndex >= 0)
-            context = (SubjectContext) stack.remove(lastIndex);
-         return context;
-      }
-
-      /**
-       * Look for the first non-null run-as identity on the stack starting
-       * with the value at depth.
-       * @return The run-as identity if one exists, null otherwise.
-       */
-      SubjectContext peek()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         SubjectContext context = null;
-         int lastIndex = stack.size() - 1;
-         if (lastIndex >= 0)
-            context = (SubjectContext) stack.get(lastIndex);
-         return context;
-      }
-      /**
-       * Remove all SubjectContext from the current thread stack
-       */ 
-      void clear()
-      {
-         ArrayList stack = (ArrayList) local.get();
-         stack.clear();
-      }
-   }
-
-   private static class ArrayListLocal extends ThreadLocal
-   {
-      protected Object initialValue()
-      {
-         return new ArrayList();
-      }
-      
-   }
-
-   private static class ArrayListInheritableLocal extends InheritableThreadLocal
-   {
-      /**
-       * Override to make a copy of the parent as not doing so results in multiple
-       * threads sharing the unsynchronized list of the parent thread.
-       * @param parentValue - the parent ArrayList
-       * @return a copy of the parent thread list
-       */
-      protected Object childValue(Object parentValue)
-      {
-         ArrayList list = (ArrayList) parentValue;
-         /* It seems there are scenarios where the size can change during the copy so there is
-         a fallback to an empty list here.
-         */
-         ArrayList copy = null;
-         try
-         {
-            copy = new ArrayList(list);
-         }
-         catch(Throwable t)
-         {
-            log.debug("Failed to copy parent list, using new list");
-            copy = new ArrayList();
-         }
-         return copy;
-      }
-
-      protected Object initialValue()
-      {
-         return new ArrayList();
-      }
-      
-   }
-   private static class HashMapInheritableLocal<T> 
-   extends InheritableThreadLocal<HashMap<String,Object>>
-   {
-      /**
-       * Override to make a copy of the parent as not doing so results in multiple
-       * threads sharing the unsynchronized map of the parent thread.
-       * @param parentValue - the parent HashMap
-       * @return a copy of the parent thread map
-       */
-      protected HashMap<String,Object> childValue(Object parentValue)
-      {
-         HashMap<String,Object> map = (HashMap<String,Object>) parentValue;
-         /* It seems there are scenarios where the size can change during the copy so there is
-         a fallback to an empty map here.
-         */
-         HashMap<String,Object> copy = null;
-         try
-         {
-            copy = new HashMap<String,Object>(map);
-         }
-         catch(Throwable t)
-         {
-            log.debug("Failed to copy parent map, using new map");
-            copy = new HashMap<String,Object>();
-         }
-         return copy;
-      }
-
-      protected HashMap<String,Object> initialValue()
-      {
-         return new HashMap<String,Object>();
-      }
-      
-   }
-}

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java (from rev 75004, projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/SecurityAssociation.java)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx/src/main/org/jboss/security/SecurityAssociation.java	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,1134 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.security;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.security.auth.Subject;
+
+import org.jboss.logging.Logger;
+
+/**
+ * The SecurityAssociation class maintains the security principal and
+ * credentials. This can be done on either a singleton basis or a thread local
+ * basis depending on the server property. When the server property has been set
+ * to true, the security information is maintained in thread local storage. The
+ * type of thread local storage depends on the org.jboss.security.SecurityAssociation.ThreadLocal
+ * property. If this property is true, then the thread local storage object is
+ * of type java.lang.ThreadLocal which results in the current thread's security
+ * information NOT being propagated to child threads.
+ *
+ * When the property is false or does not exist, the thread local storage object
+ * is of type java.lang.InheritableThreadLocal, and any threads spawned by the
+ * current thread will inherit the security information of the current thread.
+ * Subseqent changes to the current thread's security information are NOT
+ * propagated to any previously spawned child threads.
+ *
+ * When the server property is false, security information is maintained in
+ * class variables which makes the information available to all threads within
+ * the current VM.
+ * 
+ * Note that this is not a public API class. Its an implementation detail that
+ * is subject to change without notice.
+ * 
+ * @author Daniel O'Connor (docodan at nycap.rr.com)
+ * @author Scott.Stark at jboss.org
+ * @author Anil.Saldhana at redhat.com
+ * @version $Revision$
+ */
+public final class SecurityAssociation
+{
+   private static Logger log = Logger.getLogger(SecurityAssociation.class);
+   /**
+    * A flag indicating if trace level logging should be performed
+    */
+   private static boolean trace;
+   /**
+    * A flag indicating if security information is global or thread local
+    */
+   private static boolean server;
+   /**
+    * The SecurityAssociation principal used when the server flag is false
+    */
+   private static Principal principal;
+   /**
+    * The SecurityAssociation credential used when the server flag is false
+    */
+   private static Object credential;
+
+   /**
+    * The SecurityAssociation principal used when the server flag is true
+    */
+   private static ThreadLocal<Principal> threadPrincipal;
+   /**
+    * The SecurityAssociation credential used when the server flag is true
+    */
+   private static ThreadLocal<Object> threadCredential;
+   /**
+    * The SecurityAssociation HashMap<String, Object>
+    */
+   private static ThreadLocal<HashMap<String,Object>> threadContextMap;
+
+   /**
+    * Thread local stacks of run-as principal roles used to implement J2EE
+    * run-as identity propagation
+    */
+   private static RunAsThreadLocalStack threadRunAsStacks;
+   /**
+    * Thread local stacks of authenticated subject used to control the current
+    * caller security context
+    */ 
+   private static SubjectThreadLocalStack threadSubjectStacks; 
+
+   /**
+    * The permission required to access getPrincpal, getCredential
+    */
+   private static final RuntimePermission getPrincipalInfoPermission =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo");
+   /**
+    * The permission required to access getSubject
+    */
+   private static final RuntimePermission getSubjectPermission =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.getSubject");
+   /**
+    * The permission required to access setPrincpal, setCredential, setSubject
+    * pushSubjectContext, popSubjectContext
+    */
+   private static final RuntimePermission setPrincipalInfoPermission =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo");
+   /**
+    * The permission required to access setServer
+    */
+   private static final RuntimePermission setServerPermission =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.setServer");
+   /**
+    * The permission required to access pushRunAsIdentity/popRunAsIdentity
+    */
+   private static final RuntimePermission setRunAsIdentity =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.setRunAsRole");
+   /**
+    * The permission required to get the current security context info
+    */
+   private static final RuntimePermission getContextInfo =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "get");
+   /**
+    * The permission required to set the current security context info
+    */
+   private static final RuntimePermission setContextInfo =
+      new RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo", "set");
+
+   static
+   {
+      String flag = SecurityActions.getProperty("org.jboss.security.SecurityAssociation.ThreadLocal", "false");
+      boolean useThreadLocal = Boolean.valueOf(flag).booleanValue();
+      log.debug("Using ThreadLocal: "+useThreadLocal);
+
+      trace = log.isTraceEnabled();
+      if (useThreadLocal)
+      {
+         threadPrincipal = new ThreadLocal<Principal>();
+         threadCredential = new ThreadLocal<Object>();
+         threadContextMap = new ThreadLocal<HashMap<String,Object>>()
+         {
+            protected HashMap<String,Object> initialValue()
+            {
+               return new HashMap<String,Object>();
+            }
+         };
+      }
+      else
+      {
+         threadPrincipal = new InheritableThreadLocal<Principal>();
+         threadCredential = new InheritableThreadLocal<Object>();
+         threadContextMap = new HashMapInheritableLocal<HashMap<String,Object>>();
+      }
+      threadRunAsStacks = new RunAsThreadLocalStack(useThreadLocal);
+      threadSubjectStacks = new SubjectThreadLocalStack(useThreadLocal);
+   }
+
+   /**
+    * Get the current authentication principal information. If a security
+    * manager is present, then this method calls the security manager's
+    * <code>checkPermission</code> method with a
+    * <code>RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * @return Principal, the current principal identity.
+    */
+   public static Principal getPrincipal()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getPrincipalInfoPermission);
+
+      Principal thePrincipal = principal;
+      
+      if(!server)
+         return principal;
+      
+      if( trace )
+         log.trace("getPrincipal, principal="+thePrincipal);
+      
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      if(sc != null)
+      {
+         if( trace )
+            log.warn("You are using deprecated api to getPrincipal. Use security context based approach");
+         thePrincipal = sc.getUtil().getUserPrincipal();
+      }
+      return thePrincipal;
+   } 
+
+   /**
+    * Get the caller's principal. If a security manager is present,
+    * then this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * 
+    * @return Principal, the current principal identity.
+    */
+   public static Principal getCallerPrincipal()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getPrincipalInfoPermission);
+
+      /*Principal thePrincipal = peekRunAsIdentity(1);
+      if( thePrincipal == null )
+      {
+         if (server)
+            thePrincipal = (Principal) threadPrincipal.get();
+         else
+            thePrincipal = principal;
+      }*/
+     
+      if(!server)
+         return principal;
+      
+      //Just pluck it from the current security context
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      Principal thePrincipal = null;
+      if(sc != null)
+      {
+         //Check for runas
+         RunAs ras = sc.getIncomingRunAs();
+         if(ras != null)
+            thePrincipal = new SimplePrincipal(ras.getName());
+         else 
+            thePrincipal = sc.getUtil().getUserPrincipal();
+      }
+      if( trace )
+         log.trace("getCallerPrincipal, principal="+thePrincipal);
+      return thePrincipal;
+   }
+
+   /**
+    * Get the current authentication credential information. This can be of any type
+    * including: a String password, a char[] password, an X509 cert, etc. If a
+    * security manager is present, then this method calls the security manager's
+    * <code>checkPermission</code> method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * @return Object, the credential that proves the principal identity.
+    */
+   public static Object getCredential()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getPrincipalInfoPermission);
+
+      if(!server)
+         return credential;
+      
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      if(sc != null)
+      {
+         if(trace)
+            log.warn("You are using deprecated api to getCredential. Use security context based approach");
+         credential = sc.getUtil().getCredential();
+      }
+      return credential;
+   }
+
+   /**
+    * Get the current Subject information. If a security manager is present,
+    * then this method calls the security manager's checkPermission method with
+    * a  RuntimePermission("org.jboss.security.SecurityAssociation.getSubject")
+    * permission to ensure it's ok to access principal information. If not, a
+    * SecurityException will be thrown. Note that this method does not consider
+    * whether or not a run-as identity exists. For access to this information
+    * see the JACC PolicyContextHandler registered under the key
+    * "javax.security.auth.Subject.container"
+    * @return Subject, the current Subject identity.
+    * @see javax.security.jacc.PolicyContext#getContext(String)
+    */
+   public static Subject getSubject()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getSubjectPermission);
+
+      SubjectContext sc = threadSubjectStacks.peek();
+      if( trace )
+         log.trace("getSubject, sc="+sc);
+      Subject subject = null;
+      /*if( sc != null )
+         subject = sc.getSubject();
+      return subject;*/
+      
+      SecurityContext secContext = SecurityAssociationActions.getSecurityContext();
+      if(secContext != null)
+      {
+         if(trace)
+            log.warn("You are using deprecated api to getSubject. Use security context based approach");
+         subject = secContext.getUtil().getSubject();
+      }
+      return subject;
+   }
+
+   /**
+    * Set the current principal information. If a security manager is present,
+    * then this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * @param principal - the current principal identity.
+    */
+   public static void setPrincipal(Principal principal)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      if (trace)
+         log.trace("setPrincipal, p=" + principal + ", server=" + server);
+      // Integrate with the new SubjectContext 
+      SubjectContext sc = threadSubjectStacks.peek();
+      if( sc == null )
+      {
+         // There is no active security context
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc);
+      }
+      else if( (sc.getFlags() & SubjectContext.PRINCIPAL_WAS_SET) != 0 )
+      {
+         // The current security context has its principal set
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc);    
+      }
+      sc.setPrincipal(principal);
+      
+      if(!server)
+      {
+         SecurityContextAssociation.setClient();
+         SecurityAssociation.principal = principal;
+         return; 
+      }
+      SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
+      //Clients code that may have set directly (Legacy)
+      if(securityContext == null)
+      {
+         try
+         {
+            securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+         }
+         catch (Exception e)
+         {
+            throw new RuntimeException(e);
+         }
+         SecurityContextAssociation.setSecurityContext(securityContext);
+      }      
+      if(trace)
+         log.warn("Using deprecated API. Move to a security context based approach");
+      Object cred = securityContext.getUtil().getCredential();
+      Subject subj = securityContext.getUtil().getSubject();
+      securityContext.getUtil().createSubjectInfo(principal,cred, subj);
+     
+      if (trace)
+         log.trace("setPrincipal, sc="+sc);
+
+   } 
+
+   /**
+    * Set the current principal credential information. This can be of any type
+    * including: a String password, a char[] password, an X509 cert, etc.
+    *
+    * If a security manager is present, then this method calls the security
+    * manager's <code>checkPermission</code> method with a <code>
+    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * @param credential - the credential that proves the principal identity.
+    */
+   public static void setCredential(Object credential)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      // Integrate with the new SubjectContext 
+      SubjectContext sc = threadSubjectStacks.peek();
+      if( sc == null )
+      {
+         // There is no active security context
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc);
+      }
+      else if( (sc.getFlags() & SubjectContext.CREDENTIAL_WAS_SET) != 0 )
+      {
+         // The current security context has its principal set
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc);   
+      }
+      sc.setCredential(credential);
+      if (trace)
+         log.trace("setCredential, sc="+sc);
+
+      if(!server)
+      {
+         SecurityContextAssociation.setClient();
+         SecurityAssociation.credential = credential;
+         return;
+      }
+      
+      SecurityContext securityContext = SecurityContextAssociation.getSecurityContext();
+      //Clients code that may have set directly (Legacy)
+      if(securityContext == null)
+      {
+         try
+         {
+            securityContext = SecurityContextFactory.createSecurityContext("CLIENT_SIDE");
+         }
+         catch (Exception e)
+         {
+            throw new RuntimeException(e);
+         }
+         SecurityContextAssociation.setSecurityContext(securityContext);
+      }
+
+      if(trace)
+         log.warn("Using deprecated API. Move to a security context based approach");
+      Principal principal = securityContext.getUtil().getUserPrincipal();
+      Subject subj = securityContext.getUtil().getSubject();
+      securityContext.getUtil().createSubjectInfo(principal,credential, subj);      
+   }
+
+   /**
+    * Set the current Subject information. If a security manager is present,
+    * then this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    * @param subject - the current identity.
+    */
+   public static void setSubject(Subject subject)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      if (trace)
+         log.trace("setSubject, s=" + subject + ", server=" + server);
+      // Integrate with the new SubjectContext 
+      SubjectContext sc = threadSubjectStacks.peek();
+      if( sc == null )
+      {
+         // There is no active security context
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc);
+      }
+      else if( (sc.getFlags() & SubjectContext.SUBJECT_WAS_SET) != 0 )
+      {
+         // The current security context has its subject set
+         sc = new SubjectContext();
+         threadSubjectStacks.push(sc); 
+      }
+      sc.setSubject(subject);
+      if (trace)
+         log.trace("setSubject, sc="+sc);
+      
+      SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+      if(sctx != null)
+      {
+         SubjectInfo si = sctx.getSubjectInfo();
+         if(si != null)
+         {
+            si.setAuthenticatedSubject(subject);
+         }
+         else
+            sctx.getUtil().createSubjectInfo(null, null, subject);
+      }
+   }
+
+   /**
+    * Get the current thread context info. If a security manager is present,
+    * then this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
+    * "get") </code> permission to ensure it's ok to access context information.
+    * If not, a <code>SecurityException</code> will be thrown.
+    * @param key - the context key
+    * @return the mapping for the key in the current thread context
+    */
+   public static Object getContextInfo(String key)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getContextInfo);
+
+      if(key == null)
+         throw new IllegalArgumentException("key is null");
+      HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
+      return contextInfo != null ? contextInfo.get(key) : null;
+   }
+
+   /**
+    * Set the current thread context info. If a security manager is present,
+    * then this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.accessContextInfo",
+    * "set") </code> permission to ensure it's ok to access context information.
+    * If not, a <code>SecurityException</code> will be thrown.
+    * @param key - the context key
+    * @param value - the context value to associate under key
+    * @return the previous mapping for the key if one exists
+    */
+   public static Object setContextInfo(String key, Object value)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setContextInfo);
+
+      HashMap<String,Object> contextInfo = (HashMap<String,Object>) threadContextMap.get();
+      return contextInfo.put(key, value);
+   }
+
+   /**
+    * Push the current authenticated context. This sets the authenticated subject
+    * along with the principal and proof of identity that was used to validate
+    * the subject. This context is used for authorization checks. Typically
+    * just the subject as seen by getSubject() is input into the authorization.
+    * When run under a security manager this requires the
+    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * permission.
+    * @param subject - the authenticated subject
+    * @param principal - the principal that was input into the authentication
+    * @param credential - the credential that was input into the authentication
+    * @deprecated
+    */ 
+   public static void pushSubjectContext(Subject subject,
+      Principal principal, Object credential)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      // Set the legacy single-value access points
+      if (server)
+      {
+         threadPrincipal.set(principal);
+         threadCredential.set(credential);    
+      }
+      else
+      {
+         SecurityAssociation.principal = principal;
+         SecurityAssociation.credential = credential;
+      }
+   
+      // Push the subject context
+      SubjectContext sc = new SubjectContext(subject, principal, credential);
+      threadSubjectStacks.push(sc);
+
+      if(server)
+      { 
+         if (trace)
+            log.trace("pushSubjectContext, subject=" + subject + ", sc="+sc);
+      
+         //Use the new method
+         SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+         if(sctx == null)
+         {
+            if(trace)
+               log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
+            try
+            {
+               sctx = SecurityAssociationActions.createSecurityContext("FROM_SECURITY_ASSOCIATION");
+            }
+            catch (Exception e)
+            {
+               throw new RuntimeException(e);
+            }
+         }
+         sctx.getUtil().createSubjectInfo(principal, credential,subject);
+         SecurityAssociationActions.setSecurityContext(sctx);   
+      }
+   }
+   /**
+    * Push a duplicate of the current SubjectContext if one exists.
+    * When run under a security manager this requires the
+    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * permission.
+    */
+   public static void dupSubjectContext()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      SubjectContext sc = threadSubjectStacks.dup();
+      if (trace)
+         log.trace("dupSubjectContext, sc="+sc);
+   }
+
+   /**
+    * Pop the current SubjectContext from the previous pushSubjectContext call
+    * and return the pushed SubjectContext ig there was one.
+    * When run under a security manager this requires the
+    * RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * permission.
+    * @return the SubjectContext pushed previously by a pushSubjectContext call
+    * @deprecated
+    */ 
+   public static SubjectContext popSubjectContext()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      SubjectContext sc = threadSubjectStacks.pop();
+      if (trace)
+      {
+         log.trace("popSubjectContext, sc="+sc);
+      }
+      
+      Principal principal = null;
+      Object credential = null;
+      
+      SubjectContext top = threadSubjectStacks.peek();
+      
+      if (top != null)
+      {
+         principal = top.getPrincipal();
+         credential = top.getCredential();
+      }
+      
+      if (server)
+      {
+         threadPrincipal.set(principal);
+         threadCredential.set(credential);
+      }
+      else
+      {
+         SecurityAssociation.principal = principal;
+         SecurityAssociation.credential = credential;
+      }
+      
+      if(server)
+      { 
+         if(trace)
+            log.trace("WARN::Deprecated usage of SecurityAssociation. Use SecurityContext");
+         SecurityContext sctx = SecurityContextAssociation.getSecurityContext();
+         
+         if(sc == null)
+         {
+            if(sctx != null)
+            {  
+               sc = new SubjectContext(sctx.getUtil().getSubject(),
+                     sctx.getUtil().getUserPrincipal(),
+                     sctx.getUtil().getCredential()); 
+            }
+         }
+         //Now pop the subject context on the security context
+         if(sctx != null)
+         {
+            sctx.getUtil().createSubjectInfo(null, null, null); 
+         } 
+         return sc;  
+      }
+      return top;
+   }
+   
+   /**
+    * Look at the current thread of control's authenticated identity on the top
+    * of the stack.
+    * When run under a security manager this requires the
+    * RuntimePermission("org.jboss.security.SecurityAssociation.getPrincipalInfo")
+    * permission.
+    * @return the SubjectContext pushed previously by a pushSubjectContext call
+    */
+   public static SubjectContext peekSubjectContext()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(getPrincipalInfoPermission);
+
+      if(server)
+      {
+         //Get the subject context from the security context
+         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+         SubjectContext subjectCtx = null;
+         if( sc != null)
+         {
+            SecurityContextUtil util = sc.getUtil();
+            subjectCtx = new SubjectContext(util.getSubject(), util.getUserPrincipal(), util.getCredential());
+         }
+         return subjectCtx; 
+      }
+      return threadSubjectStacks.peek();
+   }
+
+   /**
+    * Clear all principal information. If a security manager is present, then
+    * this method calls the security manager's <code>checkPermission</code>
+    * method with a <code> RuntimePermission("org.jboss.security.SecurityAssociation.setPrincipalInfo")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    */
+   public static void clear()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setPrincipalInfoPermission);
+
+      if (trace)
+         log.trace("clear, server=" + server);
+      if (server == true)
+      {
+         threadPrincipal.set(null);
+         threadCredential.set(null);
+      }
+      else
+      {
+         SecurityAssociation.principal = null;
+         SecurityAssociation.credential = null;
+      }
+      // Remove all subject contexts
+      threadSubjectStacks.clear(); 
+      
+      //Clear the security context
+      SecurityContextAssociation.clearSecurityContext();
+   }
+
+   /**
+    * Push the current thread of control's run-as identity.
+    */
+   public static void pushRunAsIdentity(RunAsIdentity runAs)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setRunAsIdentity);
+      if (trace)
+         log.trace("pushRunAsIdentity, runAs=" + runAs);
+      
+      threadRunAsStacks.push(runAs);
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext(); 
+      if( sc != null)
+      { 
+         sc.setOutgoingRunAs(runAs);
+      }
+   }
+
+   /**
+    * Pop the current thread of control's run-as identity.
+    */
+   public static RunAsIdentity popRunAsIdentity()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setRunAsIdentity);
+      /*RunAsIdentity runAs = threadRunAsStacks.pop();
+      if (trace)
+         log.trace("popRunAsIdentity, runAs=" + runAs);
+      return runAs;*/
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      RunAsIdentity ra = null; 
+      if( sc != null)
+      {
+         ra = (RunAsIdentity) sc.getOutgoingRunAs();
+         sc.setOutgoingRunAs(null);
+      }
+      return ra;
+   }
+
+   /**
+    * Look at the current thread of control's run-as identity on the top of the
+    * stack.
+    */
+   public static RunAsIdentity peekRunAsIdentity()
+   {
+      //return peekRunAsIdentity(0);
+      RunAsIdentity ra = null;
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext(); 
+      if( sc != null)
+      {
+         ra = (RunAsIdentity) sc.getOutgoingRunAs();
+      }
+      return ra;
+   }
+
+   /**
+    * Look at the current thread of control's run-as identity at the indicated
+    * depth. Typically depth is either 0 for the identity the current caller
+    * run-as that will be assumed, or 1 for the active run-as the previous
+    * caller has assumed.
+    * @return RunAsIdentity depth frames up.
+    */
+   public static RunAsIdentity peekRunAsIdentity(int depth)
+   {
+      //RunAsIdentity runAs = threadRunAsStacks.peek(depth);
+      //return runAs;
+      if(depth > 1)
+         throw new IllegalArgumentException("Security Context approach needs to be used. Depth upto 1");
+      if(depth == 0)
+         return peekRunAsIdentity();
+      else
+      {
+         SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+         RunAsIdentity ra = null; 
+         if( sc != null)
+         {
+            RunAs ras = sc.getIncomingRunAs();
+            if(ras instanceof RunAsIdentity)
+               ra = (RunAsIdentity) ras; 
+         }
+         return ra;
+      }
+   }
+   
+   /**
+    * Indicate whether we are server side
+    * @return flag set by a {@link #setServer()} call
+    */
+   public static boolean isServer()
+   {
+      return server;
+   }
+
+   /**
+    * Set the server mode of operation. When the server property has been set to
+    * true, the security information is maintained in thread local storage. This
+    * should be called to enable property security semantics in any
+    * multi-threaded environment where more than one thread requires that
+    * security information be restricted to the thread's flow of control.
+    *
+    * If a security manager is present, then this method calls the security
+    * manager's <code>checkPermission</code> method with a <code>
+    * RuntimePermission("org.jboss.security.SecurityAssociation.setServer")
+    * </code> permission to ensure it's ok to access principal information. If
+    * not, a <code>SecurityException</code> will be thrown.
+    */
+   public static void setServer()
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(setServerPermission);
+
+      server = true;
+   }
+
+   /**
+    * A subclass of ThreadLocal that implements a value stack using an ArrayList
+    * and implements push, pop and peek stack operations on the thread local
+    * ArrayList.
+    */
+   private static class RunAsThreadLocalStack
+   {
+      @SuppressWarnings("unchecked")
+      ThreadLocal local;
+
+      RunAsThreadLocalStack(boolean threadLocal)
+      {
+         if( threadLocal == true )
+            local = new ArrayListLocal();
+         else
+            local = new ArrayListInheritableLocal();
+      }
+      
+      int size()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         return stack.size();
+      }
+
+      void push(RunAsIdentity runAs)
+      {
+         ArrayList stack = (ArrayList) local.get();
+         stack.add(runAs);
+      }
+
+      RunAsIdentity pop()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         RunAsIdentity runAs = null;
+         int lastIndex = stack.size() - 1;
+         if (lastIndex >= 0)
+            runAs = (RunAsIdentity) stack.remove(lastIndex);
+         return runAs;
+      }
+
+      /**
+       * Look for the first non-null run-as identity on the stack starting
+       * with the value at depth.
+       * @return The run-as identity if one exists, null otherwise.
+       */
+      RunAsIdentity peek(int depth)
+      {
+         ArrayList stack = (ArrayList) local.get();
+         RunAsIdentity runAs = null;
+         final int stackSize = stack.size();
+         do
+         {
+            int index = stackSize - 1 - depth;
+            if( index >= 0 )
+               runAs = (RunAsIdentity) stack.get(index);
+            depth ++;
+         }
+         while (runAs == null && depth <= stackSize - 1);
+         return runAs;
+      }
+   }
+
+   /**
+    * The encapsulation of the authenticated subject
+    */ 
+   public static class SubjectContext
+   {
+      public static final int SUBJECT_WAS_SET = 1;
+      public static final int PRINCIPAL_WAS_SET = 2;
+      public static final int CREDENTIAL_WAS_SET = 4;
+
+      private Subject subject;
+      private Principal principal;
+      private Object credential;
+      private int flags;
+
+      public SubjectContext()
+      {
+         this.flags = 0;
+      }
+      public SubjectContext(Subject s, Principal p, Object cred)
+      {
+         this.subject = s;
+         this.principal = p;
+         this.credential = cred;
+         this.flags = SUBJECT_WAS_SET | PRINCIPAL_WAS_SET | CREDENTIAL_WAS_SET;
+      }
+
+      public Subject getSubject()
+      {
+         return subject;
+      }
+      public void setSubject(Subject subject)
+      {
+         this.subject = subject;
+         this.flags |= SUBJECT_WAS_SET;
+      }
+
+      public Principal getPrincipal()
+      {
+         return principal;
+      }
+      public void setPrincipal(Principal principal)
+      {
+         this.principal = principal;
+         this.flags |= PRINCIPAL_WAS_SET;
+      }
+
+      public Object getCredential()
+      {
+         return credential;
+      }
+      public void setCredential(Object credential)
+      {
+         this.credential = credential;
+         this.flags |= CREDENTIAL_WAS_SET;
+      }
+
+      public int getFlags()
+      {
+         return this.flags;
+      }
+
+      public String toString()
+      {
+         StringBuffer tmp = new StringBuffer(super.toString());
+         tmp.append("{principal=");
+         tmp.append(principal);
+         tmp.append(",subject=");
+         if( subject != null )
+            tmp.append(System.identityHashCode(subject));
+         else
+            tmp.append("null");
+         tmp.append("}");
+         return tmp.toString();
+      }
+   }
+
+   private static class SubjectThreadLocalStack
+   {
+      ThreadLocal local;
+
+      SubjectThreadLocalStack(boolean threadLocal)
+      {
+         if( threadLocal == true )
+            local = new ArrayListLocal();
+         else
+            local = new ArrayListInheritableLocal();
+      }
+      
+      int size()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         return stack.size();
+      }
+
+      void push(SubjectContext context)
+      {
+         ArrayList stack = (ArrayList) local.get();
+         stack.add(context);
+      }
+
+      SubjectContext dup()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         SubjectContext context = null;
+         int lastIndex = stack.size() - 1;
+         if (lastIndex >= 0)
+         {
+            context = (SubjectContext) stack.get(lastIndex);
+            stack.add(context);
+         }
+         return context;
+      }
+
+      SubjectContext pop()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         SubjectContext context = null;
+         int lastIndex = stack.size() - 1;
+         if (lastIndex >= 0)
+            context = (SubjectContext) stack.remove(lastIndex);
+         return context;
+      }
+
+      /**
+       * Look for the first non-null run-as identity on the stack starting
+       * with the value at depth.
+       * @return The run-as identity if one exists, null otherwise.
+       */
+      SubjectContext peek()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         SubjectContext context = null;
+         int lastIndex = stack.size() - 1;
+         if (lastIndex >= 0)
+            context = (SubjectContext) stack.get(lastIndex);
+         return context;
+      }
+      /**
+       * Remove all SubjectContext from the current thread stack
+       */ 
+      void clear()
+      {
+         ArrayList stack = (ArrayList) local.get();
+         stack.clear();
+      }
+   }
+
+   private static class ArrayListLocal extends ThreadLocal
+   {
+      protected Object initialValue()
+      {
+         return new ArrayList();
+      }
+      
+   }
+
+   private static class ArrayListInheritableLocal extends InheritableThreadLocal
+   {
+      /**
+       * Override to make a copy of the parent as not doing so results in multiple
+       * threads sharing the unsynchronized list of the parent thread.
+       * @param parentValue - the parent ArrayList
+       * @return a copy of the parent thread list
+       */
+      protected Object childValue(Object parentValue)
+      {
+         ArrayList list = (ArrayList) parentValue;
+         /* It seems there are scenarios where the size can change during the copy so there is
+         a fallback to an empty list here.
+         */
+         ArrayList copy = null;
+         try
+         {
+            copy = new ArrayList(list);
+         }
+         catch(Throwable t)
+         {
+            log.debug("Failed to copy parent list, using new list");
+            copy = new ArrayList();
+         }
+         return copy;
+      }
+
+      protected Object initialValue()
+      {
+         return new ArrayList();
+      }
+      
+   }
+   private static class HashMapInheritableLocal<T> 
+   extends InheritableThreadLocal<HashMap<String,Object>>
+   {
+      /**
+       * Override to make a copy of the parent as not doing so results in multiple
+       * threads sharing the unsynchronized map of the parent thread.
+       * @param parentValue - the parent HashMap
+       * @return a copy of the parent thread map
+       */
+      protected HashMap<String,Object> childValue(Object parentValue)
+      {
+         HashMap<String,Object> map = (HashMap<String,Object>) parentValue;
+         /* It seems there are scenarios where the size can change during the copy so there is
+         a fallback to an empty map here.
+         */
+         HashMap<String,Object> copy = null;
+         try
+         {
+            copy = new HashMap<String,Object>(map);
+         }
+         catch(Throwable t)
+         {
+            log.debug("Failed to copy parent map, using new map");
+            copy = new HashMap<String,Object>();
+         }
+         return copy;
+      }
+
+      protected HashMap<String,Object> initialValue()
+      {
+         return new HashMap<String,Object>();
+      }
+      
+   }
+}

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-client/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,73 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-parent</artifactId>
-      <version>3</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <groupId>org.jboss.security</groupId>
-   <artifactId>jbosssx-client</artifactId>
-   <version>2.0.2-SNAPSHOT</version>
-   <packaging>jar</packaging>
-   <name>JBoss Security Client</name>
-   <url>http://www.jboss.org</url>
-   <description>JBoss Security Client Library</description>
-   <build>
-   <plugins>
-      <plugin>
-         <groupId>org.apache.maven.plugins</groupId>
-         <artifactId>maven-jar-plugin</artifactId>
-         <executions>
-            <execution>
-               <goals>
-                 <goal>jar</goal>
-               </goals>
-            </execution>
-         </executions>
-         <configuration>
-          <archive>
-             <manifest>
-               <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-               <addDefaultSpecificationEntries />
-             </manifest>
-          </archive>
-          <classesDirectory>../jbosssx/target/classes</classesDirectory>
-          <includes>
-             <include>JBossORG-EULA.txt</include>
-             <include>org/jboss/crypto/JBossSXProvider.class</include>
-             <include>org/jboss/crypto/digest/*</include>
-             <include>org/jboss/security/*</include>
-             <include>org/jboss/security/auth/callback/*</include>
-             <include>org/jboss/security/auth/login/*</include>
-             <include>org/jboss/security/client/*</include>
-             <include>org/jboss/security/auth/login/XMLLoginConfig.class</include>
-             <include>org/jboss/security/auth/login/XMLLoginConfigMBean.class</include>
-             <include>org/jboss/security/plugins/PBEUtils.class</include>
-             <include>org/jboss/security/ssl/ClientSocketFactory.class</include>
-             <include>org/jboss/security/ssl/RMISSLClientSocketFactory.class</include>
-             <include>org/jboss/security/plugins/*SecurityContext*.class</include>                              
-             <include>org/jboss/resource/security/*.class</include>                        </includes>
-         </configuration>
-     </plugin>
-     <plugin>
-       <groupId>org.jboss.maven.plugins</groupId>
-       <artifactId>maven-jboss-deploy-plugin</artifactId>
-       <version>1.4</version>
-       <executions>
-         <execution>
-           <id>jboss-deploy</id>
-           <goals>
-             <goal>jboss-deploy</goal>
-           </goals>
-           <phase>deploy</phase>
-         </execution>
-       </executions>
-       <configuration>
-         <groupId>jboss</groupId>
-         <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
-         <removeArtifactVersion>true</removeArtifactVersion>
-       </configuration>
-     </plugin>
-    </plugins>
- </build>
-</project>
\ No newline at end of file

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx-client/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-client/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,73 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-parent</artifactId>
+      <version>3</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.security</groupId>
+   <artifactId>jbosssx-client</artifactId>
+   <version>2.0.2.CR6</version>
+   <packaging>jar</packaging>
+   <name>JBoss Security Client</name>
+   <url>http://www.jboss.org</url>
+   <description>JBoss Security Client Library</description>
+   <build>
+   <plugins>
+      <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-jar-plugin</artifactId>
+         <executions>
+            <execution>
+               <goals>
+                 <goal>jar</goal>
+               </goals>
+            </execution>
+         </executions>
+         <configuration>
+          <archive>
+             <manifest>
+               <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+               <addDefaultSpecificationEntries />
+             </manifest>
+          </archive>
+          <classesDirectory>../jbosssx/target/classes</classesDirectory>
+          <includes>
+             <include>JBossORG-EULA.txt</include>
+             <include>org/jboss/crypto/JBossSXProvider.class</include>
+             <include>org/jboss/crypto/digest/*</include>
+             <include>org/jboss/security/*</include>
+             <include>org/jboss/security/auth/callback/*</include>
+             <include>org/jboss/security/auth/login/*</include>
+             <include>org/jboss/security/client/*</include>
+             <include>org/jboss/security/auth/login/XMLLoginConfig.class</include>
+             <include>org/jboss/security/auth/login/XMLLoginConfigMBean.class</include>
+             <include>org/jboss/security/plugins/PBEUtils.class</include>
+             <include>org/jboss/security/ssl/ClientSocketFactory.class</include>
+             <include>org/jboss/security/ssl/RMISSLClientSocketFactory.class</include>
+             <include>org/jboss/security/plugins/*SecurityContext*.class</include>                              
+             <include>org/jboss/resource/security/*.class</include>                        </includes>
+         </configuration>
+     </plugin>
+     <plugin>
+       <groupId>org.jboss.maven.plugins</groupId>
+       <artifactId>maven-jboss-deploy-plugin</artifactId>
+       <version>1.4</version>
+       <executions>
+         <execution>
+           <id>jboss-deploy</id>
+           <goals>
+             <goal>jboss-deploy</goal>
+           </goals>
+           <phase>deploy</phase>
+         </execution>
+       </executions>
+       <configuration>
+         <groupId>jboss</groupId>
+         <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
+         <removeArtifactVersion>true</removeArtifactVersion>
+       </configuration>
+     </plugin>
+    </plugins>
+ </build>
+</project>
\ No newline at end of file

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-mc-int/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,113 +0,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/maven-v4_0_0.xsd">
-  
-  <parent>
-    <groupId>org.jboss.security</groupId>
-    <artifactId>jbosssx-parent</artifactId>
-    <version>2.0.2-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jbosssx-mc-int</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Microcontainer Security Integration</name>
-  <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-  <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-
-  <build>
-    <finalName>${artifactId}</finalName>
-  </build>
-
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-bare</artifactId>
-      <version>${project.version}</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jboss-security-spi</artifactId>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-kernel</artifactId>
-      <version>2.0.0.Beta15</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jbossxb</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-reflect</artifactId>
-      <version>2.0.0.Beta12</version>
-      <scope>runtime</scope>
-    </dependency>
-
-    <!-- Test dependencies -->
-    <dependency>
-      <groupId>jboss</groupId>
-      <artifactId>jboss-common-logging-log4j</artifactId>
-      <version>2.0.4.GA</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jboss</groupId>
-          <artifactId>jboss-common-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jboss</groupId>
-          <artifactId>jboss-common-logging-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jboss</groupId>
-          <artifactId>jboss-common-logging-log4j</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>jboss.profiler.jvmti</groupId>
-          <artifactId>jboss-profiler-jvmti</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.ant</groupId>
-          <artifactId>ant</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.ant</groupId>
-          <artifactId>ant-junit</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/jbosssx-mc-int/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/jbosssx-mc-int/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,113 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  
+  <parent>
+    <groupId>org.jboss.security</groupId>
+    <artifactId>jbosssx-parent</artifactId>
+    <version>2.0.2.CR6</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jbosssx-mc-int</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Microcontainer Security Integration</name>
+  <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+  <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+
+  <build>
+    <finalName>${artifactId}</finalName>
+  </build>
+
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jbosssx-bare</artifactId>
+      <version>${project.version}</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.security</groupId>
+      <artifactId>jboss-security-spi</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-kernel</artifactId>
+      <version>2.0.0.Beta15</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jbossxb</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-reflect</artifactId>
+      <version>2.0.0.Beta12</version>
+      <scope>runtime</scope>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>jboss</groupId>
+      <artifactId>jboss-common-logging-log4j</artifactId>
+      <version>2.0.4.GA</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jboss</groupId>
+          <artifactId>jboss-common-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jboss</groupId>
+          <artifactId>jboss-common-logging-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jboss</groupId>
+          <artifactId>jboss-common-logging-log4j</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>jboss.profiler.jvmti</groupId>
+          <artifactId>jboss-profiler-jvmti</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.ant</groupId>
+          <artifactId>ant</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.ant</groupId>
+          <artifactId>ant-junit</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+</project>

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/parent/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,161 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-parent</artifactId>
-      <version>3</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <groupId>org.jboss.security</groupId>
-   <artifactId>jbosssx-parent</artifactId>
-   <packaging>pom</packaging>
-   <version>2.0.2-SNAPSHOT</version>
-   <name>JBossSX - Parent</name>
-   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-   <licenses>
-      <license>
-         <name>lgpl</name>
-         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-      </license>
-   </licenses>
-   <organization>
-      <name>JBoss Inc.</name>
-      <url>http://www.jboss.org</url>
-   </organization>
-   <scm>
-      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/trunk</connection>
-      <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/trunk</developerConnection>
-   </scm>
-  
-   <build>
-     <plugins>
-        <plugin>
-          <artifactId>maven-release-plugin</artifactId>
-          <version>2.0-beta-6</version>
-          <configuration>
-            <tagBase>https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags</tagBase>
-          </configuration>
-        </plugin>
-     </plugins>
-     <pluginManagement>
-       <plugins>
-          <plugin>
-             <artifactId>maven-surefire-plugin</artifactId>
-             <configuration>
-               <printSummary>true</printSummary>
-               <disableXmlReport>false</disableXmlReport>
-               <testFailureIgnore>true</testFailureIgnore>
-               <includes>
-                 <include>**/**TestCase.java</include>
-               </includes>
-               <forkMode>pertest</forkMode>
-               <argLine>${surefire.jvm.args}</argLine>
-               <useFile>false</useFile>
-               <trimStackTrace>false</trimStackTrace>
-             </configuration>
-          </plugin>
-       </plugins>
-     </pluginManagement>
-   </build>
-  
-   <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <name>JBoss Repository</name>
-      <layout>default</layout>
-      <url>http://repository.jboss.org/maven2/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-
-    <repository>
-      <id>snapshots.jboss.org</id>
-      <name>JBoss Snapshots Repository</name>
-      <layout>default</layout>
-      <url>http://snapshots.jboss.org/maven2/</url>
-      <snapshots>
-         <enabled>true</enabled>
-      </snapshots>
-      <releases>
-         <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  
-  <dependencyManagement>
-    <dependencies>
-     <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-common-core</artifactId>
-        <version>2.2.1.GA</version>
-        <scope>compile</scope>
-     </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jbossxb</artifactId>
-         <version>2.0.0.CR10</version>
-         <scope>compile</scope>
-      </dependency>
-     <dependency>
-        <groupId>jboss</groupId>
-        <artifactId>jboss-logging-spi</artifactId>
-        <version>2.0.2.GA</version>
-        <scope>compile</scope>
-     </dependency>
-     <dependency>
-        <groupId>jboss</groupId>
-        <artifactId>jboss-logging-log4j</artifactId>
-        <version>2.0.2.GA</version>
-        <scope>runtime</scope>
-     </dependency>
-     <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-jacc-api</artifactId>
-         <version>1.1.0.${org.jboss.javaee.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-transaction-api</artifactId>
-         <version>1.0.1.${org.jboss.javaee.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-jaspi-api</artifactId>
-         <version>1.0.0.${org.jboss.javaee.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss.security</groupId>
-         <artifactId>jboss-security-spi</artifactId>
-         <version>${org.jboss.security.spi.version}</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>apache-log4j</groupId>
-         <artifactId>log4j</artifactId>
-         <version>1.2.14</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>junit</groupId>
-         <artifactId>junit</artifactId>
-         <version>3.8.1</version>
-         <scope>compile</scope>
-      </dependency>
-      <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-test</artifactId>
-         <version>1.0.4.GA</version>
-         <scope>runtime</scope>
-      </dependency>
-   </dependencies>
-  </dependencyManagement>
-
-  <properties>
-    <org.jboss.javaee.version>CR1</org.jboss.javaee.version>
-    <org.jboss.security.spi.version>2.0.2.CR4</org.jboss.security.spi.version>
-  </properties>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/parent/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/parent/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,161 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-parent</artifactId>
+      <version>3</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.security</groupId>
+   <artifactId>jbosssx-parent</artifactId>
+   <packaging>pom</packaging>
+   <version>2.0.2.CR6</version>
+   <name>JBossSX - Parent</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</developerConnection>
+   </scm>
+  
+   <build>
+     <plugins>
+        <plugin>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.0-beta-6</version>
+          <configuration>
+            <tagBase>https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags</tagBase>
+          </configuration>
+        </plugin>
+     </plugins>
+     <pluginManagement>
+       <plugins>
+          <plugin>
+             <artifactId>maven-surefire-plugin</artifactId>
+             <configuration>
+               <printSummary>true</printSummary>
+               <disableXmlReport>false</disableXmlReport>
+               <testFailureIgnore>false</testFailureIgnore>
+               <includes>
+                 <include>**/**TestCase.java</include>
+               </includes>
+               <forkMode>pertest</forkMode>
+               <argLine>${surefire.jvm.args}</argLine>
+               <useFile>false</useFile>
+               <trimStackTrace>false</trimStackTrace>
+             </configuration>
+          </plugin>
+       </plugins>
+     </pluginManagement>
+   </build>
+  
+   <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <name>JBoss Repository</name>
+      <layout>default</layout>
+      <url>http://repository.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+
+    <repository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Snapshots Repository</name>
+      <layout>default</layout>
+      <url>http://snapshots.jboss.org/maven2/</url>
+      <snapshots>
+         <enabled>true</enabled>
+      </snapshots>
+      <releases>
+         <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  
+  <dependencyManagement>
+    <dependencies>
+     <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-common-core</artifactId>
+        <version>2.2.1.GA</version>
+        <scope>compile</scope>
+     </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jbossxb</artifactId>
+         <version>2.0.0.CR10</version>
+         <scope>compile</scope>
+      </dependency>
+     <dependency>
+        <groupId>jboss</groupId>
+        <artifactId>jboss-logging-spi</artifactId>
+        <version>2.0.2.GA</version>
+        <scope>compile</scope>
+     </dependency>
+     <dependency>
+        <groupId>jboss</groupId>
+        <artifactId>jboss-logging-log4j</artifactId>
+        <version>2.0.2.GA</version>
+        <scope>runtime</scope>
+     </dependency>
+     <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-jacc-api</artifactId>
+         <version>1.1.0.${org.jboss.javaee.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-transaction-api</artifactId>
+         <version>1.0.1.${org.jboss.javaee.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-jaspi-api</artifactId>
+         <version>1.0.0.${org.jboss.javaee.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.security</groupId>
+         <artifactId>jboss-security-spi</artifactId>
+         <version>${org.jboss.security.spi.version}</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+         <version>1.2.14</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <version>3.8.1</version>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss</groupId>
+         <artifactId>jboss-test</artifactId>
+         <version>1.0.4.GA</version>
+         <scope>runtime</scope>
+      </dependency>
+   </dependencies>
+  </dependencyManagement>
+
+  <properties>
+    <org.jboss.javaee.version>CR1</org.jboss.javaee.version>
+    <org.jboss.security.spi.version>2.0.2.CR6</org.jboss.security.spi.version>
+  </properties>
+</project>

Deleted: projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml
===================================================================
--- projects/security/security-jboss-sx/trunk/pom.xml	2008-06-19 18:02:14 UTC (rev 74848)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -1,145 +0,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/maven-v4_0_0.xsd">
-   <parent>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-parent</artifactId>
-      <version>3</version>
-   </parent>
-   <modelVersion>4.0.0</modelVersion>
-   <groupId>org.jboss.security</groupId>
-   <artifactId>jbosssx-pom</artifactId>
-   <version>2.0.2-SNAPSHOT</version>
-   <packaging>pom</packaging>
-   <name>JBoss Security Implementation for the JBAS - Parent</name>
-   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
-   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
-   <licenses>
-      <license>
-         <name>lgpl</name>
-         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
-      </license>
-   </licenses>
-   <organization>
-      <name>JBoss Inc.</name>
-      <url>http://www.jboss.org</url>
-   </organization>
-   <scm>
-      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.Beta6</connection>
-      <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.Beta6</developerConnection>
-   </scm>
-   <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <name>JBoss Repository</name>
-      <layout>default</layout>
-      <url>http://repository.jboss.org/maven2/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-
-    <repository>
-      <id>snapshots.jboss.org</id>
-      <name>JBoss Snapshots Repository</name>
-      <layout>default</layout>
-      <url>http://snapshots.jboss.org/maven2/</url>
-      <snapshots>
-         <enabled>true</enabled>
-      </snapshots>
-      <releases>
-         <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  
-   <modules>
-     <module>parent</module>
-     <module>identity</module>
-     <module>acl</module>
-     <module>jbosssx</module>
-     <module>jbosssx-client</module>
-     <module>jbosssx-mc-int</module>
-     <module>assembly</module>
-   </modules>
-  
-   <profiles>
-    <!--    mvn install -Psecurity-manager    -->
-    <profile>
-      <id>security-manager</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
-      </properties>
-      <modules>
-        <module>jbosssx</module>
-      </modules>
-    </profile>
-    <!--     mvn install -Psecurity-manager-debug   -->
-    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
-    <profile>
-      <id>security-manager-debug</id>
-      <activation>
-         <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
-         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
-         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
-      </properties>
-      <modules>
-        <module>jbosssx</module>
-      </modules>
-    </profile>
-
-    <!-- Specify heap size for ACL tests -->
-    <profile>
-      <id>acl-heap-profile</id>
-      <activation>
-         <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-         <surefire.jvm.args>-Xms512m -Xmx1024m</surefire.jvm.args>
-      </properties>
-      <modules>
-        <module>acl</module>
-      </modules>
-    </profile>
-   </profiles>
-
-   <build>
-    <plugins>
-     <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <printSummary>true</printSummary>
-          <testFailureIgnore>false</testFailureIgnore>
-          <redirectTestOutputToFile>true</redirectTestOutputToFile>
-          <includes>
-             <include>**/**TestCase.java</include>
-          </includes>
-          <forkMode>pertest</forkMode>
-          <argLine>${surefire.jvm.args}</argLine>
-          <trimStackTrace>false</trimStackTrace>
-        </configuration>
-      </plugin>
-    </plugins>
-   </build>
-  
-   <distributionManagement>
-    <repository>
-      <!-- Copy the distribution jar file to a local checkout of the maven repositry
-        -  This variable can be set in $MAVEN_HOME/conf/settings.xml -->
-      <id>repository.jboss.org</id>
-      <url>file://${maven.repository.root}</url>
-    </repository>
-    <snapshotRepository>
-      <id>snapshots.jboss.org</id>
-      <name>JBoss Inc. Repository</name>
-      <layout>default</layout>
-      <url>dav:https://snapshots.jboss.org/maven2/</url>
-    </snapshotRepository>
-   </distributionManagement>
-</project>

Copied: projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml (from rev 75010, projects/security/security-jboss-sx/trunk/pom.xml)
===================================================================
--- projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml	                        (rev 0)
+++ projects/security/security-jboss-sx/tags/2.0.2.CR6/pom.xml	2008-06-24 21:41:44 UTC (rev 75011)
@@ -0,0 +1,145 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-parent</artifactId>
+      <version>3</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.security</groupId>
+   <artifactId>jbosssx-pom</artifactId>
+   <version>2.0.2.CR6</version>
+   <packaging>pom</packaging>
+   <name>JBoss Security Implementation for the JBAS - Parent</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss Security is a cross cutting project that handles security for the JEMS projects</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/security/security-jboss-sx/tags/2.0.2.CR6</developerConnection>
+   </scm>
+   <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <name>JBoss Repository</name>
+      <layout>default</layout>
+      <url>http://repository.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+
+    <repository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Snapshots Repository</name>
+      <layout>default</layout>
+      <url>http://snapshots.jboss.org/maven2/</url>
+      <snapshots>
+         <enabled>true</enabled>
+      </snapshots>
+      <releases>
+         <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  
+   <modules>
+     <module>parent</module>
+     <module>identity</module>
+     <module>acl</module>
+     <module>jbosssx</module>
+     <module>jbosssx-client</module>
+     <module>jbosssx-mc-int</module>
+     <module>assembly</module>
+   </modules>
+  
+   <profiles>
+    <!--    mvn install -Psecurity-manager    -->
+    <profile>
+      <id>security-manager</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} ${test.env}</surefire.jvm.args>
+      </properties>
+      <modules>
+        <module>jbosssx</module>
+      </modules>
+    </profile>
+    <!--     mvn install -Psecurity-manager-debug   -->
+    <!-- Best Practice:    mvn install -Psecurity-manager-debug  2>&1 > logfile2>&1 > logfile -->
+    <profile>
+      <id>security-manager-debug</id>
+      <activation>
+         <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+         <test.env>-Dtest.basedir=${basedir}/target/test-classes</test.env>
+         <policy.file>${basedir}/src/tests/resources/java.policy</policy.file>
+         <surefire.jvm.args>-Djava.security.manager -Djava.security.policy=${policy.file} -Djava.security.debug=failure,access ${test.env}</surefire.jvm.args>
+      </properties>
+      <modules>
+        <module>jbosssx</module>
+      </modules>
+    </profile>
+
+    <!-- Specify heap size for ACL tests -->
+    <profile>
+      <id>acl-heap-profile</id>
+      <activation>
+         <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+         <surefire.jvm.args>-Xms512m -Xmx1024m</surefire.jvm.args>
+      </properties>
+      <modules>
+        <module>acl</module>
+      </modules>
+    </profile>
+   </profiles>
+
+   <build>
+    <plugins>
+     <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <printSummary>true</printSummary>
+          <testFailureIgnore>false</testFailureIgnore>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          <includes>
+             <include>**/**TestCase.java</include>
+          </includes>
+          <forkMode>pertest</forkMode>
+          <argLine>${surefire.jvm.args}</argLine>
+          <trimStackTrace>false</trimStackTrace>
+        </configuration>
+      </plugin>
+    </plugins>
+   </build>
+  
+   <distributionManagement>
+    <repository>
+      <!-- Copy the distribution jar file to a local checkout of the maven repositry
+        -  This variable can be set in $MAVEN_HOME/conf/settings.xml -->
+      <id>repository.jboss.org</id>
+      <url>file://${maven.repository.root}</url>
+    </repository>
+    <snapshotRepository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Inc. Repository</name>
+      <layout>default</layout>
+      <url>dav:https://snapshots.jboss.org/maven2/</url>
+    </snapshotRepository>
+   </distributionManagement>
+</project>




More information about the jboss-cvs-commits mailing list