[jboss-svn-commits] JBL Code SVN: r18618 - in labs/jbosslabs/labs-3.0-build: configuration/resources/to-copy/server/default/deploy/jmx-console.war/WEB-INF and 35 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 28 11:47:51 EST 2008


Author: szimano
Date: 2008-02-28 11:47:51 -0500 (Thu, 28 Feb 2008)
New Revision: 18618

Added:
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/MANIFEST.MF
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/application.xml
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/INDEX.LIST
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/MANIFEST.MF
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/ApplicationResources.properties
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/client-config.wsdd
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/spring/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/spring/acegi/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/lib/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/server-config.wsdd
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/struts-signon.xml
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tiles-signon.xml
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-bean.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-html.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-logic.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-nested.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-template.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-tiles.tld
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/web.xml
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/josso-logo.gif
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/spacer.gif
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/style.css
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/error.jsp
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/info.jsp
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/layout.jsp
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/loginResult.jsp
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/usernamePasswordLogin.jsp
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnerapp.war
   labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnercomponent.jar
   labs/jbosslabs/labs-3.0-build/services/labs2josso/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/pom.xml
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/josso/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/josso/LabsIDentityStore.java
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/META-INF/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/META-INF/persistence.xml
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/labs/
   labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/labs/AppTest.java
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/activation.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/axis.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-beanutils.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-codec-1.2.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-collections-3.1.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-digester.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-discovery-0.2.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-fileupload.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-httpclient-3.0-rc2.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-lang-2.0.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-validator.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jakarta-oro.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jaxrpc.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/josso-1.6.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/mailapi_1_3_1.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/saaj.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts-legacy.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts.jar
   labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/wsdl4j-1.5.1.jar
Modified:
   labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/conf/josso-gateway-config.xml
   labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/deploy/jmx-console.war/WEB-INF/web.xml
   labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
   labs/jbosslabs/labs-3.0-build/services/credential/pom.xml
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/AuthHelper.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml
   labs/jbosslabs/labs-3.0-build/services/foo-service/src/main/java/org/jboss/labs/FooServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/pom.xml
Log:
JBLAB-901 josso bound to auth + auth main bug fixed

Modified: labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/conf/josso-gateway-config.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/conf/josso-gateway-config.xml	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/conf/josso-gateway-config.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -102,11 +102,12 @@
                     <connectionURL>jdbc:mysql://localhost:3306/dotorgdata?useServerPrepStmts=false</connectionURL>
                     <driverName>org.gjt.mm.mysql.Driver</driverName>
                 </credential-store-->
-                <credential-store>
-                    <class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
+                <credential-store>
+                	<class>org.jboss.labs.auth.josso.LabsIDentityStore</class>
+                    <!-- class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
 
                     <credentialsQueryString>SELECT pn_uname AS username, pn_pass AS password FROM nuke_users WHERE pn_uname = ?</credentialsQueryString>
-                    <dsJndiName>java:JBossDS</dsJndiName>
+                    <dsJndiName>java:JBossDS</dsJndiName -->
                 </credential-store>
                 
 
@@ -234,8 +235,9 @@
         <!-- jakarta commons-configuration uses them to define arrays. -->
         <!-- ========================================================= -->
         <!-- -->
-        <sso-identity-store>
-            <class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
+        <sso-identity-store>
+        	<class>org.jboss.labs.auth.josso.LabsIDentityStore</class>
+            <!-- <class>org.josso.gateway.identity.service.store.db.DataSourceIdentityStore</class>
 
             <userQueryString>
                 SELECT pn_uname AS login FROM nuke_users WHERE pn_uname = ?
@@ -249,7 +251,7 @@
                 SELECT "admin" AS 'josso_role.name' UNION SELECT "user" AS 'josso_role.name' UNION SELECT ? UNION SELECT "role1" UNION SELECT "JBossAdmin";
             </rolesQueryString>
 
-            <dsJndiName>java:JBossDS</dsJndiName>
+            <dsJndiName>java:JBossDS</dsJndiName> -->
         </sso-identity-store>
         
         <!-- ========================================================= -->

Modified: labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/deploy/jmx-console.war/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/deploy/jmx-console.war/WEB-INF/web.xml	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/configuration/resources/to-copy/server/default/deploy/jmx-console.war/WEB-INF/web.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -93,7 +93,7 @@
        <http-method>POST</http-method>
      </web-resource-collection>
      <auth-constraint>
-       <role-name>JBossAdmin</role-name>
+       <role-name>Administrators</role-name>
      </auth-constraint>
      <user-data-constraint>
         <transport-guarantee>CONFIDENTIAL</transport-guarantee>
@@ -109,6 +109,6 @@
 	</login-config>
 
    <security-role>
-      <role-name>JBossAdmin</role-name>
+      <role-name>Administrators</role-name>
    </security-role>
 </web-app>

Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -44,6 +44,9 @@
 	private String website;
 	private String pictureURL;
     private String email;
+    private String fakeEmail;
+    private String firstName;
+    private String lastName;
 
     private String password;
 
@@ -156,4 +159,28 @@
 		}
 	}
 
+	public String getFakeEmail() {
+		return fakeEmail;
+	}
+
+	public void setFakeEmail(String fakeEmail) {
+		this.fakeEmail = fakeEmail;
+	}
+
+	public String getFirstName() {
+		return firstName;
+	}
+
+	public void setFirstName(String firstName) {
+		this.firstName = firstName;
+	}
+
+	public String getLastName() {
+		return lastName;
+	}
+
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+
 }

