You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2008/08/06 11:34:45 UTC

svn commit: r683198 [2/8] - in /incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext: ./ .settings/ src/ src/META-INF/ src/org/ src/org/apache/ src/org/apache/empire/ src/org/apache/empire/struts2/ src/org/apache/empire/struts2/action/ src/org/apac...

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/META-INF/empire-tags.tld
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/META-INF/empire-tags.tld?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/META-INF/empire-tags.tld (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/META-INF/empire-tags.tld Wed Aug  6 02:34:41 2008
@@ -0,0 +1,1985 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
+  version="2.0"> 
+  <tlib-version>1.0</tlib-version>
+  <short-name>e</short-name> 
+  <uri>/empire-tags</uri>
+  <!-- Float Clear Tag -->
+  <tag>
+    <name>clear</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.FloatClearTag</tag-class>
+    <body-content>JSP</body-content>
+  </tag>  
+  <!-- Flex Div Tag -->
+  <tag>
+    <name>div</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.FlexDivTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>type</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>  
+  <!-- ActionMessageTag -->
+  <tag>
+    <name>actionmessage</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ActionMessageTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- ActionErrorsTag -->
+  <tag>
+    <name>actionerrors</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ActionErrorsTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>actionErrorClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>fieldErrorClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Record Form Tag -->
+  <tag>
+    <name>form</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.FormTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>action</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>enctype</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>target</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>method</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>onsubmit</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>readOnly</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>bean</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabledMode</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>controlSize</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>nullValue</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>hiddenFields</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>wrap</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+  </tag>
+  <!-- FormPart -->
+  <tag>
+    <name>formpart</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.FormPartTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>bean</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabledMode</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>controlSize</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>nullValue</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>hiddenFields</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>wrap</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- InputControlTag -->
+  <tag>
+    <name>control</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.InputControlTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>column</name>
+      <required>true</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.Column</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.Record</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>options</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.commons.Options</type>
+    </attribute>
+    <attribute>
+      <name>controlType</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>format</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>hsize</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>vsize</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>render</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>disabledMode</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>label</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>labelClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>labelStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>required</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>nullValue</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onchange</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onfocus</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onblur</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tabindex</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Text Tag -->
+  <tag>
+    <name>text</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.TextTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tag</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>default</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Submit Tag -->
+  <tag>
+    <name>submit</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.FormSubmitTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>text</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>action</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>redirect</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tabindex</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>embed</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Item List Tag -->
+  <tag>
+    <name>list</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ItemListTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>source</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>maxItems</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+  </tag>
+  <!-- Table Row Tag -->
+  <tag>
+    <name>tr</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.TableRowTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssOddClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssOddStyle</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>currentColumn</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr</type>
+    </attribute>
+    <attribute>
+      <name>currentClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnStyle</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnAlign</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnWrap</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Table Data Tag -->
+  <tag>
+    <name>td</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.TableDataTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>alt</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>field</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>column</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr</type>
+    </attribute>
+    <attribute>
+      <name>lookup</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.commons.Options</type>
+    </attribute>
+    <attribute>
+      <name>controlType</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>format</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>nullValue</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>action</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>param</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>anchorClass</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>ondblclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>body</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>width</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>height</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>colspan</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>rowspan</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>align</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>valign</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>wrap</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bgcolor</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Table Head Row Tag -->
+  <tag>
+    <name>thr</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.TableHeadRowTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>sortAction</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>sortOrder</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>sortColumnParam</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>sortOrderParam</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>currentClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>sortingInfo</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.struts2.action.ListSortingInfo</type>
+    </attribute>
+    <attribute>
+      <name>currentColumn</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr</type>
+    </attribute>
+    <attribute>
+      <name>columnClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnStyle</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnAlign</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>columnWrap</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Table Head Column Tag -->
+  <tag>
+    <name>th</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.TableHeadColumnTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>column</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr</type>
+    </attribute>
+    <attribute>
+      <name>columnname</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>select</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr[]</type>
+    </attribute>
+    <attribute>
+      <name>selectName</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>selectAction</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>text</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>width</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>height</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>colspan</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>rowspan</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>align</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>valign</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>wrap</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>bgcolor</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Data Value Tag -->
+  <tag>
+    <name>value</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.DataValueTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>alt</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>field</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>lookup</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.commons.Options</type>
+    </attribute>
+    <attribute>
+      <name>column</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.ColumnExpr</type>
+    </attribute>
+    <attribute>
+      <name>controlType</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>format</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>nullValue</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>action</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>param</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>anchorClass</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>ondblclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>body</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>tag</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Link Tag (Anchor) -->
+  <tag>
+    <name>link</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.LinkTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>action</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>param</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>text</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>target</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>visible</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+  </tag>
+  <!-- Param Tag (to be used with Link Tag) -->
+  <tag>
+    <name>param</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ParamTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+  </tag>
+  <!-- Button Tag -->
+  <tag>
+    <name>button</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ButtonTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>action</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>param</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>text</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>target</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>visible</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+  </tag>
+  <!-- Select Tag -->
+  <tag>
+    <name>select</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.SelectTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>options</name>
+      <required>true</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.commons.Options</type>
+    </attribute>
+    <attribute>
+      <name>allownull</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>field</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onchange</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onfocus</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onblur</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tabindex</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Checkbox Tag -->
+  <tag>
+    <name>checkbox</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.CheckboxTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>checked</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>check</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>field</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>hiddenName</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onchange</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onfocus</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onblur</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tabindex</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- RadioButton Tag -->
+  <tag>
+    <name>radio</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.RadioButtonTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>checked</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>record</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.data.RecordData</type>
+    </attribute>
+    <attribute>
+      <name>field</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+	  <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onclick</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onchange</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onfocus</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>onblur</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>tabindex</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- ListPageBar -->
+  <tag>
+    <name>pager</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ListPageBarTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>pagingInfo</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.struts2.action.ListPagingInfo</type>
+    </attribute>
+    <attribute>
+      <name>action</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>size</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>label</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>linkClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- ListPageInfo -->
+  <tag>
+    <name>pageinfo</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.ListPageInfoTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>pagingInfo</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.struts2.action.ListPagingInfo</type>
+    </attribute>
+    <attribute>
+      <name>label</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>of</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Menu Tag -->
+  <tag>
+    <name>menu</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.MenuTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>currentItem</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>currentClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>enabledClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>disabledClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>expandedClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>actionItem</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Menu Item Tag (extends Link) -->
+  <tag>
+    <name>mi</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.MenuItemTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>action</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>item</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>text</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>expanded</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>target</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>menuId</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>visible</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <!-- Flow If Tag -->
+  <tag>
+    <name>if</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.flow.IfTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>test</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+  </tag>  
+  <!-- Flow ElseIf Tag -->
+  <tag>
+    <name>elseif</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.flow.ElseIfTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>test</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+  </tag>  
+  <!-- Flow Else Tag -->
+  <tag>
+    <name>else</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.flow.ElseTag</tag-class>
+    <body-content>JSP</body-content>
+  </tag>  
+  <!-- Flow Set Tag -->
+  <tag>
+    <name>set</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.flow.SetTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.Object</type>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+  </tag>  
+  <!-- Calendar -->
+  <tag>
+    <name>calendar</name>
+    <tag-class>org.apache.empire.struts2.jsp.tags.CalendarTag</tag-class>
+    <body-content>JSP</body-content>
+    <attribute>
+      <name>calendarInfo</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>org.apache.empire.struts2.jsp.components.info.CalendarInfo</type>
+    </attribute>
+    <attribute>
+      <name>selectDateAction</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>selectWeekAction</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>selectMonthAction</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>param</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cellpadding</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cellspacing</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>monthClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dayOfWeekClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>weekOfYearClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dateEmptyClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dateValidClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dateLinkClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dateTodayClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>dateSelectedClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssClass</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>cssStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+	  <type>java.lang.String</type>
+    </attribute>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  
+</taglib>

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionAccessValidator.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionAccessValidator.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionAccessValidator.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionAccessValidator.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,27 @@
+/*
+ * ESTEAM Software GmbH, 03.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+public interface ActionAccessValidator
+{
+    /*
+     * checks wether or not the user must login first to access this page
+     * 
+     * return true if 
+     * 1. the action requries login
+     * 2. the user has not been logged on already
+     * or false otherwise.
+     * 
+     * check is performed by ActionAccessInterceptor 
+     */
+    boolean loginRequired();
+    
+    /*
+     * checks wether or not the user has access to this action
+     * or an idividual method respectively
+     * 
+     * check is performed by ActionAccessInterceptor 
+     */
+    boolean hasAccess(String method);
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionErrorProvider.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionErrorProvider.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionErrorProvider.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionErrorProvider.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,61 @@
+/*
+ * ESTEAM Software GmbH, 21.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+import java.util.Map;
+
+import org.apache.empire.commons.ErrorInfo;
+
+
+public interface ActionErrorProvider
+{
+    /**
+     * returns true if the current action has either an action or a field error
+     * WARNING: this function returns false if a previous action had an error 
+     * 
+     * @return true if either an Action Error or a Field Error has been set
+     */
+    boolean hasActionError();
+    
+    /**
+     * clears the action error (if any) and all item errors
+     */
+    void clearActionErrors();
+
+    /**
+     * returns the last Action Error of the current or a previous aciton
+     * the error is left on the session unless the clear flag is set to true
+     * In order to display the error to the user an application should use
+     * this function instead of getActionError() and set clear to true. 
+     * 
+     * @param clear flag that determines whether to remove this error from the session or not
+     * 
+     * @return the last Action error that has been put on the session
+     */
+    ErrorInfo getLastActionError(boolean clear);
+    
+    /**
+     * returns a map of field errors
+     * field errors are not persisted on the session and will be lost on redirects. 
+     * 
+     * @return the map of field errors containing the field name in the key.
+     */
+    Map<String, ErrorInfo> getItemErrors();
+    
+    /**
+     * return the localized message for an error
+     * 
+     * @return the error message in the curren user's language
+     */
+    String getLocalizedErrorMessage(ErrorInfo error);
+    
+    /**
+     * returns the last set Action Message 
+     * the message is left on the session unless the clear flag is set to true
+     * 
+     * @return an action message for the user
+     */
+    String getLastActionMessage(boolean clear);
+    
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionItemProperty.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionItemProperty.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionItemProperty.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ActionItemProperty.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,17 @@
+/*
+ * ESTEAM Software GmbH, 23.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+
+public interface ActionItemProperty
+{
+    /**
+     * returns the name of the parameter used to get and set the action's item
+     * This function is used by the jsp tags as default parameter name of the item attribute
+     * By default this ist the name "item"
+     * 
+     * @return the name of the item parameter
+     */
+    String getItemPropertyName();
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/Disposable.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/Disposable.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/Disposable.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/Disposable.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,32 @@
+/*
+ * ESTEAM Software GmbH, 09.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+public interface Disposable
+{
+    /**
+     * This exit-code might be used to indicate a successful action from the dispose method
+     * The code will be forwarded to the WebRequest's exit method (see WebRequest.exit())  
+     */
+    public final int EXITCODE_SUCCESS =  0;  // The Action ended successfully
+
+    /**
+     * This Exit-code might be used to indicate an action error from the dispose method
+     * The code will be forwarded to the request's exit method (see below)  
+     */
+    public final int EXITCODE_ERROR   = -1;  // The Action ended with an error
+
+    /**
+     * Initializes the object
+     * Use this to initialize Action objects instead of the Action's constructor
+     */
+    void init();
+
+    /**
+     * Cleanup resources allocated by the object
+     * 
+     * @return an exit code which will be passed to the WebRequest's exit function (@see WebRequest.exit())
+     */
+    int dispose();
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ExceptionAware.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ExceptionAware.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ExceptionAware.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ExceptionAware.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,16 @@
+/*
+ * ESTEAM Software GmbH, 13.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+public interface ExceptionAware
+{
+    /**
+     * informs the action that an uncaught exception has occurred
+     *
+     * @param exception the exception that occurred
+     * 
+     * @return the target mapping which to execute
+     */
+    String handleException(java.lang.Throwable exception, String method);
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListPagingInfo.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListPagingInfo.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListPagingInfo.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListPagingInfo.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,24 @@
+/*
+ * ESTEAM Software GmbH, 20.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+public interface ListPagingInfo
+{
+    int getPageSize();
+
+    int getFirstItemIndex();
+
+    int getLastItemIndex();
+    
+    int getItemCount();
+    
+    int getPageCount();
+
+    int getPage();
+    
+    void setPage(int page);
+    
+    String getListPropertyName();
+
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListSortingInfo.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListSortingInfo.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListSortingInfo.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/ListSortingInfo.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,19 @@
+/*
+ * ESTEAM Software GmbH, 20.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+
+public interface ListSortingInfo
+{
+    String getSortColumn();
+
+    void setSortColumn(String name);
+    
+    void setSortDescending(boolean desc);
+    
+    boolean isSortDescending();
+
+    String getListPropertyName();
+    
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/RequestParamProvider.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/RequestParamProvider.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/RequestParamProvider.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/RequestParamProvider.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,18 @@
+/*
+ * ESTEAM Software GmbH, 19.07.2007
+ */
+package org.apache.empire.struts2.action;
+
+import java.util.Map;
+
+public interface RequestParamProvider
+{
+    Map getRequestParameters();
+
+    boolean hasRequestParam(String param);
+    
+    String getRequestParam(String param);
+    
+    String[] getRequestArrayParam(String param);
+    
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/WebAction.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/WebAction.java?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/WebAction.java (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/WebAction.java Wed Aug  6 02:34:41 2008
@@ -0,0 +1,494 @@
+package org.apache.empire.struts2.action;
+
+import java.sql.Connection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.ResourceBundle;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.empire.commons.ErrorInfo;
+import org.apache.empire.commons.ErrorObject;
+import org.apache.empire.commons.ErrorType;
+import org.apache.empire.commons.Errors;
+import org.apache.empire.commons.ObjectUtils;
+import org.apache.empire.commons.StringUtils;
+import org.apache.empire.data.Column;
+import org.apache.empire.struts2.actionsupport.ActionBase;
+import org.apache.empire.struts2.actionsupport.ActionError;
+import org.apache.empire.struts2.actionsupport.ActionPropertySupport;
+import org.apache.empire.struts2.actionsupport.TextProviderActionSupport;
+import org.apache.empire.struts2.web.EmpireStrutsDispatcher;
+import org.apache.empire.struts2.web.WebErrors;
+import org.apache.empire.struts2.web.WebRequest;
+import org.apache.struts2.views.util.UrlHelper;
+
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.LocaleProvider;
+import com.opensymphony.xwork2.TextProvider;
+import com.opensymphony.xwork2.util.ValueStack;
+
+
+/**
+ * WebAction should be used as the superclass for all your struts2 action classes.<BR>
+ * It implements necessary interfaces for parameter-, translation- and error-handling.<BR>
+ */
+public abstract class WebAction extends ActionBase
+    implements Disposable, ExceptionAware, ActionAccessValidator, ActionItemProperty,
+               RequestParamProvider, ActionErrorProvider, TextProvider, LocaleProvider
+    // implements Action, Validateable, ValidationAware, ValidationAware, TextProvider, LocaleProvider, Serializable
+{   
+    // Logger
+    @SuppressWarnings("hiding")
+    protected static Log log = LogFactory.getLog(WebAction.class);
+
+    // Default Name for Item param
+    public static String DEFAULT_ITEM_PROPERTY_NAME = "item";
+
+    private final transient TextProvider textProvider = TextProviderActionSupport.getInstance(getClass(), this); // new TextProviderFactory().createInstance(getClass(), this);
+
+    private ActionPropertySupport itemProperty = new ActionPropertySupport(this, DEFAULT_ITEM_PROPERTY_NAME, true);
+
+    // ------- Implementation of Disposable interface ------- 
+    
+    /**
+     * Initialize the action
+     * 
+     * Should be used instead of the constructor to initialize the action
+     * The method is called from the ActionBasicsInterceptor
+     */
+    public void init()
+    {
+        // Avoid the constructor for initialization and use init instead
+        // this is called by the ActionBasicsInterceptor
+    }
+    
+    /**
+     * Cleanup resources allocated by the action
+     * 
+     * this requires the action to be stored on the request in a param named "action"
+     * the ActionBasicsInterceptor performs this task
+     * the dispose method will then be called from the EmpireStrutsDispatcher
+     */
+    public int dispose()
+    {
+        if (hasActionError())
+            return EXITCODE_ERROR; 
+        // Cleanup any resouces
+        return EXITCODE_SUCCESS;
+    }
+
+    // ------- Implementation of ExceptionAware interface ------- 
+    
+    /**
+     * handle any exception that may have occurred
+     * The method is called from the ActionBasicsInterceptor
+     */
+    public String handleException(Throwable exception, String method)
+    {
+        // Uncaught exception
+        ActionError excetionError = new ActionError(exception);
+        // Check if there already is an error
+        if (actionError!=null && actionError.hasError())
+        {   // War replace
+            log.warn("An uncaught exception occurred after an error has already been set!"); 
+            log.warn("Replacing error of " + actionError.getErrorMessage() + " with " + excetionError.getErrorMessage()); 
+        }
+        else
+        {   log.warn("An uncaught exception occurred. Message is " + excetionError.getErrorMessage()); 
+        }
+        // uncaught exception
+        setActionError(excetionError);
+        // retrun error mapping
+        return null; // Default Exception Handling
+    }
+    
+    // ------- Implementation of ActionAccessValidator interface ------- 
+
+    /**
+     * Determines whether the user needs to Login to access this page
+     * important: return false if the user has already logged in!
+     *
+     * The method is called from the ActionAccessInterceptor
+     */
+    public boolean loginRequired()
+    {
+        return false;
+    }
+    
+    /**
+     * Determines whether the user has access to this page or a particular method
+     *
+     * The method is called from the ActionAccessInterceptor
+     */
+    public boolean hasAccess(String method)
+    {
+        return true;
+    }
+    
+    // ------- Action Error -------
+    
+    private final String LAST_ACTION_ERROR_ATTRIBUTE = "lastActionError";
+
+    private ActionError actionError;
+
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#hasActionError()
+     */
+    public boolean hasActionError()
+    {
+        return ((actionError!=null && actionError.hasError()) || fieldErrors!=null);
+    }
+
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#getActionError()
+     */
+    public void clearActionErrors()
+    {
+        actionError = null;
+        fieldErrors = null;
+    }
+
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#getLastActionError(boolean)
+     */
+    public ErrorInfo getLastActionError(boolean clear)
+    {
+        ActionContext context = ActionContext.getContext();
+        ErrorInfo error = (ErrorInfo)context.getSession().get(LAST_ACTION_ERROR_ATTRIBUTE);
+        if (clear)
+            context.getSession().remove(LAST_ACTION_ERROR_ATTRIBUTE);
+        return error;
+    }
+
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#getLocalizedErrorMessage(org.apache.empire.commons.ErrorInfo)
+     */
+    public String getLocalizedErrorMessage(ErrorInfo error)
+    {   // Get the message
+        if (error==null || !error.hasError())
+            return "";
+        // Translate the error
+        String msgKey = error.getErrorType().getKey();
+        String[] args = ObjectUtils.toStringArray(error.getErrorParams(), "Null");
+        return getText(msgKey, args);
+    }
+    
+    @SuppressWarnings("unchecked")
+    protected void setActionError(ErrorInfo error)
+    {
+        // Check error param
+        if (error==null)
+        {   // No Error
+            actionError = null;
+            return; 
+        }
+        if (error.hasError()==false)
+        {   log.warn("setActionError: No error information supplied.");
+            error = new ActionError(Errors.Internal, "No error information available!");
+        }
+        // We have an error
+        if (error instanceof ActionError)
+            actionError = ((ActionError)error);
+        else 
+            actionError = new ActionError(error);
+        // put Error on session
+        ActionContext context = ActionContext.getContext();
+        context.getSession().put(LAST_ACTION_ERROR_ATTRIBUTE, actionError);
+    }
+
+    protected final void setActionError(ErrorType errType)
+    {
+        setActionError(new ActionError(errType));
+    }
+
+    protected final void setActionError(ErrorType errType, Object param)
+    {
+        setActionError(new ActionError(errType, param));
+    }
+
+    protected final void setActionError(Exception exception)
+    {
+        setActionError(new ActionError(exception));
+    }
+    
+    // ------- Field Errors -------
+    
+    private Map<String, ErrorInfo> fieldErrors;
+    
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#getFieldErrors()
+     */
+    public Map<String, ErrorInfo> getItemErrors()
+    {
+        return fieldErrors;
+    }
+
+    private void addItemError(String item, ActionError error)
+    {
+        if (fieldErrors== null)
+            fieldErrors = new LinkedHashMap<String, ErrorInfo>();
+        // Error Message
+        if (log.isWarnEnabled())
+            log.warn("Invlalid value for item or field " + item + " Message= " + ErrorObject.getMessage(error));
+        // Map of errors
+        fieldErrors.put(item, error);
+    }
+
+    protected void addItemError(String item, ErrorType errorType, String title, ErrorInfo error)
+    {   // Check error
+        if (error.hasError()==false)
+        {   log.error("addItemError has been called without an error provided!");
+            return;
+        }
+        // Get Title
+        if (title.startsWith("!"))
+            title = getText(title.substring(1));
+        // Get Message
+        String msgKey = error.getErrorType().getKey();
+        String[] args = ObjectUtils.toStringArray(error.getErrorParams(), "Null");
+        String msg = getText(msgKey, args);
+        // Get full Message
+        addItemError(item, new ActionError(errorType, new String[] { title, msg }));
+    }
+    
+    @Override
+    protected void addFieldError(String name, Column column, ErrorInfo error)
+    {
+        addItemError(name, WebErrors.FieldError, column.getTitle(), error);
+    }
+    
+    // ------- Action Message -------
+
+    private final String LAST_ACTION_MESSAGE_ATTRIBUTE = "lastActionMessage";
+    
+    /*
+     * @see org.apache.empire.struts2.action.ActionErrorProvider#getLastActionMessage(boolean)
+     */
+    public String getLastActionMessage(boolean clear)
+    {
+        ActionContext context = ActionContext.getContext();
+        Object msg = context.getSession().get(LAST_ACTION_MESSAGE_ATTRIBUTE);
+        if (clear)
+            context.getSession().remove(LAST_ACTION_MESSAGE_ATTRIBUTE);
+        return StringUtils.toString(msg);
+    }
+    
+    @SuppressWarnings("unchecked")
+    protected void setActionMessage(String message)
+    {   // put Message on session
+        if (message.startsWith("!"))
+            message = getText(message.substring(1));
+        ActionContext context = ActionContext.getContext();
+        context.getSession().put(LAST_ACTION_MESSAGE_ATTRIBUTE, message);
+    }
+    
+    // ------- Locale Provider -------
+    
+    public Locale getLocale()
+    {
+        return ActionContext.getContext().getLocale();
+    }
+
+    // ------- Text Provider -------
+    
+    public String getText(String aTextName) {
+        return textProvider.getText(aTextName);
+    }
+
+    public String getText(String aTextName, String defaultValue) {
+        return textProvider.getText(aTextName, defaultValue);
+    }
+
+    public String getText(String aTextName, String defaultValue, String obj) {
+        return textProvider.getText(aTextName, defaultValue, obj);
+    }
+
+    public String getText(String aTextName, List args) {
+        return textProvider.getText(aTextName, args);
+    }
+
+    public String getText(String key, String[] args) {
+        return textProvider.getText(key, args);
+    }
+
+    public String getText(String aTextName, String defaultValue, List args) {
+        return textProvider.getText(aTextName, defaultValue, args);
+    }
+
+    public String getText(String key, String defaultValue, String[] args) {
+        return textProvider.getText(key, defaultValue, args);
+    }
+
+    public String getText(String key, String defaultValue, List args, ValueStack stack) {
+        return textProvider.getText(key, defaultValue, args, stack);
+    }
+
+    public String getText(String key, String defaultValue, String[] args, ValueStack stack) {
+        return textProvider.getText(key, defaultValue, args, stack);
+    }
+
+    public ResourceBundle getTexts() {
+        return textProvider.getTexts();
+    }
+
+    public ResourceBundle getTexts(String aBundleName) {
+        return textProvider.getTexts(aBundleName);
+    }
+    
+    // ------- Special -------
+    
+    @Override
+    public int getListPageSize()
+    {
+        return -1; // Infinite List Size
+    }
+    
+    @Override
+    protected Connection getConnection() 
+    {
+        return null; 
+    }
+
+    // ------- ActionItem Property -------
+    
+    public String getItemPropertyName()
+    {
+        return itemProperty.getName();
+    }
+
+    public String getItem()
+    {   // Get Item from request?
+        return itemProperty.getValue();
+    }
+
+    public void setItem(String value)
+    {   // Set Session Item
+        itemProperty.setValue(value);
+    }
+    
+    public void clearItem()
+    {
+        itemProperty.clear();
+    }
+
+    public boolean isNewItem()
+    {   
+        return getItemNewFlag();
+    }
+    
+    protected final boolean hasItem(boolean lookOnSession)
+    {
+        return itemProperty.hasValue(lookOnSession);
+    }
+    
+    protected final Object[] getItemKey()
+    {
+        return getRecordKeyFromString( getItem() );
+    }
+
+    protected final boolean getItemNewFlag()
+    {
+        return getRecordNewFlagFromString( getItem() );
+    }  
+    
+    // ------- Request Param accessors -------
+    
+    public final Map getRequestParameters()
+    {
+        ActionContext context = ActionContext.getContext();
+        return (context!=null) ? context.getParameters() : null;
+    }
+
+    public final boolean hasRequestParam(String param)
+    {
+        return (getRequestParam(param)!=null);
+    }
+    
+    public final String getRequestParam(String param)
+    {
+        Map params = getRequestParameters();
+        Object value = params.get( param );
+        // Is the error provided?
+        if (value==null)
+            return null;
+        // Check if it is a String-Array 
+        if (value instanceof String[])
+            return ((String[])value)[0];
+        // convert to string 
+        return value.toString();
+    }
+    
+    public final String[] getRequestArrayParam(String param)
+    {
+        Map params = getRequestParameters();
+        Object value = params.get( param );
+        if (value==null)
+            return null; // null is default
+        // Check if it is a String-Array 
+        if (value instanceof String[])
+            return (String[])value;
+        // Create new String array
+        return new String[] { value.toString() };
+    }
+
+    public final Integer getRequestIntParam(String param)
+    {
+        String s = getRequestParam(param);
+        if (s==null)
+            return 0; // not found
+        return Integer.parseInt(s);
+    }
+    
+    @SuppressWarnings("unchecked")
+    public final void putRequestParam(String name, String value)
+    {
+        Map params = getRequestParameters();
+        if (value!=null)
+            params.put(name, new String[] { value });
+        else
+            params.remove(name);
+    }
+
+    // ------- ActionParam accessors -------
+    
+    protected String getActionParam(String name)
+    {
+        // If name is null, then use WebAction-Item
+        if (name==null || name.length()==0)
+        {   log.error("Invalid value for parameter 'name'");
+            return null;
+        }
+        // Find Item on Request
+        String item = getRequestParam(name);
+        // Check if item is supplied
+        if (item==null)
+            return StringUtils.toString(getActionObject(name));
+        // Set Session Item
+        putActionObject(name, item);
+        return item;
+    }
+
+    // ------- URL generator -------
+
+    public String getActionURL(String action, Map parameters)
+    {
+        Object request = EmpireStrutsDispatcher.getCurrentRequest();
+        if ((request instanceof WebRequest)==false)
+        {
+            log.error("cannot determine action URL. Request object does not implement WebRequest");
+            return null;
+        }
+        // We have a webRequest    
+        WebRequest webRequest = (WebRequest)request;
+        // Get the uri
+        String uri = "/" + action;
+        if (uri.indexOf('.')<0)
+            uri += ".action";
+        // now build the url
+        return UrlHelper.buildUrl(uri, webRequest.getHttpRequest(), webRequest.getHttpResponse(), parameters, null, true, true);
+    }
+    
+}

Added: incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/package.html
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/package.html?rev=683198&view=auto
==============================================================================
--- incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/package.html (added)
+++ incubator/empire-db/trunk/struts2-ext/Empire-struts2-ext/src/org/apache/empire/struts2/action/package.html Wed Aug  6 02:34:41 2008
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+/*
+ * ESTEAM Software GmbH, 12.12.2007
+ */
+-->
+</head>
+<body>
+
+
+
+</body></html>
\ No newline at end of file