Modified: labs/jbosslabs/labs-3.0-build/services/credential/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/pom.xml	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/credential/pom.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -49,12 +49,6 @@
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
-			<groupId>josso</groupId>
-			<artifactId>josso</artifactId>
-			<version>1.5</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
 			<groupId>jboss.jbossws</groupId>
 			<artifactId>jboss-jaxrpc</artifactId>
 			<version>1.0.4.GA</version>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/MANIFEST.MF
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/MANIFEST.MF	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.6.5
+Created-By: 1.5.0_13-121 ("Apple Computer, Inc.")
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/application.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/application.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/META-INF/application.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>
+<application>
+	<display-name>JOSSO</display-name>
+	<description>JOSSO</description>
+    <!-- JOSSO Gateway -->
+    <module>
+        <web>
+            <web-uri>josso.war</web-uri>
+            <context-root>/josso</context-root>
+        </web>
+    </module>
+
+    <!-- JOSSO Sample Partner Web Application  -->
+	<module>
+		<web>
+			<web-uri>partnerapp.war</web-uri>
+			<context-root>/partnerapp</context-root>
+		</web>
+	</module>
+
+    <!-- JOSSO Sample Partner Web Application EJB component -->
+    <module>
+        <ejb>partnercomponent.jar</ejb>
+    </module>
+
+	<!-- labs module -->
+
+	<module>
+		<java>labs2josso-1.0-SNAPSHOT.jar</java>
+	</module>
+</application>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/INDEX.LIST
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/INDEX.LIST	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/INDEX.LIST	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,12 @@
+JarIndex-Version: 1.0
+
+josso.war
+WEB-INF
+WEB-INF/classes
+WEB-INF/classes/spring
+WEB-INF/classes/spring/acegi
+WEB-INF/lib
+WEB-INF/tlds
+resources
+signon
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/MANIFEST.MF
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/META-INF/MANIFEST.MF	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.6.5
+Created-By: 1.5.0_13-121 ("Apple Computer, Inc.")
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/ApplicationResources.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/ApplicationResources.properties	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/ApplicationResources.properties	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,39 @@
+#
+# JOSSO: Java Open Single Sign-On
+#
+# Copyright 2004-2007, Atricore, Inc.
+#
+# 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.
+#
+
+# -- standard errors --
+errors.suffix=</li>
+errors.prefix=<li>
+errors.header=<ul class="error-msg"><font color="red" face="Verdana">
+errors.footer=</font></ul>
+
+# -- SSO Message Resources
+sso.label.username=Username:
+sso.label.password=Password:
+sso.info.session=JOSSO Session {0}
+
+sso.button.login=Login
+
+sso.login.success=Welcome, {0}!
+sso.login.redirect=You'll be redirected to your <a href="{0}">site</a>
+sso.login.failed=Invalid Authentication Information
+
+sso.error=Error : {0}
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/client-config.wsdd
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/client-config.wsdd	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/classes/client-config.wsdd	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~   Copyright (c) 2004-2006, Novascope S.A. and the JOSSO team
+  ~    All rights reserved.
+  ~    Redistribution and use in source and binary forms, with or
+  ~    without modification, are permitted provided that the following
+  ~    conditions are met:
+  ~
+  ~    * Redistributions of source code must retain the above copyright
+  ~      notice, this list of conditions and the following disclaimer.
+  ~
+  ~    * Redistributions in binary form must reproduce the above copyright
+  ~      notice, this list of conditions and the following disclaimer in
+  ~      the documentation and/or other materials provided with the
+  ~      distribution.
+  ~
+  ~    * Neither the name of the JOSSO team nor the names of its
+  ~      contributors may be used to endorse or promote products derived
+  ~      from this software without specific prior written permission.
+  ~
+  ~    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+  ~    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+  ~    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  ~    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  ~    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+  ~    BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  ~    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+  ~    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  ~    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+  ~    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+  ~    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  ~    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  ~    POSSIBILITY OF SUCH DAMAGE.
+  -->
+
+<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+ <handler name="WebserviceClientAuthentication" type="java:org.josso.gateway.WebserviceClientAuthentication"/>
+ <globalConfiguration>
+  <requestFlow>
+   <handler type="WebserviceClientAuthentication"/>
+  </requestFlow>
+ </globalConfiguration>
+ <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
+ <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
+ <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
+</deployment>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/server-config.wsdd
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/server-config.wsdd	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/server-config.wsdd	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~   Copyright (c) 2004-2006, Novascope S.A. and the JOSSO team
+  ~    All rights reserved.
+  ~    Redistribution and use in source and binary forms, with or
+  ~    without modification, are permitted provided that the following
+  ~    conditions are met:
+  ~
+  ~    * Redistributions of source code must retain the above copyright
+  ~      notice, this list of conditions and the following disclaimer.
+  ~
+  ~    * Redistributions in binary form must reproduce the above copyright
+  ~      notice, this list of conditions and the following disclaimer in
+  ~      the documentation and/or other materials provided with the
+  ~      distribution.
+  ~
+  ~    * Neither the name of the JOSSO team nor the names of its
+  ~      contributors may be used to endorse or promote products derived
+  ~      from this software without specific prior written permission.
+  ~
+  ~    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+  ~    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+  ~    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+  ~    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  ~    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+  ~    BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  ~    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+  ~    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  ~    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+  ~    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+  ~    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  ~    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  ~    POSSIBILITY OF SUCH DAMAGE.
+  -->
+
+<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+    <globalConfiguration>
+        <parameter name="adminPassword" value="admin"/>
+        <parameter name="disablePrettyXML" value="true"/>
+        <parameter name="sendMultiRefs" value="true"/>
+        <parameter name="sendXsiTypes" value="true"/>
+        <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
+        <parameter name="sendXMLDeclaration" value="true"/>
+        <requestFlow>
+            <handler type="java:org.apache.axis.handlers.JWSHandler">
+                <parameter name="scope" value="session"/>
+            </handler>
+            <handler type="java:org.apache.axis.handlers.JWSHandler">
+                <parameter name="scope" value="request"/>
+                <parameter name="extension" value=".jwr"/>
+            </handler>
+        </requestFlow>
+    </globalConfiguration>
+    <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
+    <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
+    <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
+    <service name="AdminService" provider="java:MSG">
+        <parameter name="allowedMethods" value="AdminService"/>
+        <parameter name="enableRemoteAdmin" value="false"/>
+        <parameter name="className" value="org.apache.axis.utils.Admin"/>
+        <namespace>http://xml.apache.org/axis/wsdd/</namespace>
+    </service>
+    <service name="Version" provider="java:RPC">
+        <parameter name="allowedMethods" value="getVersion"/>
+        <parameter name="className" value="org.apache.axis.Version"/>
+    </service>
+    <service name="SSOEventManagerClient" provider="java:RPC">
+        <parameter name="allowedMethods" value="*"/>
+        <parameter name="typeMappingVersion" value="1.2"/>
+        <parameter name="wsdlPortType" value="SSOEventManagerClient"/>
+        <parameter name="className"
+                   value="org.josso.gateway.event.client.ws.impl.SSOEventManagerClientSoapBindingSkeleton"/>
+        <parameter name="wsdlServicePort" value="SSOEventManagerClient"/>
+        <parameter name="wsdlTargetNamespace" value="http://josso.org/gateway/event/client/ws/impl"/>
+        <parameter name="wsdlServiceElement" value="SSOEventManagerClientService"/>
+        <parameter name="schemaUnqualified" value="http://josso.org/gateway/event/client/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns1:SSOEventException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.event.client.ws.impl.SSOEventException"
+                     xmlns:ns1="http://josso.org/gateway/event/client/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns2:SSOEvent"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.event.client.ws.impl.SSOEvent"
+                     xmlns:ns2="http://josso.org/gateway/event/client/ws/impl"/>
+    </service>
+    <service name="SSOSessionManager" provider="java:RPC">
+        <parameter name="allowedMethods" value="*"/>
+        <parameter name="typeMappingVersion" value="1.2"/>
+        <parameter name="wsdlPortType" value="SSOSessionManager"/>
+        <parameter name="className"
+                   value="org.josso.gateway.session.service.ws.impl.SSOSessionManagerSoapBindingSkeleton"/>
+        <parameter name="wsdlServicePort" value="SSOSessionManager"/>
+        <parameter name="wsdlTargetNamespace" value="http://josso.org/gateway/session/service/ws/impl"/>
+        <parameter name="wsdlServiceElement" value="SSOSessionManagerService"/>
+        <parameter name="schemaUnqualified"
+                   value="http://xml.apache.org/xml-soap,http://josso.org/gateway/session/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns3:TooManyOpenSessionsException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.session.service.ws.impl.TooManyOpenSessionsException"
+                     xmlns:ns3="http://josso.org/gateway/session/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns4:NoSuchSessionException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.session.service.ws.impl.NoSuchSessionException"
+                     xmlns:ns4="http://josso.org/gateway/session/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns5:SSOSessionException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.session.service.ws.impl.SSOSessionException"
+                     xmlns:ns5="http://josso.org/gateway/session/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns6:SSOSession"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.session.service.ws.impl.SSOSession"
+                     xmlns:ns6="http://josso.org/gateway/session/service/ws/impl"/>
+        <arrayMapping innerType="xsd:anyType" languageSpecificType="java:java.lang.Object[]"
+                      qname="ns7:ArrayOf_xsd_anyType" xmlns:ns7="http://josso.org/gateway/session/service/ws/impl"
+                      xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
+    </service>
+    <service name="SSOIdentityManager" provider="java:RPC">
+        <parameter name="allowedMethods" value="*"/>
+        <parameter name="typeMappingVersion" value="1.2"/>
+        <parameter name="wsdlPortType" value="SSOIdentityManager"/>
+        <parameter name="className"
+                   value="org.josso.gateway.identity.service.ws.impl.SSOIdentityManagerSoapBindingSkeleton"/>
+        <parameter name="wsdlServicePort" value="SSOIdentityManager"/>
+        <parameter name="wsdlTargetNamespace" value="http://josso.org/gateway/identity/service/ws/impl"/>
+        <parameter name="wsdlServiceElement" value="SSOIdentityManagerService"/>
+        <parameter name="schemaUnqualified" value="http://josso.org/gateway/identity/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns8:SSOIdentityException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.identity.service.ws.impl.SSOIdentityException"
+                     xmlns:ns8="http://josso.org/gateway/identity/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns9:SSOUser"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.identity.service.ws.impl.SSOUser"
+                     xmlns:ns9="http://josso.org/gateway/identity/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns10:SSORole"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.identity.service.ws.impl.SSORole"
+                     xmlns:ns10="http://josso.org/gateway/identity/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns11:NoSuchUserException"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.identity.service.ws.impl.NoSuchUserException"
+                     xmlns:ns11="http://josso.org/gateway/identity/service/ws/impl"/>
+        <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns12:SSONameValuePair"
+                     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                     type="java:org.josso.gateway.identity.service.ws.impl.SSONameValuePair"
+                     xmlns:ns12="http://josso.org/gateway/identity/service/ws/impl"/>
+        <arrayMapping innerType="ns13:SSORole"
+                      languageSpecificType="java:org.josso.gateway.identity.service.ws.impl.SSORole[]"
+                      qname="ns13:ArrayOfSSORole" xmlns:ns13="http://josso.org/gateway/identity/service/ws/impl"/>
+        <arrayMapping innerType="ns14:SSONameValuePair"
+                      languageSpecificType="java:org.josso.gateway.identity.service.ws.impl.SSONameValuePair[]"
+                      qname="ns14:ArrayOfSSONameValuePair"
+                      xmlns:ns14="http://josso.org/gateway/identity/service/ws/impl"/>
+    </service>
+    <service name="SSOIdentityProvider" provider="java:RPC" style="rpc" use="encoded">
+        <parameter name="wsdlTargetNamespace" value="http://josso.org/gateway/identity/service/ws/impl"/>
+        <parameter name="wsdlServiceElement" value="SSOIdentityProviderService"/>
+        <parameter name="schemaUnqualified"
+                   value="http://josso.org/gateway/identity/service/ws/impl,http://josso.org/gateway/session/service/ws/impl"/>
+        <parameter name="wsdlServicePort" value="SSOIdentityProvider"/>
+        <parameter name="className"
+                   value="org.josso.gateway.identity.service.ws.impl.SSOIdentityProviderSoapBindingSkeleton"/>
+        <parameter name="wsdlPortType" value="SSOIdentityProvider"/>
+        <parameter name="typeMappingVersion" value="1.2"/>
+        <parameter name="allowedMethods" value="*"/>
+
+        <typeMapping
+                xmlns:ns="http://josso.org/gateway/session/service/ws/impl"
+                qname="ns:AssertionException"
+                type="java:org.josso.gateway.session.service.ws.impl.AssertionException"
+                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                />
+        <typeMapping
+                xmlns:ns="http://josso.org/gateway/identity/service/ws/impl"
+                qname="ns:IdentityProvisioningException"
+                type="java:org.josso.gateway.identity.service.ws.impl.IdentityProvisioningException"
+                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                />
+        <typeMapping
+                xmlns:ns="http://josso.org/gateway/identity/service/ws/impl"
+                qname="ns:SSOIdentityException"
+                type="java:org.josso.gateway.identity.service.ws.impl.SSOIdentityException"
+                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                />
+        <typeMapping
+                xmlns:ns="http://josso.org/gateway/session/service/ws/impl"
+                qname="ns:AssertionNotValidException"
+                type="java:org.josso.gateway.session.service.ws.impl.AssertionNotValidException"
+                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+                deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
+                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                />
+    </service>
+
+    <transport name="http">
+        <requestFlow>
+            <handler type="URLMapper"/>
+            <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
+        </requestFlow>
+        <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
+        <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
+        <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
+        <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
+        <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
+        <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
+    </transport>
+    <transport name="local">
+        <responseFlow>
+            <handler type="LocalResponder"/>
+        </responseFlow>
+    </transport>
+</deployment>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/struts-signon.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/struts-signon.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/struts-signon.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE struts-config PUBLIC
+          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
+          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+
+<struts-config>
+
+    <!-- ======================================================= -->
+    <!-- Forms used by different authentication schemes -->
+    <!-- ======================================================= -->
+    <form-beans>
+        <form-bean name="usernamePasswordLoginForm" type="org.apache.struts.validator.DynaValidatorForm">
+            <form-property name="josso_username" type="java.lang.String"/>
+            <form-property name="josso_password" type="java.lang.String"/>
+            <form-property name="josso_cmd" type="java.lang.String"/>
+        </form-bean>
+
+        <!-- New forms needed for other auth. schemes go here -->
+
+    </form-beans>
+
+    <!-- ======================================================= -->
+    <!-- Global forwards common to all auth. schemes -->
+    <!-- ======================================================= -->
+    <global-forwards>
+
+        <forward name="josso" path="http://www.josso.org" redirect="yes"/>
+
+        <!-- Login entry point -->
+        <forward name="login" path="/signon/login.do" />
+        <forward name="logout" path="/signon/logout.do" />
+        <forward name="info" path="/signon/info.do" />
+        
+        <!-- This forwards use struts tiles deffinitions ... -->
+        <!-- Login result, use a tile name defined in tiles-signon.xml instead of a .jsp file name -->
+        <forward name="login-result" path="josso.signon.loginResult" />
+        <!-- General error page, use a tile name defined in tiles-signon.xml instead of a .jsp file name -->
+        <forward name="error" path="josso.signon.error" />
+
+    </global-forwards>
+    
+    <!-- ======================================================= -->
+    <!-- Action mappings                                         -->
+    <!-- ======================================================= -->
+    <action-mappings >
+
+        <!--
+        Generic entry point to SSO login, this action will redirect to the propper action
+        based on the configured authentication scheme.
+        -->
+        <action path="/signon/login"
+            type="org.josso.gateway.signon.LoginSelectorAction">
+            <!-- Different login for each authentication scheme -->
+            <forward name="username-password" path="/signon/usernamePasswordLogin.do"/>
+            <!-- Other auth.scheme login pages go here -->
+            <!--forward name="strong-authentication" path="8443/josso/signon/strongAuthenticationLogin.do"/-->
+            <forward name="strong-authentication" path="/josso/signon/strongAuthenticationLogin.do"/>
+        </action>
+
+        <action path="/signon/logout"
+            type="org.josso.gateway.signon.LogoutAction">
+            <forward name="success" path="/signon/login.do"/>
+        </action>
+
+        <action path="/signon/info"
+            type="org.josso.gateway.signon.InfoAction">
+            <!-- use a tile name defined in tiles-signon.xml instead of a .jsp file name -->
+            <forward name="success" path="josso.signon.info"/>
+        </action>
+
+        <!-- ======================================================= -->
+        <!-- Specific action mappings for different auth schemes.    -->
+        <!-- ======================================================= -->
+
+        <!-- Struts action used for username-password authentication scheme -->
+        <action path="/signon/usernamePasswordLogin"
+            type="org.josso.gateway.signon.UsernamePasswordLoginAction"
+            name="usernamePasswordLoginForm"
+            validate="false">
+            <!-- use a tile name defined in tiles-signon.xml instead of a .jsp file name -->
+            <forward name="login-page" path="josso.signon.usernamePasswordLogin"/>
+        </action>
+
+        <!-- Struts action used for strong authentication scheme -->
+        <action path="/signon/strongAuthenticationLogin"
+            type="org.josso.gateway.signon.StrongLoginAction"
+            name="strongAuthenticationLogin"
+            validate="false">
+            <!-- use a tile name defined in tiles-signon.xml instead of a .jsp file name -->
+            <forward name="login-page" path="josso.signon.usernamePasswordLogin"/>
+        </action>
+        <!-- New actions needed for other auth.schemes go here -->
+
+    </action-mappings>
+
+    <!-- ======================================================= -->
+    <!-- Tiles plug-in setting settings                          -->
+    <!-- Here we specified the tiles plug-in.                    -->
+    <!-- This plug-in register appropriate Request Processor     -->
+    <!-- ======================================================= -->
+    <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"
+        inputForward="true"
+        nocache="true"/>
+
+    <!-- ======================================================= -->
+    <!-- Associated Messages Ressource settings                  -->
+    <!-- ======================================================= -->
+    <message-resources null="false"
+        parameter="ApplicationResources"/>
+
+    <!-- ======================================================= -->
+    <!-- Struts Plug-ins                                         -->
+    <!-- ======================================================= -->
+
+    <!-- Tiles plugin : Some parameters are defined at web.xml  -->
+    <plug-in className="org.apache.struts.tiles.TilesPlugin">
+        <set-property property="moduleAware" value="true"/>
+    </plug-in>
+
+
+</struts-config>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tiles-signon.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tiles-signon.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tiles-signon.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE tiles-definitions PUBLIC
+       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
+       "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
+
+<!-- ====================================================== -->
+<!--                                                        -->
+<!-- Definitions for Tiles :                                -->
+<!-- This file contains definitions for Josso Web App.      -->
+<!--                                                        -->
+<!-- ====================================================== -->
+
+<tiles-definitions>
+
+    <!-- ============================================================= -->
+    <!-- Singon General layout definition                              -->
+    <!-- ============================================================= -->
+    <definition name="josso.signon.layout" template="/signon/layout.jsp">
+        <put name="josso.page.title" value="Signon" type="string" />
+    </definition>
+
+    <definition name="josso.signon.loginResult" extends="josso.signon.layout">
+        <put name="josso.signon.page.title" value="Login Result" type="string"/>
+        <put name="josso.signon.body" value="/signon/loginResult.jsp" />
+    </definition>
+
+    <definition name="josso.signon.info" extends="josso.signon.layout">
+        <put name="josso.signon.page.title" value="Info" type="string"/>
+        <put name="josso.signon.body" value="/signon/info.jsp" />
+    </definition>
+
+    <definition name="josso.signon.error" extends="josso.signon.layout">
+        <put name="josso.signon.page.title" value="Info" type="string"/>
+        <put name="josso.signon.body" value="/signon/error.jsp" />
+    </definition>
+
+
+    <definition name="josso.signon.usernamePasswordLogin" extends="josso.signon.layout">
+        <put name="josso.signon.page.title" value="Login" type="string"/>
+        <put name="josso.signon.body" value="/signon/usernamePasswordLogin.jsp"/>
+    </definition>
+
+</tiles-definitions>
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-bean.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-bean.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-bean.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>bean</shortname>
+<uri>http://jakarta.apache.org/struts/tags-bean</uri>
+<tag>
+<name>cookie</name>
+<tagclass>org.apache.struts.taglib.bean.CookieTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.CookieTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>define</name>
+<tagclass>org.apache.struts.taglib.bean.DefineTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.DefineTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>toScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>header</name>
+<tagclass>org.apache.struts.taglib.bean.HeaderTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.HeaderTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>include</name>
+<tagclass>org.apache.struts.taglib.bean.IncludeTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.IncludeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>message</name>
+<tagclass>org.apache.struts.taglib.bean.MessageTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>arg0</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg1</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg2</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg3</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg4</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>key</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>page</name>
+<tagclass>org.apache.struts.taglib.bean.PageTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.PageTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>parameter</name>
+<tagclass>org.apache.struts.taglib.bean.ParameterTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.ParameterTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>resource</name>
+<tagclass>org.apache.struts.taglib.bean.ResourceTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.ResourceTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>input</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>size</name>
+<tagclass>org.apache.struts.taglib.bean.SizeTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.SizeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>struts</name>
+<tagclass>org.apache.struts.taglib.bean.StrutsTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.StrutsTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>formBean</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>mapping</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>write</name>
+<tagclass>org.apache.struts.taglib.bean.WriteTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>format</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>formatKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-html.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-html.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-html.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,2993 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>html</shortname>
+<uri>http://jakarta.apache.org/struts/tags-html</uri>
+<tag>
+<name>base</name>
+<tagclass>org.apache.struts.taglib.html.BaseTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>server</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>button</name>
+<tagclass>org.apache.struts.taglib.html.ButtonTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>cancel</name>
+<tagclass>org.apache.struts.taglib.html.CancelTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>checkbox</name>
+<tagclass>org.apache.struts.taglib.html.CheckboxTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>errors</name>
+<tagclass>org.apache.struts.taglib.html.ErrorsTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>file</name>
+<tagclass>org.apache.struts.taglib.html.FileTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>accept</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>form</name>
+<tagclass>org.apache.struts.taglib.html.FormTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>action</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>enctype</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>focus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>focusIndex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>method</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onreset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onsubmit</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>frame</name>
+<tagclass>org.apache.struts.taglib.html.FrameTag</tagclass>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>frameborder</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>frameName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>longdesc</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>marginheight</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>marginwidth</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>noresize</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scrolling</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>hidden</name>
+<tagclass>org.apache.struts.taglib.html.HiddenTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>write</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>html</name>
+<tagclass>org.apache.struts.taglib.html.HtmlTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>xhtml</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>image</name>
+<tagclass>org.apache.struts.taglib.html.ImageTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>img</name>
+<tagclass>org.apache.struts.taglib.html.ImgTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>height</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>hspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>imageName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ismap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>lowsrc</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>usemap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>vspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>width</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>javascript</name>
+<tagclass>org.apache.struts.taglib.html.JavascriptValidatorTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>cdata</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>dynamicJavascript</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>formName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>method</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>staticJavascript</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>htmlComment</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>link</name>
+<tagclass>org.apache.struts.taglib.html.LinkTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>linkName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messages</name>
+<tagclass>org.apache.struts.taglib.html.MessagesTag</tagclass>
+<teiclass>org.apache.struts.taglib.html.MessagesTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>footer</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>multibox</name>
+<tagclass>org.apache.struts.taglib.html.MultiboxTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>option</name>
+<tagclass>org.apache.struts.taglib.html.OptionTag</tagclass>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>key</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>options</name>
+<tagclass>org.apache.struts.taglib.html.OptionsTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>labelName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>labelProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>optionsCollection</name>
+<tagclass>org.apache.struts.taglib.html.OptionsCollectionTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>label</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>password</name>
+<tagclass>org.apache.struts.taglib.html.PasswordTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>redisplay</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>radio</name>
+<tagclass>org.apache.struts.taglib.html.RadioTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>idName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>reset</name>
+<tagclass>org.apache.struts.taglib.html.ResetTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>rewrite</name>
+<tagclass>org.apache.struts.taglib.html.RewriteTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>select</name>
+<tagclass>org.apache.struts.taglib.html.SelectTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>submit</name>
+<tagclass>org.apache.struts.taglib.html.SubmitTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>text</name>
+<tagclass>org.apache.struts.taglib.html.TextTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>textarea</name>
+<tagclass>org.apache.struts.taglib.html.TextareaTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>cols</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>rows</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>xhtml</name>
+<tagclass>org.apache.struts.taglib.html.XhtmlTag</tagclass>
+<bodycontent>empty</bodycontent>
+</tag>
+</taglib>
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-logic.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-logic.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-logic.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,663 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>logic</shortname>
+<uri>http://jakarta.apache.org/struts/tags-logic</uri>
+<tag>
+<name>empty</name>
+<tagclass>org.apache.struts.taglib.logic.EmptyTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>equal</name>
+<tagclass>org.apache.struts.taglib.logic.EqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>forward</name>
+<tagclass>org.apache.struts.taglib.logic.ForwardTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>greaterEqual</name>
+<tagclass>org.apache.struts.taglib.logic.GreaterEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>greaterThan</name>
+<tagclass>org.apache.struts.taglib.logic.GreaterThanTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>iterate</name>
+<tagclass>org.apache.struts.taglib.logic.IterateTag</tagclass>
+<teiclass>org.apache.struts.taglib.logic.IterateTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexId</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>length</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>offset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>lessEqual</name>
+<tagclass>org.apache.struts.taglib.logic.LessEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>lessThan</name>
+<tagclass>org.apache.struts.taglib.logic.LessThanTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>match</name>
+<tagclass>org.apache.struts.taglib.logic.MatchTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>location</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messagesNotPresent</name>
+<tagclass>org.apache.struts.taglib.logic.MessagesNotPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messagesPresent</name>
+<tagclass>org.apache.struts.taglib.logic.MessagesPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notEmpty</name>
+<tagclass>org.apache.struts.taglib.logic.NotEmptyTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notEqual</name>
+<tagclass>org.apache.struts.taglib.logic.NotEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notMatch</name>
+<tagclass>org.apache.struts.taglib.logic.NotMatchTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>location</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notPresent</name>
+<tagclass>org.apache.struts.taglib.logic.NotPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>user</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>present</name>
+<tagclass>org.apache.struts.taglib.logic.PresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>user</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>redirect</name>
+<tagclass>org.apache.struts.taglib.logic.RedirectTag</tagclass>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-nested.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-nested.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-nested.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,2891 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>nested</shortname>
+<uri>http://jakarta.apache.org/struts/tags-nested</uri>
+<tag>
+<name>nest</name>
+<tagclass>org.apache.struts.taglib.nested.NestedPropertyTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>writeNesting</name>
+<tagclass>org.apache.struts.taglib.nested.NestedWriteNestingTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>root</name>
+<tagclass>org.apache.struts.taglib.nested.NestedRootTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>define</name>
+<tagclass>org.apache.struts.taglib.nested.bean.NestedDefineTag</tagclass>
+<teiclass>org.apache.struts.taglib.nested.bean.NestedDefineTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>toScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>message</name>
+<tagclass>org.apache.struts.taglib.nested.bean.NestedMessageTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>arg0</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg1</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg2</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg3</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg4</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>key</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>size</name>
+<tagclass>org.apache.struts.taglib.nested.bean.NestedSizeTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.SizeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>write</name>
+<tagclass>org.apache.struts.taglib.nested.bean.NestedWriteTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>format</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>formatKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>checkbox</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedCheckboxTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>errors</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedErrorsTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>file</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedFileTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>accept</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>form</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedFormTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>action</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>enctype</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>focus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>method</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onreset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onsubmit</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>hidden</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedHiddenTag</tagclass>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>image</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedImageTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>img</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedImgTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>align</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>border</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>height</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>hspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>imageName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ismap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>lowsrc</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>pageKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>src</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>srcKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>usemap</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>vspace</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>width</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>link</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedLinkTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>action</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>linkName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>paramScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>target</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messages</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedMessagesTag</tagclass>
+<teiclass>org.apache.struts.taglib.html.MessagesTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>footer</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>multibox</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedMultiboxTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>options</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedOptionsTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>labelName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>labelProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>optionsCollection</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedOptionsCollectionTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>label</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>password</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedPasswordTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>redisplay</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>radio</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedRadioTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>select</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedSelectTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>submit</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedSubmitTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>text</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedTextTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>maxlength</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>size</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>textarea</name>
+<tagclass>org.apache.struts.taglib.nested.html.NestedTextareaTag</tagclass>
+<attribute>
+<name>accesskey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>alt</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>altKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>cols</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>disabled</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexed</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onblur</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onchange</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ondblclick</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onfocus</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeydown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeypress</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onkeyup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousedown</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmousemove</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseout</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseover</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>onmouseup</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>readonly</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>rows</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>style</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>styleId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>tabindex</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>title</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>titleKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>empty</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedEmptyTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>equal</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>greaterEqual</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedGreaterEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>greaterThan</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedGreaterThanTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>iterate</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedIterateTag</tagclass>
+<teiclass>org.apache.struts.taglib.nested.logic.NestedIterateTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>indexId</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>length</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>offset</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>lessEqual</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedLessEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>lessThan</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedLessThanTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>match</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedMatchTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>location</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messagesNotPresent</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedMessagesNotPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>messagesPresent</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedMessagesPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>message</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notEmpty</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedNotEmptyTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notEqual</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedNotEqualTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notMatch</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedNotMatchTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>location</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>notPresent</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedNotPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>user</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>present</name>
+<tagclass>org.apache.struts.taglib.nested.logic.NestedPresentTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>cookie</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>header</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>parameter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>user</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-template.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-template.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-template.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>template</shortname>
+<uri>http://jakarta.apache.org/struts/tags-template</uri>
+<tag>
+<name>insert</name>
+<tagclass>org.apache.struts.taglib.template.InsertTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>template</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>put</name>
+<tagclass>org.apache.struts.taglib.template.PutTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>content</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>direct</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>get</name>
+<tagclass>org.apache.struts.taglib.template.GetTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>flush</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-tiles.tld
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-tiles.tld	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/tlds/struts-tiles.tld	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.0</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>tiles</shortname>
+<uri>http://jakarta.apache.org/struts/tags-tiles</uri>
+<tag>
+<name>insert</name>
+<tagclass>org.apache.struts.taglib.tiles.InsertTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>template</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>component</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>definition</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>attribute</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanScope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>flush</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>controllerUrl</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>controllerClass</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>definition</name>
+<tagclass>org.apache.struts.taglib.tiles.DefinitionTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>template</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>extends</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>put</name>
+<tagclass>org.apache.struts.taglib.tiles.PutTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>content</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>direct</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanScope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>putList</name>
+<tagclass>org.apache.struts.taglib.tiles.PutListTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>add</name>
+<tagclass>org.apache.struts.taglib.tiles.AddTag</tagclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>content</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>direct</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanName</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanProperty</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>beanScope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>get</name>
+<tagclass>org.apache.struts.taglib.tiles.GetTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>flush</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>getAsString</name>
+<tagclass>org.apache.struts.taglib.tiles.GetAttributeTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>role</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>useAttribute</name>
+<tagclass>org.apache.struts.taglib.tiles.UseAttributeTag</tagclass>
+<teiclass>org.apache.struts.taglib.tiles.UseAttributeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>classname</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>importAttribute</name>
+<tagclass>org.apache.struts.taglib.tiles.ImportAttributeTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>initComponentDefinitions</name>
+<tagclass>org.apache.struts.taglib.tiles.InitDefinitionsTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>file</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>classname</name>
+<required>false</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/WEB-INF/web.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
+Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+    
+    <display-name>Java Open Single Sign-On</display-name>
+
+    <listener>
+        <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
+    </listener>
+
+    <listener>
+        <listener-class>org.josso.gateway.signon.SSOContextListener</listener-class>
+    </listener>
+
+    <!-- ======================================================= -->
+    <!-- STRUTS Action Servlet Configuraiton -->
+    <!-- ======================================================= -->
+
+    <servlet>
+
+        <servlet-name>action</servlet-name>
+        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
+
+        <!-- ========================================= -->
+        <!-- Struts definitions file                   -->
+        <!-- ========================================= -->
+        <init-param>
+            <param-name>config</param-name>
+            <param-value>/WEB-INF/struts-signon.xml</param-value>
+        </init-param>
+
+        <!-- ========================================= -->
+        <!-- Tiles definitions files                   -->
+        <!-- ========================================= -->
+        <init-param>
+            <param-name>definitions-config</param-name>
+            <param-value>/WEB-INF/tiles-signon.xml</param-value>
+        </init-param>
+
+        <init-param>
+            <param-name>validate</param-name>
+            <param-value>true</param-value>
+        </init-param>
+
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>2</param-value>
+        </init-param>
+
+        <init-param>
+            <param-name>detail</param-name>
+            <param-value>2</param-value>
+        </init-param>
+
+        <!-- ========================================= -->
+        <!-- Added as a trick for a bug in Struts :    -->
+        <!-- not sure if still present in 1.1 final    -->
+        <!-- ========================================= -->
+        <init-param>
+            <param-name>application</param-name>
+            <param-value>ApplicationResources</param-value>
+        </init-param>
+        
+        <load-on-startup>2</load-on-startup>
+
+    </servlet>
+
+    <servlet>
+        <servlet-name>AxisServlet</servlet-name>
+        <display-name>Apache-Axis Servlet</display-name>
+        <servlet-class>
+        org.apache.axis.transport.http.AxisServlet
+        </servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>AdminServlet</servlet-name>
+        <display-name>Axis Admin Servlet</display-name>
+        <servlet-class>
+        org.apache.axis.transport.http.AdminServlet
+        </servlet-class>
+        <load-on-startup>100</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>SOAPMonitorService</servlet-name>
+        <display-name>SOAPMonitorService</display-name>
+        <servlet-class>
+        org.apache.axis.monitor.SOAPMonitorService
+        </servlet-class>
+        <init-param>
+            <param-name>SOAPMonitorPort</param-name>
+            <param-value>5001</param-value>
+        </init-param>
+        <load-on-startup>100</load-on-startup>
+    </servlet>
+
+    <!-- ========================================= -->
+    <!-- Struts Action Servlet Mapping             -->
+    <!-- ========================================= -->
+    <servlet-mapping>
+        <servlet-name>action</servlet-name>
+        <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <!-- ========================================= -->
+    <!-- Axis Servlet Mappings                     -->
+    <!-- ========================================= -->
+    <servlet-mapping>
+        <servlet-name>AxisServlet</servlet-name>
+        <url-pattern>/servlet/AxisServlet</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>AxisServlet</servlet-name>
+        <url-pattern>*.jws</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>AxisServlet</servlet-name>
+        <url-pattern>/services/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>SOAPMonitorService</servlet-name>
+        <url-pattern>/SOAPMonitor</url-pattern>
+    </servlet-mapping>
+
+    <!-- uncomment this if you want the admin servlet -->
+    <!--
+     <servlet-mapping>
+       <servlet-name>AdminServlet</servlet-name>
+       <url-pattern>/servlet/AdminServlet</url-pattern>
+     </servlet-mapping>
+    -->
+
+    <session-config>
+        <!-- Default to 5 minute session timeouts -->
+        <session-timeout>5</session-timeout>
+    </session-config>
+
+    <!-- currently the W3C havent settled on a media type for WSDL;
+    http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
+    for now we go with the basic 'it's XML' response -->
+    <mime-mapping>
+        <extension>wsdl</extension>
+        <mime-type>text/xml</mime-type>
+    </mime-mapping>
+
+
+    <mime-mapping>
+        <extension>xsd</extension>
+        <mime-type>text/xml</mime-type>
+    </mime-mapping>
+
+    <welcome-file-list id="WelcomeFileList">
+        <welcome-file>index.html</welcome-file>
+        <welcome-file>index.jsp</welcome-file>
+        <welcome-file>index.jws</welcome-file>
+    </welcome-file-list>
+
+    <!-- Uncomment if you want to protected the JOSSO Webservices.
+    <security-constraint>
+        <web-resource-collection>
+
+            <web-resource-name>protected-ws</web-resource-name>
+
+            <url-pattern>/services/*</url-pattern>
+
+            <http-method>HEAD</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+
+        </web-resource-collection>
+
+        <auth-constraint>
+            <role-name>wsclient</role-name>
+        </auth-constraint>
+
+    </security-constraint>
+
+
+    <login-config>
+       <auth-method>BASIC</auth-method>
+       <realm-name>Protected Web Services</realm-name>
+    </login-config>
+    -->
+</web-app>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/josso-logo.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/josso-logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/spacer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/style.css
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/style.css	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/resources/style.css	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,60 @@
+/*
+ * JOSSO: Java Open Single Sign-On
+ *
+ * Copyright 2004-2007, Atricore, Inc.
+ *
+ * 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.
+ */
+
+body {
+}
+
+html body, body th, body td, textarea {
+ font-family: verdana, arial, helvetica;
+ font-size: small
+}
+
+hr {
+    color: #333333;
+    font-size: small
+}
+
+.footer, .footer div {
+    font-weight: bold;
+    font-size:x-small;
+}
+
+.title {
+    color: #0F3660;
+    font-weight: bold;
+}
+
+.login-form {
+	background-color: #4a6d8c;
+
+}
+
+.login-form table {
+	border-width: 1px;
+}
+
+.login-form td {
+	color: #ffffff;
+	font-weight: bold;
+	padding: 15px;
+}
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/error.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/error.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/error.jsp	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,36 @@
+<%--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ 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.
+  --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
+
+    <table width="100%" cellpadding="0" cellspacing="0" border="0" >
+        <tr>
+            <td align="center" class="label">
+                <table cellpadding="0" cellspacing="3" border="0" >
+                    <tr>
+                        <td align="center"><html:errors/>&nbsp;</td>
+                    </tr>
+                </table>
+            </td>
+        </tr>
+    </table>
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/info.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/info.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/info.jsp	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,85 @@
+<%--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ 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.
+  --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
+
+    <table width="100%" cellpadding="0" cellspacing="0" border="0" >
+        <tr>
+            <td align="center" class="label">
+                <table cellpadding="0" cellspacing="3" border="0" >
+                <logic:notEmpty name="org.josso.gateway.user">
+                        <tr><td colspan="2" align="center"><b>User Information</b></td></tr>
+                        <tr>
+                            <td align="right">Name :</td><td><bean:write name="org.josso.gateway.user" property="name"/></td>
+                         </tr>
+                         <tr>
+                            <td align="right">Session :</td><td><bean:write name="org.josso.gateway.user" property="sessionId"/></td>
+                         </tr>
+                         <tr><td colspan="2" align="center"><b>Properties (optional)</b></td></tr>
+                         <logic:iterate name="org.josso.gateway.user" property="properties" id="nvpair">
+                         <tr>
+                            <td align="right"><bean:write name="nvpair" property="name"/> :</td><td><bean:write name="nvpair" property="value"/></td>
+                         </tr>
+                        </logic:iterate>
+                        <tr><td colspan="2" align="center"><b>Roles (optional)</b></td></tr>
+                        <logic:notEmpty name="org.josso.gateway.userRoles">
+                            <logic:iterate name="org.josso.gateway.userRoles" id="role">
+                             <tr>
+                                <td align="center" colspan="2"><bean:write name="role" property="name"/></td>
+                             </tr>
+                            </logic:iterate>
+                        </logic:notEmpty>
+                </logic:notEmpty>
+                <logic:empty name="org.josso.gateway.user">
+                    <tr><td colspan="2" align="center"><b>No user information available ...</b></td></tr>
+                </logic:empty>
+                <tr><td colspan="2" align="center">&nbsp;</td></tr>
+                <logic:notEmpty name="org.josso.gateway.session">
+                        <tr><td colspan="2" align="center"><b>Session Information</b></td></tr>
+                        <tr>
+                            <td align="right">Id :</td><td><bean:write name="org.josso.gateway.session" property="id"/></td>
+                         </tr>
+                         <tr>
+                            <td align="right">Access Count :</td><td><bean:write name="org.josso.gateway.session" property="accessCount"/></td>
+                        </tr>
+                         <tr>
+                            <td align="right">Access Time :</td><td><bean:write name="org.josso.gateway.session" property="lastAccessTime"/></td>
+                        </tr>
+                         <tr>
+                            <td align="right">Creation Time :</td><td><bean:write name="org.josso.gateway.session" property="creationTime"/></td>
+                        </tr>
+                         <tr>
+                            <td align="right">Max Idle Time :</td><td><bean:write name="org.josso.gateway.session" property="maxInactiveInterval"/></td>
+                        </tr>
+                         <tr>
+                            <td align="right">Valid :</td><td><bean:write name="org.josso.gateway.session" property="valid"/></td>
+                        </tr>
+                </logic:notEmpty>
+                <logic:empty name="org.josso.gateway.session">
+                    <tr><td colspan="2" align="center"><b>No session information available ...</b></td></tr>
+                </logic:empty>
+                </table>
+
+            </td>
+        </tr>
+    </table>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/layout.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/layout.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/layout.jsp	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,70 @@
+<%--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ 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.
+  --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
+
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html:html>
+<head>
+	<title><tiles:getAsString name="josso.signon.page.title" ignore="true" /> - JOSSO</title>
+	<meta name="author" content="sgonzalez at josso.org">
+	<meta name="keywords" content="">
+	<meta name="description" content="">
+	<link rel="stylesheet" href="<%=request.getContextPath()%>/resources/style.css" type="text/css">
+</head>
+
+<body>
+    <table width="100%" border="0" cellpadding="0" cellspacing="0" >
+        <tr>
+            <td colspan="2"><a href="http://www.josso.org"><html:img page="/resources/josso-logo.gif" border="0"/></a></td>
+        </tr>
+        <tr>
+            <td colspan="2" align="center">
+                <hr size="1" noshade="noshade">
+            </td>
+        </tr>
+        <tr>
+            <td><html:img page="/resources/spacer.gif" height="350" width="1" /></td>
+            <td align="center" valign="middle"  >
+                <!-- ============= -->
+                <!-- BODY -->
+                <!-- ============= -->
+                <tiles:insert attribute="josso.signon.body" flush="false" />
+                <!-- ============= -->
+                <!-- /BODY -->
+                <!-- ============= -->
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2" align="center">
+                <hr size="1" noshade="noshade">
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2" align="center">
+                Copyright &copy; 2004-2006, The JOSSO Team
+            </td>
+        </tr>
+    </table>
+</body>
+</html:html>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/loginResult.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/loginResult.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/loginResult.jsp	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,40 @@
+<%--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ 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.
+  --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
+
+    <table width="100%" cellpadding="0" cellspacing="0" border="0" >
+        <tr>
+            <td align="center" class="label">
+                <table cellpadding="0" cellspacing="3" border="0" >
+                    <tr>
+                        <td align="center"><html:errors/>&nbsp;</td>
+                    </tr>
+                    <tr>
+                        <td align="center"><html:link forward="info">details</html:link></td>
+                    </tr>
+                </table>
+            </td>
+        </tr>
+    </table>
+
+

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/usernamePasswordLogin.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/usernamePasswordLogin.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/josso.war/signon/usernamePasswordLogin.jsp	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,56 @@
+<%--
+  ~ JOSSO: Java Open Single Sign-On
+  ~
+  ~ Copyright 2004-2007, Atricore, Inc.
+  ~
+  ~ 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.
+  --%>
+
+<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
+
+    <table width="100%" cellpadding="0" cellspacing="0">
+        <tr>
+            <td align="center"><html:errors/></td>
+        </tr>
+    </table>
+
+    <html:form action="/signon/usernamePasswordLogin" focus="josso_username" >
+    <html:hidden property="josso_cmd" value="login"/>
+
+    <table width="100%" cellpadding="0" cellspacing="0">
+		<tr>
+			<td align="center" valign="middle" >
+				<table cellspacing="0" class="login-form">
+					<tbody>
+							<tr>
+                                <td align="center"><bean:message key="sso.label.username"/></td>
+                                <td><html:text property="josso_username" /><br></td>
+							</tr>
+							<tr>
+								<td align="center" class="field-label" ><bean:message key="sso.label.password"/></td>
+								<td><html:password property="josso_password" /></td>
+							</tr>
+							<tr>
+								<td colspan="2" align="center"><input type="submit" value="Login" ></td>
+							</tr>
+						</tbody>
+					</table>
+				</td>
+			</tr>
+		</table>
+    </html:form>

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnerapp.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnerapp.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnercomponent.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/services/credential/resources/josso.ear/partnercomponent.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/AuthHelper.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/AuthHelper.java	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/AuthHelper.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -41,18 +41,41 @@
 	public static String countMD5(String password) {
 		try {
 			
-			MessageDigest digest = MessageDigest.getInstance("MD5");
+			MessageDigest algorithm = MessageDigest.getInstance("MD5");
+			algorithm.reset();
+			algorithm.update(password.getBytes());
+			byte messageDigest[] = algorithm.digest();
+		            
+			return encodeBase16(messageDigest);
 			
-			digest.update(password.getBytes());
-			
-			return new String(digest.digest());
-			
 		} catch (NoSuchAlgorithmException e) {
 			// shouldn't happen
 			throw new RuntimeException(e);
 		}
 	}
 	
+	private static String encodeBase16(byte[] bytes) {
+        StringBuffer sb = new StringBuffer(bytes.length * 2);
+        for (int i = 0; i < bytes.length; i++) {
+            byte b = bytes[i];
+            // top 4 bits
+            char c = (char) ((b >> 4) & 0xf);
+            if (c > 9)
+                c = (char) ((c - 10) + 'a');
+            else
+                c = (char) (c + '0');
+            sb.append(c);
+            // bottom 4 bits
+            c = (char) (b & 0xf);
+            if (c > 9)
+                c = (char) ((c - 10) + 'a');
+            else
+                c = (char) (c + '0');
+            sb.append(c);
+        }
+        return sb.toString();
+    }
+	
 	public static <E extends Enum<E>> String getServiceID(E serviceRole) {
 		return serviceRole.getDeclaringClass().getCanonicalName();
 	}

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -90,7 +90,7 @@
 
 		if (manager
 				.createQuery(
-						"SELECT * from Binding b where b.authId = :id and b.userRole = :userRole and b.serviceRole = :serviceRole and b.service = :service")
+						"SELECT b FROM Binding b where b.authId = :id and b.userRole = :userRole and b.serviceRole = :serviceRole and b.service = :service")
 				.setParameter("id", authID).setParameter("userRole", roleEn)
 				.setParameter("serviceRole", srEn).setParameter("service",
 						service).getResultList().size() > 1) {
@@ -144,7 +144,7 @@
 
 	public <E extends Enum<E>> void bindRolesGlobal(E serviceRole, UserRole role) {
 		// TODO Auto-generated method stub
-
+		throw new RuntimeException("bindRolesGlobal(...) is not implemented yet");
 	}
 
 	public void grantUserProjectSuperrole(Principal user, String projectId) throws NoSuchUserException {
@@ -206,6 +206,7 @@
 		ProjectID pidEn = manager.find(ProjectID.class, projectID);
 
 		if (pidEn == null) {
+			pidEn = new ProjectID(projectID);
 			manager.persist(pidEn);
 		}
 

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -30,7 +30,11 @@
 
 import javax.annotation.PostConstruct;
 import javax.ejb.Stateless;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.interceptor.AroundInvoke;
 import javax.interceptor.Interceptors;
+import javax.interceptor.InvocationContext;
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
@@ -49,7 +53,6 @@
 import org.jboss.labs.injection.ejb3.LabsInjectionInterceptor;
 
 import com.google.inject.Inject;
-import com.google.inject.name.Named;
 
 @Stateless
 @Interceptors({LabsInjectionInterceptor.class})
@@ -63,8 +66,8 @@
 
 	private final static Logger log = Logger.getLogger(UserServiceImpl.class);
 
-	@PostConstruct
-	public void init() {
+	@AroundInvoke
+	public Object init(InvocationContext ctx) throws Exception {
 		// if user db is empty add admin and a user with dummy roles
 		// Administrators and Users and make admin a super user
 		if (manager.createQuery("SELECT u FROM User u").setMaxResults(1)
@@ -124,6 +127,8 @@
 			}
 
 		}
+		
+		return ctx.proceed();
 	}
 
 	public void bindRoleToUser(Principal user, UserRole role)

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -5,7 +5,7 @@
                 <properties>
                         <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
                         <!-- property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" /-->
-                        <property name="hibernate.hbm2ddl.auto" value="update" />
+                        <property name="hibernate.hbm2ddl.auto" value="create-drop" />
                 </properties>
                 <class>org.jboss.labs.core.model.auth.AuthID</class>
                 <class>org.jboss.labs.core.model.auth.Binding</class>

Modified: labs/jbosslabs/labs-3.0-build/services/foo-service/src/main/java/org/jboss/labs/FooServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/foo-service/src/main/java/org/jboss/labs/FooServiceImpl.java	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/foo-service/src/main/java/org/jboss/labs/FooServiceImpl.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -32,6 +32,8 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.labs.auth.RoleBinderService;
+import org.jboss.labs.auth.UserService;
+import org.jboss.labs.exception.auth.NoSuchUserException;
 import org.jboss.labs.foo.FooEntity;
 import org.jboss.labs.foo.FooService;
 import org.jboss.labs.injection.ejb3.LabsInjectionInterceptor;
@@ -49,21 +51,27 @@
 	@EJB
 	private RoleBinderService roleBinder;
 	
-	@Inject
-	private RoleBinderService roleBinderInject;
+	@EJB
+	private UserService userService;
 	
+	
 	private final static Logger log = Logger.getLogger(FooServiceImpl.class);
 	
 	@PostConstruct
 	public void contructor() {
 		roleBinder.exposeServiceRoles(FooRoleList.values());
-		log.info(roleBinderInject);
 	}
 	
 	public FooEntity sayFoo() {
 		FooEntity en = new FooEntity();
 		em.persist(en);
 
+		/*try {
+			en.foo = en.foo + userService.getUserByLogin("admin").getName();
+		} catch (NoSuchUserException e) {
+			log.error(e);
+		}*/
+		
 		return en;
 	}
 


Property changes on: labs/jbosslabs/labs-3.0-build/services/labs2josso
___________________________________________________________________
Name: svn:ignore
   + target
.classpath
.project
.settings



Added: labs/jbosslabs/labs-3.0-build/services/labs2josso/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/labs2josso/pom.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/labs2josso/pom.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<project>
+	<parent>
+		<artifactId>services</artifactId>
+		<groupId>org.jboss.labs</groupId>
+		<version>1.0</version>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.jboss.labs</groupId>
+	<artifactId>labs2josso</artifactId>
+	<name>JBoss Labs service</name>
+	<version>1.0-SNAPSHOT</version>
+	<url>http://maven.apache.org</url>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.jboss.labs</groupId>
+				<artifactId>maven-labs-plugin</artifactId>
+				<configuration>
+					<fileFinalName>josso.ear/${project.build.finalName}.${project.packaging}</fileFinalName>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>3.8.1</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>josso</groupId>
+			<artifactId>josso</artifactId>
+			<version>1.6</version>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/josso/LabsIDentityStore.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/josso/LabsIDentityStore.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/java/org/jboss/labs/auth/josso/LabsIDentityStore.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,153 @@
+package org.jboss.labs.auth.josso;
+
+import java.util.ArrayList;
+
+import org.jboss.labs.auth.UserService;
+import org.jboss.labs.core.model.auth.User;
+import org.jboss.labs.core.model.auth.UserRole;
+import org.jboss.labs.injection.LabsInjection;
+import org.josso.auth.Credential;
+import org.josso.auth.CredentialKey;
+import org.josso.auth.CredentialStore;
+import org.josso.auth.scheme.PasswordCredential;
+import org.josso.auth.scheme.UsernameCredential;
+import org.josso.gateway.SSONameValuePair;
+import org.josso.gateway.identity.exceptions.NoSuchUserException;
+import org.josso.gateway.identity.exceptions.SSOIdentityException;
+import org.josso.gateway.identity.service.BaseRole;
+import org.josso.gateway.identity.service.BaseRoleImpl;
+import org.josso.gateway.identity.service.BaseUser;
+import org.josso.gateway.identity.service.BaseUserImpl;
+import org.josso.gateway.identity.service.store.AbstractStore;
+import org.josso.gateway.identity.service.store.SimpleUserKey;
+import org.josso.gateway.identity.service.store.UserKey;
+
+import com.google.inject.Inject;
+
+/*
+ * JBoss Labs. http://labs.jboss.com/jbosslabs
+ * 
+ * Copyright © 2008 Red Hat Middleware, LLC. All rights reserved.
+ * 
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, v. 2.1.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ * 
+ * Red Hat Author(s): Bob McWhirter, Przemyslaw Dej, Ryszard Kozmik, Tomasz
+ * Szymanski, Adam Warski, Pawel Wrzeszcz
+ */
+
+/**
+ * @author tomaszszymanski
+ * 
+ */
+public class LabsIDentityStore extends AbstractStore implements CredentialStore {
+
+	@Inject
+	private UserService userService;
+
+	public LabsIDentityStore() {
+		super();
+
+		LabsInjection.getInjector().injectMembers(this);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.josso.gateway.identity.service.store.IdentityStore#findRolesByUserKey(org.josso.gateway.identity.service.store.UserKey)
+	 */
+	public BaseRole[] findRolesByUserKey(UserKey key)
+			throws SSOIdentityException {
+		if (!(key instanceof SimpleUserKey)) {
+			throw new SSOIdentityException("Unsupported key type : "
+					+ key.getClass().getName());
+		}
+
+		SimpleUserKey k = (SimpleUserKey) key;
+
+		try {
+			ArrayList<BaseRole> roles = new ArrayList<BaseRole>();
+
+			for (UserRole ur : userService.getRolesForUser(k.getId())) {
+				roles.add(new BaseRoleImpl(ur.getId()));
+			}
+
+			return (BaseRole[]) roles.toArray(new BaseRole[roles.size()]);
+		} catch (org.jboss.labs.exception.auth.NoSuchUserException e) {
+			throw new SSOIdentityException(e);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.josso.gateway.identity.service.store.IdentityStore#loadUser(org.josso.gateway.identity.service.store.UserKey)
+	 */
+	public BaseUser loadUser(UserKey key) throws NoSuchUserException,
+			SSOIdentityException {
+		if (!(key instanceof SimpleUserKey)) {
+			throw new SSOIdentityException("Unsupported key type : "
+					+ key.getClass().getName());
+		}
+
+		SimpleUserKey k = (SimpleUserKey) key;
+
+		try {
+			User u = userService.getUserByLogin(k.getId());
+
+			BaseUserImpl bu = new BaseUserImpl(u.getName());
+
+			SSONameValuePair[] props = new SSONameValuePair[] {
+					new SSONameValuePair("bio", u.getBio()),
+					new SSONameValuePair("email", u.getEmail()),
+					new SSONameValuePair("website", u.getWebsite()),
+					new SSONameValuePair("pictureURL", u.getPictureURL()),
+					new SSONameValuePair("firstName", u.getFirstName()),
+					new SSONameValuePair("lastName", u.getLastName()),
+					new SSONameValuePair("fakeEmail", u.getFakeEmail()) };
+
+			bu.setProperties(props);
+
+			return bu;
+		} catch (org.jboss.labs.exception.auth.NoSuchUserException e) {
+			throw new NoSuchUserException(k);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.josso.auth.CredentialStore#loadCredentials(org.josso.auth.CredentialKey)
+	 */
+	public Credential[] loadCredentials(CredentialKey key)
+			throws SSOIdentityException {
+		if (!(key instanceof SimpleUserKey)) {
+			throw new SSOIdentityException("Unsupported key type : "
+					+ key.getClass().getName());
+		}
+
+		SimpleUserKey k = (SimpleUserKey) key;
+
+		try {
+			User u = userService.getUserByLogin(k.getId());
+
+			return new Credential[] {
+					new UsernameCredential(u.getName()),
+					new PasswordCredential(u.getPassword())};
+		} catch (org.jboss.labs.exception.auth.NoSuchUserException e) {
+			throw new NoSuchUserException(k);
+		}
+	}
+
+}

Added: labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/META-INF/persistence.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/META-INF/persistence.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/labs2josso/src/main/resources/META-INF/persistence.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence>
+        <persistence-unit name="labs2josso_model">
+                <jta-data-source>java:/LabsDS</jta-data-source>
+                <properties>
+                        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
+                        <property name="hibernate.hbm2ddl.auto" value="update" />
+                </properties>
+                <!-- SPECIFY ENTITY CLASSES -->
+                
+                <!-- <class>org.jboss.labs.foo.FooEntity</class>  -->
+        </persistence-unit>
+</persistence>
+

Added: labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/labs/AppTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/labs/AppTest.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/labs2josso/src/test/java/org/jboss/labs/AppTest.java	2008-02-28 16:47:51 UTC (rev 18618)
@@ -0,0 +1,38 @@
+package org.jboss.labs;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Modified: labs/jbosslabs/labs-3.0-build/services/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/pom.xml	2008-02-28 16:09:28 UTC (rev 18617)
+++ labs/jbosslabs/labs-3.0-build/services/pom.xml	2008-02-28 16:47:51 UTC (rev 18618)
@@ -18,6 +18,7 @@
     <module>documentation-service</module>
     <module>foo-service</module>
     <module>events-service</module>
+    <module>labs2josso</module>
   </modules>
   <dependencies>
   <dependency>
@@ -51,4 +52,4 @@
                                 <scope>provided</scope>
                         </dependency>
 		</dependencies>
-</project>
+</project>
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/activation.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/activation.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/axis.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-beanutils.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-codec-1.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-codec-1.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-digester.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-discovery-0.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-discovery-0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-fileupload.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-fileupload.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-httpclient-3.0-rc2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-httpclient-3.0-rc2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-lang-2.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-lang-2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-validator.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/commons-validator.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jakarta-oro.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jakarta-oro.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jaxrpc.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/josso-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/josso-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/mailapi_1_3_1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/mailapi_1_3_1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/saaj.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/saaj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts-legacy.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts-legacy.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/struts.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/wsdl4j-1.5.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/labs-3.0-build/thirdparty/as-libs/resources/wsdl4j-1.5.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list