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 2022/02/18 15:15:43 UTC

[empire-db] branch version2-legacy updated: EMPIREDB-375 removed all of struts2 due to CVE-2017-12611

This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch version2-legacy
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/version2-legacy by this push:
     new bcd3494  EMPIREDB-375 removed all of struts2 due to CVE-2017-12611
bcd3494 is described below

commit bcd34946df379778d6c96a499fe601fcfe16bc45
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Fri Feb 18 16:15:41 2022 +0100

    EMPIREDB-375 removed all of struts2 due to CVE-2017-12611
---
 empire-db-dist/pom.xml                             |    3 +-
 .../empire-db-example-struts2-cxf/.gitignore       |    7 -
 .../empire-db-example-struts2-cxf/pom.xml          |  112 --
 .../cxf/wssample/client/EmployeeServiceClient.java |   87 -
 .../samples/cxf/wssample/common/Department.java    |   80 -
 .../samples/cxf/wssample/common/Employee.java      |  172 --
 .../cxf/wssample/common/EmployeeService.java       |   67 -
 .../empire/struts2/websample/common/Errors.java    |   27 -
 .../struts2/websample/web/SampleApplication.java   |  107 -
 .../empire/struts2/websample/web/SampleConfig.java |   84 -
 .../struts2/websample/web/SampleContext.java       |   41 -
 .../empire/struts2/websample/web/SampleErrors.java |   26 -
 .../websample/web/SampleHtmlTagDictionary.java     |   91 -
 .../struts2/websample/web/SampleRequest.java       |   89 -
 .../struts2/websample/web/SampleSession.java       |   85 -
 .../empire/struts2/websample/web/SampleUser.java   |   56 -
 .../web/actions/EmployeeDetailAction.java          |   85 -
 .../websample/web/actions/EmployeeListAction.java  |  170 --
 .../struts2/websample/web/actions/LoginAction.java |  201 --
 .../web/actiontypes/BeanDetailAction.java          |  222 ---
 .../websample/web/actiontypes/DetailAction.java    |   50 -
 .../websample/web/actiontypes/SampleAction.java    |  104 -
 .../struts2/websample/ws/SampleBeanClass.java      |   63 -
 .../struts2/websample/ws/SampleBeanDomain.java     |  119 --
 .../empire/struts2/websample/ws/SampleRecord.java  |   35 -
 .../websample/ws/records/DepartmentRecord.java     |   35 -
 .../websample/ws/records/EmployeeRecord.java       |   82 -
 .../src/main/resources/log4j.dtd                   |  183 --
 .../src/main/resources/log4j.xml                   |   83 -
 .../src/main/resources/messages_de.properties      |   93 -
 .../src/main/resources/messages_en.properties      |   90 -
 .../src/main/resources/struts.properties           |   19 -
 .../src/main/resources/struts.xml                  |   78 -
 .../src/main/webapp/WEB-INF/config.xml             |   33 -
 .../src/main/webapp/WEB-INF/empire-tags.tld        | 2040 --------------------
 .../src/main/webapp/WEB-INF/web.xml                |   66 -
 .../src/main/webapp/css/main.css                   |   96 -
 .../src/main/webapp/index.html                     |   29 -
 .../src/main/webapp/jsp/employeeDetails.jsp        |   78 -
 .../src/main/webapp/jsp/employeeList.jsp           |   64 -
 .../src/main/webapp/jsp/employeeSearch.jsp         |   50 -
 .../src/main/webapp/jsp/error.jsp                  |   37 -
 .../src/main/webapp/jsp/login.jsp                  |   41 -
 .../empire-db-example-struts2/.gitignore           |    7 -
 .../empire-db-example-struts2/pom.xml              |  108 --
 .../empire/struts2/websample/db/SampleDB.java      |  137 --
 .../empire/struts2/websample/db/SampleRecord.java  |   36 -
 .../empire/struts2/websample/db/SampleTable.java   |   58 -
 .../websample/db/records/DepartmentRecord.java     |   36 -
 .../websample/db/records/EmployeeRecord.java       |   66 -
 .../struts2/websample/web/SampleApplication.java   |  282 ---
 .../empire/struts2/websample/web/SampleConfig.java |  101 -
 .../struts2/websample/web/SampleContext.java       |   34 -
 .../empire/struts2/websample/web/SampleErrors.java |   26 -
 .../websample/web/SampleHtmlTagDictionary.java     |   91 -
 .../struts2/websample/web/SampleRequest.java       |  117 --
 .../struts2/websample/web/SampleSession.java       |   85 -
 .../empire/struts2/websample/web/SampleUser.java   |   41 -
 .../web/actions/EmployeeDetailAction.java          |  110 --
 .../websample/web/actions/EmployeeListAction.java  |  262 ---
 .../struts2/websample/web/actions/LoginAction.java |  153 --
 .../struts2/websample/web/actiontypes/Action.java  |   99 -
 .../web/actiontypes/BeanDetailAction.java          |  222 ---
 .../websample/web/actiontypes/DetailAction.java    |   50 -
 .../src/main/resources/log4j.dtd                   |  183 --
 .../src/main/resources/log4j.xml                   |   69 -
 .../src/main/resources/messages_de.properties      |   89 -
 .../src/main/resources/messages_en.properties      |   86 -
 .../src/main/resources/struts.properties           |   19 -
 .../src/main/resources/struts.xml                  |   57 -
 .../src/main/webapp/WEB-INF/config.xml             |   67 -
 .../src/main/webapp/WEB-INF/empire-tags.tld        | 2040 --------------------
 .../src/main/webapp/WEB-INF/web.xml                |   64 -
 .../src/main/webapp/css/main.css                   |   74 -
 .../src/main/webapp/index.html                     |   29 -
 .../src/main/webapp/jsp/employeeDetails.jsp        |   84 -
 .../src/main/webapp/jsp/employeeList.jsp           |   84 -
 .../src/main/webapp/jsp/employeeSearch.jsp         |   50 -
 .../src/main/webapp/jsp/error.jsp                  |   37 -
 .../src/main/webapp/jsp/login.jsp                  |   39 -
 empire-db-examples/pom.xml                         |    2 +
 empire-db-struts2/.gitignore                       |    6 -
 empire-db-struts2/pom.xml                          |   67 -
 .../struts2/action/ActionAccessValidator.java      |   42 -
 .../empire/struts2/action/ActionErrorProvider.java |   76 -
 .../empire/struts2/action/ActionItemProperty.java  |   32 -
 .../apache/empire/struts2/action/Disposable.java   |   47 -
 .../apache/empire/struts2/action/ErrorInfo.java    |   46 -
 .../empire/struts2/action/ExceptionAware.java      |   31 -
 .../empire/struts2/action/ListPagingInfo.java      |   39 -
 .../empire/struts2/action/ListSortingInfo.java     |   34 -
 .../struts2/action/RequestParamProvider.java       |   33 -
 .../apache/empire/struts2/action/WebAction.java    |  540 ------
 .../org/apache/empire/struts2/action/package.html  |   27 -
 .../empire/struts2/actionsupport/ActionBase.java   |  329 ----
 .../empire/struts2/actionsupport/ActionError.java  |  146 --
 .../actionsupport/ActionPropertySupport.java       |  110 --
 .../struts2/actionsupport/BeanActionSupport.java   |  193 --
 .../actionsupport/BeanListActionSupport.java       |   87 -
 .../struts2/actionsupport/FormActionSupport.java   |  122 --
 .../struts2/actionsupport/ListActionSupport.java   |  178 --
 .../actionsupport/ReaderListActionSupport.java     |   74 -
 .../struts2/actionsupport/RecordActionSupport.java |  627 ------
 .../actionsupport/RecordFormActionSupport.java     |  361 ----
 .../struts2/actionsupport/SessionPersistence.java  |   29 -
 .../actionsupport/TextProviderActionSupport.java   |  127 --
 .../empire/struts2/actionsupport/package.html      |   27 -
 .../exceptions/InvalidFormDataException.java       |   37 -
 .../empire/struts2/exceptions/WebException.java    |   38 -
 .../struts2/html/DefaultHtmlTagDictionary.java     |  556 ------
 .../empire/struts2/html/HtmlTagDictionary.java     |  177 --
 .../org/apache/empire/struts2/html/HtmlWriter.java |  239 ---
 .../org/apache/empire/struts2/html/package.html    |   27 -
 .../interceptors/ActionAccessInterceptor.java      |   82 -
 .../interceptors/ActionBasicsInterceptor.java      |  106 -
 .../struts2/interceptors/InterceptorSupport.java   |  122 --
 .../empire/struts2/interceptors/package.html       |   27 -
 .../struts2/jsp/components/AnchorComponent.java    |  180 --
 .../struts2/jsp/components/CalendarComponent.java  |  388 ----
 .../struts2/jsp/components/ControlComponent.java   |  252 ---
 .../struts2/jsp/components/DataValueComponent.java |  172 --
 .../struts2/jsp/components/FormComponent.java      |  135 --
 .../jsp/components/InputControlComponent.java      |  364 ----
 .../struts2/jsp/components/info/CalendarInfo.java  |  318 ---
 .../struts2/jsp/components/info/package.html       |   27 -
 .../empire/struts2/jsp/components/package.html     |   27 -
 .../struts2/jsp/controls/CheckboxInputControl.java |   99 -
 .../struts2/jsp/controls/EMailInputControl.java    |   46 -
 .../struts2/jsp/controls/HLinkInputControl.java    |   50 -
 .../empire/struts2/jsp/controls/InputControl.java  |  359 ----
 .../struts2/jsp/controls/InputControlManager.java  |   56 -
 .../struts2/jsp/controls/PasswordInputControl.java |  116 --
 .../struts2/jsp/controls/PhoneInputControl.java    |  199 --
 .../struts2/jsp/controls/RadioInputControl.java    |  185 --
 .../struts2/jsp/controls/SelectInputControl.java   |   94 -
 .../struts2/jsp/controls/TextAreaInputControl.java |  136 --
 .../struts2/jsp/controls/TextInputControl.java     |  408 ----
 .../empire/struts2/jsp/controls/package.html       |   27 -
 .../empire/struts2/jsp/tags/ActionErrorsTag.java   |  168 --
 .../empire/struts2/jsp/tags/ActionMessageTag.java  |   87 -
 .../apache/empire/struts2/jsp/tags/ButtonTag.java  |  102 -
 .../empire/struts2/jsp/tags/CalendarTag.java       |  204 --
 .../empire/struts2/jsp/tags/CheckboxTag.java       |  184 --
 .../empire/struts2/jsp/tags/DataValueTag.java      |  226 ---
 .../empire/struts2/jsp/tags/EmpireTagSupport.java  |  476 -----
 .../struts2/jsp/tags/EmpireValueTagSupport.java    |  358 ----
 .../apache/empire/struts2/jsp/tags/FlexDivTag.java |  111 --
 .../empire/struts2/jsp/tags/FloatClearTag.java     |   62 -
 .../empire/struts2/jsp/tags/FormPartTag.java       |  365 ----
 .../empire/struts2/jsp/tags/FormSubmitTag.java     |  223 ---
 .../apache/empire/struts2/jsp/tags/FormTag.java    |  177 --
 .../empire/struts2/jsp/tags/InputControlTag.java   |  320 ---
 .../empire/struts2/jsp/tags/ItemListTag.java       |  428 ----
 .../apache/empire/struts2/jsp/tags/LinkTag.java    |  179 --
 .../empire/struts2/jsp/tags/ListPageBarTag.java    |  253 ---
 .../empire/struts2/jsp/tags/ListPageInfoTag.java   |  118 --
 .../empire/struts2/jsp/tags/MenuItemTag.java       |  153 --
 .../apache/empire/struts2/jsp/tags/MenuTag.java    |  182 --
 .../apache/empire/struts2/jsp/tags/ParamTag.java   |  111 --
 .../empire/struts2/jsp/tags/RadioButtonTag.java    |  171 --
 .../apache/empire/struts2/jsp/tags/SelectTag.java  |  178 --
 .../empire/struts2/jsp/tags/TableDataTag.java      |  192 --
 .../struts2/jsp/tags/TableHeadColumnTag.java       |  368 ----
 .../empire/struts2/jsp/tags/TableHeadRowTag.java   |  230 ---
 .../empire/struts2/jsp/tags/TableRowTag.java       |  189 --
 .../apache/empire/struts2/jsp/tags/TextTag.java    |  119 --
 .../empire/struts2/jsp/tags/flow/ElseIfTag.java    |   98 -
 .../empire/struts2/jsp/tags/flow/ElseTag.java      |   78 -
 .../apache/empire/struts2/jsp/tags/flow/IfTag.java |   91 -
 .../empire/struts2/jsp/tags/flow/SetTag.java       |   95 -
 .../empire/struts2/jsp/tags/flow/package.html      |   27 -
 .../apache/empire/struts2/jsp/tags/package.html    |   27 -
 .../org/apache/empire/struts2/web/AppContext.java  |   51 -
 .../empire/struts2/web/DefaultWebRequest.java      |   57 -
 .../empire/struts2/web/EmpireFilterDispatcher.java |   51 -
 .../struts2/web/EmpirePortletDispatcher.java       |  256 ---
 .../empire/struts2/web/EmpirePortletResult.java    |  101 -
 .../empire/struts2/web/EmpireStrutsDispatcher.java |  260 ---
 .../empire/struts2/web/EmpireThreadManager.java    |   59 -
 .../org/apache/empire/struts2/web/FieldErrors.java |   41 -
 .../apache/empire/struts2/web/RequestContext.java  |   61 -
 .../apache/empire/struts2/web/ResponseContext.java |   52 -
 .../apache/empire/struts2/web/SessionContext.java  |   44 -
 .../org/apache/empire/struts2/web/UrlHelperEx.java |  232 ---
 .../apache/empire/struts2/web/WebApplication.java  |   27 -
 .../org/apache/empire/struts2/web/WebRequest.java  |   62 -
 .../org/apache/empire/struts2/web/WebSession.java  |   27 -
 .../org/apache/empire/struts2/web/package.html     |   27 -
 .../struts2/web/portlet/PortletContextWrapper.java |  100 -
 .../struts2/web/portlet/PortletRequestWrapper.java |  125 --
 .../web/portlet/PortletResponseWrapper.java        |  136 --
 .../struts2/web/portlet/PortletSessionWrapper.java |   77 -
 .../struts2/web/servlet/ServletContextWrapper.java |  100 -
 .../struts2/web/servlet/ServletRequestWrapper.java |  124 --
 .../web/servlet/ServletResponseWrapper.java        |   93 -
 .../struts2/web/servlet/ServletSessionWrapper.java |   79 -
 .../src/main/resources/META-INF/empire-tags.tld    | 2040 --------------------
 .../src/main/resources/struts-empire-portlet.xml   |   98 -
 .../src/main/resources/struts-empire.xml           |   90 -
 pom.xml                                            |    2 +
 200 files changed, 6 insertions(+), 29869 deletions(-)

diff --git a/empire-db-dist/pom.xml b/empire-db-dist/pom.xml
index 2ea3088..c1fea1d 100644
--- a/empire-db-dist/pom.xml
+++ b/empire-db-dist/pom.xml
@@ -22,7 +22,6 @@
 		<version>2.5.2-SNAPSHOT</version>
 	</parent>
 	<artifactId>empire-db-dist</artifactId>
-  <version>2.4.7</version>
 	<name>Apache Empire-db Distribtion</name>
 	<packaging>pom</packaging>
 
@@ -88,12 +87,14 @@
 			<version>2.5.2-SNAPSHOT</version>
 			<classifier>javadoc</classifier>
 		</dependency>
+		<!-- removed due to CVE-2017-12611
 		<dependency>
 			<groupId>org.apache.empire-db</groupId>
 			<artifactId>empire-db-struts2</artifactId>
 			<version>2.5.2-SNAPSHOT</version>
 			<classifier>javadoc</classifier>
 		</dependency>
+		-->
 		<dependency>
 			<groupId>org.apache.empire-db</groupId>
 			<artifactId>empire-db-jsf2</artifactId>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/.gitignore b/empire-db-examples/empire-db-example-struts2-cxf/.gitignore
deleted file mode 100644
index 55ee6c2..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-/target/
-/.settings/
-/.classpath
-/.project
-/.tomcatplugin
-/.apt_generated/
-/.factorypath
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/pom.xml b/empire-db-examples/empire-db-example-struts2-cxf/pom.xml
deleted file mode 100644
index fa949af..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/pom.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<parent>
-		<artifactId>empire-db-examples</artifactId>
-		<groupId>org.apache.empire-db</groupId>
-		<version>2.5.2-SNAPSHOT</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>empire-db-example-struts2-cxf</artifactId>
-	<packaging>war</packaging>
-	<name>Apache Empire-db Struts2/CXF Example</name>
-	<description>Examples showing the use of empire-db.</description>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.empire-db</groupId>
-			<artifactId>empire-db</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.empire-db</groupId>
-			<artifactId>empire-db-struts2</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.cxf</groupId>
-			<artifactId>cxf-rt-frontend-jaxws</artifactId>
-			<version>2.1.3</version>
-		</dependency>
-		
-		<!-- use log4j for logging -->
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-		</dependency>
-
-		<!-- Jetty is needed if you're are not using the CXFServlet -->
-		<dependency>
-			<groupId>org.apache.cxf</groupId>
-			<artifactId>cxf-rt-transports-http-jetty</artifactId>
-			<version>2.1.3</version>
-			<exclusions>
-				<exclusion>
-					<groupId>org.slf4j</groupId>
-					<artifactId>slf4j-jdk14</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		
-		<dependency>
-            <groupId>javax.portlet</groupId>
-            <artifactId>portlet-api</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-	</dependencies>
-
-	<build>
-		<finalName>empcxf</finalName>
-		<plugins>
-			<!-- WTP-Eclipse-Projekt --> 
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-eclipse-plugin</artifactId>
-				<configuration>
-					<m2eclipse>true</m2eclipse>
-					<downloadSources>true</downloadSources>
-					<wtpversion>2.0</wtpversion>
-				</configuration>
-			</plugin>
-
-			<!-- Sysdeo Tomcat Eclipse --> 
-			<plugin>
-			  <groupId>org.codehaus.mojo</groupId>
-			  <artifactId>sysdeo-tomcat-maven-plugin</artifactId>
-			  <version>1.1</version>
-			  <configuration>
-				  <webPath>empire-db-cxf</webPath>
-			  </configuration>
-			</plugin>
-
-			<!-- Jetty -->
-			<plugin>
-				<groupId>org.mortbay.jetty</groupId>
-				<artifactId>maven-jetty-plugin</artifactId>
-				<version>6.1.26</version>
-				<configuration>
-					<scanIntervalSeconds>10</scanIntervalSeconds>
-					<stopKey>foo</stopKey>
-					<stopPort>9999</stopPort>
-				</configuration>
-			</plugin>
-
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/client/EmployeeServiceClient.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/client/EmployeeServiceClient.java
deleted file mode 100644
index e3f715b..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/client/EmployeeServiceClient.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.empire.samples.cxf.wssample.client;
-
-import java.util.List;
-
-import javax.xml.ws.Holder;
-
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
-import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
-import org.apache.empire.samples.cxf.wssample.common.Department;
-import org.apache.empire.samples.cxf.wssample.common.Employee;
-import org.apache.empire.samples.cxf.wssample.common.EmployeeService;
-
-// The access to WebService.
-public class EmployeeServiceClient
-{
-    private EmployeeService service = null;
-
-    public EmployeeServiceClient(String serviceAddress)
-    {
-        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
-        factory.getInInterceptors().add(new LoggingInInterceptor());
-        factory.getOutInterceptors().add(new LoggingOutInterceptor());
-        factory.setServiceClass(EmployeeService.class);
-        factory.setAddress(serviceAddress);
-        this.service = (EmployeeService) factory.create();
-    }
-
-    public Employee createEmmployee()
-    {
-        return service.createEmmployee();
-    }
-
-    public List<Department> getDepartments()
-    {
-        return service.getDepartments();
-    }
-
-    public Employee getEmmployee(int id)
-    {
-        return service.getEmmployee(id);
-    }
-
-    public boolean saveEmployee(Employee e)
-    {
-        // Employee is here a INOUT parameter, and therfore has to be placed in a Holder.
-        Holder<Employee> holder = new Holder<Employee>(e);
-        boolean retVal = service.saveEmmployee(holder);
-        // In order to retrieve changes made by the webservice we copy the content to our local variable.
-        e.set(holder.value);
-        return retVal;
-    }
-
-    public boolean deleteEmployee(int id)
-    {
-        return service.deleteEmmployee(id);
-    }
-
-    public List<Employee> searchEmployee(Integer id, String firstName, String lastName, Integer department)
-    {
-        return service.searchEmmployee(id, firstName, lastName, department);
-    }
-    
-    public boolean ping()
-    {
-        return service.ping();
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Department.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Department.java
deleted file mode 100644
index b9b80d0..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Department.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.empire.samples.cxf.wssample.common;
-
-import java.util.Date;
-
-
-// Holds all the data represented by a department-record from the database
-public class Department {
-
-	private long departmentId = 0;
-	private String name = "";
-	private String head = "";
-	private String businessUnit = "";
-	private Date updateTimestamp = null;
-
-	public void setDepartmentId(long id) {
-		departmentId = id;
-	}
-
-	public long getDepartmentId() {
-		return departmentId;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setHead(String head) {
-		this.head = head;
-	}
-
-	public String getHead() {
-		return head;
-	}
-
-	public void setBusinessUnit(String businessUnit) {
-		this.businessUnit = businessUnit;
-	}
-
-	public String getBusinessUnit() {
-		return businessUnit;
-	}
-
-	public void setUpdateTimestamp(Date d) {
-		this.updateTimestamp = d;
-	}
-
-	public Date getUpdateTimestamp() {
-		return updateTimestamp;
-	}
-	
-	@Override
-	public String toString()
-	{
-		return name;
-	}
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Employee.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Employee.java
deleted file mode 100644
index 1926f57..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/Employee.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.empire.samples.cxf.wssample.common;
-
-import java.util.Date;
-
-//Holds all the data represented by a employee-record from the database
-public class Employee {
-
-	private long employeeId = -1;
-	private String salutation = "";
-	private String firstname = "";
-	private String lastname = "";
-	private Date dateOfBirth = null;
-	private long departmentId = -1;
-	private String gender = "";
-	private String phoneNumber = "";
-	private String email = "";
-	private double salary = -1;
-	private boolean retired = false;
-	private Date updateTimestamp = null;
-	private boolean isNew = false;
-
-	public void set(Employee e) {
-		employeeId = e.getDepartmentId();
-		salutation = e.getSalutation();
-		firstname = e.getFirstname();
-		lastname = e.getLastname();
-		dateOfBirth = e.getDateOfBirth();
-		departmentId = e.getDepartmentId();
-		gender = e.getGender();
-		phoneNumber = e.getPhoneNumber();
-		email = e.getEmail();
-		salary = e.getSalary();
-		retired = e.isRetired();
-		updateTimestamp = e.getUpdateTimestamp();
-		isNew = e.isNew();
-	}
-
-	public void setEmployeeId(long id) {
-		employeeId = id;
-	}
-
-	public long getEmployeeId() {
-		return employeeId;
-	}
-
-	public void setSalutation(String salutation) {
-		this.salutation = salutation;
-	}
-
-	public String getSalutation() {
-		return salutation;
-	}
-
-	public void setFirstname(String firstname) {
-		this.firstname = firstname;
-	}
-
-	public String getFirstname() {
-		return firstname;
-	}
-
-	public void setLastname(String lastname) {
-		this.lastname = lastname;
-	}
-
-	public String getLastname() {
-		return lastname;
-	}
-
-	public void setDateOfBirth(Date dateOfBirth) {
-		this.dateOfBirth = dateOfBirth;
-	}
-
-	public Date getDateOfBirth() {
-		return dateOfBirth;
-	}
-
-	public void setDepartmentId(long departmentId) {
-		this.departmentId = departmentId;
-	}
-
-	public long getDepartmentId() {
-		return departmentId;
-	}
-
-	public void setGender(String gender) {
-		this.gender = gender;
-	}
-
-	public String getGender() {
-		return gender;
-	}
-
-	public void setPhoneNumber(String phone) {
-		this.phoneNumber = phone;
-	}
-
-	public String getPhoneNumber() {
-		return phoneNumber;
-	}
-
-	public void setEmail(String email) {
-		this.email = email;
-	}
-
-	public String getEmail() {
-		return email;
-	}
-
-	public void setRetired(boolean retired) {
-		this.retired = retired;
-	}
-
-	public boolean isRetired() {
-		return retired;
-	}
-
-	public void setUpdateTimestamp(Date d) {
-		this.updateTimestamp = d;
-	}
-
-	public Date getUpdateTimestamp() {
-		return updateTimestamp;
-	}
-
-	public void setSalary(double salary) {
-		this.salary = salary;
-	}
-
-	public double getSalary() {
-		return salary;
-	}
-
-	@Override
-	public String toString() {
-		String str = "";
-		str += getEmployeeId() + ": ";
-		str += getSalutation() + " ";
-		str += getFirstname() + " ";
-		str += getLastname();
-
-		return str;
-	}
-
-	public void setNew(boolean isNew) {
-		this.isNew = isNew;
-	}
-
-	public boolean isNew() {
-		return isNew;
-	}
-
-}
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/EmployeeService.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/EmployeeService.java
deleted file mode 100644
index 523f26e..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/samples/cxf/wssample/common/EmployeeService.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.empire.samples.cxf.wssample.common;
-
-import java.util.List;
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-import javax.jws.WebParam.Mode;
-import javax.xml.ws.Holder;
-
-//specifies the the attribute wsdl:portType
-@WebService(name = "employeeService")
-
-public interface EmployeeService
-{
-    @WebMethod(operationName = "searchEmmployee")
-    @WebResult(name = "searchResponse")
-    public List<Employee> searchEmmployee(@WebParam(name = "id", mode = Mode.IN) Integer id,
-                                          @WebParam(name = "firstName", mode = Mode.IN) String firstName,
-                                          @WebParam(name = "lastName", mode = Mode.IN) String lastName,
-                                          @WebParam(name = "department", mode = Mode.IN) Integer department);
-
-    @WebMethod(operationName = "getEmmployee")
-    @WebResult(name = "employee")
-    public Employee getEmmployee(@WebParam(name = "id", mode = Mode.IN) int id);
-
-    @WebMethod(operationName = "createEmmployee")
-    @WebResult(name = "newEmployee")
-    public Employee createEmmployee();
-
-    @WebMethod(operationName = "saveEmmployee")
-    @WebResult(name = "saveResponse")
-    public boolean saveEmmployee(@WebParam(name = "employee", mode = Mode.INOUT) Holder<Employee> e);
-
-    @WebMethod(operationName = "deleteEmmployee")
-    @WebResult(name = "deleteResponse")
-    public boolean deleteEmmployee(@WebParam(name = "id", mode = Mode.IN) int id);
-
-    @WebMethod(operationName = "getDepartments")
-    @WebResult(name = "allDepartments")
-    public List<Department> getDepartments();
-    
-    @WebMethod(operationName = "ping")
-    @WebResult(name = "pingResponse")
-    public boolean ping();
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/common/Errors.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/common/Errors.java
deleted file mode 100644
index 8f4952b..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/common/Errors.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.empire.struts2.websample.common;
-
-import org.apache.empire.commons.ErrorType;
-
-public class Errors {
-    public static final ErrorType WebServiceNotAvailable = new ErrorType(
-            "error.wsnav", "WebService not Responding!");
-}
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java
deleted file mode 100644
index a2fd811..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.samples.cxf.wssample.client.EmployeeServiceClient;
-import org.apache.empire.struts2.actionsupport.TextProviderActionSupport;
-import org.apache.empire.struts2.html.HtmlTagDictionary;
-import org.apache.empire.struts2.web.AppContext;
-import org.apache.empire.struts2.web.WebApplication;
-import org.apache.empire.struts2.websample.ws.SampleBeanDomain;
-
-public class SampleApplication implements WebApplication {
-	// Logger
-	protected static Log log = LogFactory.getLog(SampleApplication.class);
-
-	// must be singleton
-	private static SampleApplication application;
-
-	public static SampleApplication getInstance() {
-		return application;
-	}
-
-	// Non-Static
-	private SampleBeanDomain beanDomain = new SampleBeanDomain();
-	private SampleConfig config = new SampleConfig();
-	
-	private EmployeeServiceClient ws = new EmployeeServiceClient(config
-			.getServiceAddress());
-
-	public void init(AppContext appContext) {
-		try {
-
-			// Application
-			if (application != null) {
-				log.fatal("Application has already been initiallized!");
-				return;
-			}
-			application = this;
-
-			// register all controls
-			// InputControlManager.registerControl("myType", new
-			// MyTypeInputControl());
-			config.init(appContext.getRealPath("WEB-INF/config.xml"));
-
-			// Set Html Dictionary
-			HtmlTagDictionary.set(new SampleHtmlTagDictionary());
-
-			// Set Database to Servlet Context
-			appContext.setAttribute("db", beanDomain);
-
-			// Get a Webservice Connection
-			log.info("*** testing Webservice Connection ***");
-			ws = initEmployeeServiceClient();
-
-			// Disable Message caching
-			TextProviderActionSupport.setCachingEnabled(false);
-
-			// Done
-			log.info("Application initialized ");
-
-		} catch (Exception e) {
-			// Error
-			log.info(e.toString());
-			e.printStackTrace();
-		}
-
-	}
-
-	public SampleBeanDomain getBeanDomain() {
-		return beanDomain;
-	}
-
-	public EmployeeServiceClient getEmployeeServiceClient() {
-		return ws;
-	}
-
-	private EmployeeServiceClient initEmployeeServiceClient() {
-		String addr = config.getServiceAddress();
-		try {
-			EmployeeServiceClient emp = new EmployeeServiceClient(addr);
-			return emp;
-		} catch (Throwable e) {
-			log.error("Failed to connect directly to '" + addr + "'");
-			throw new RuntimeException(e);
-		}
-
-	}
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java
deleted file mode 100644
index 82e8297..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.xml.XMLConfiguration;
-
-public class SampleConfig extends XMLConfiguration {
-	
-	private String databaseProvider = "webservice";
-	
-	private String serviceHost = "http://localhost";
-
-	private String servicePort = "8080";
-
-	private String serviceName = "WSSAMPLE";
-
-
-	/**
-	 * Initialize the configuration
-	 */
-	public void init(String filename) {
-		// Read the properties file
-		super.init(filename, false);
-		// Done
-		readProperties(this, "properties");
-		// Reader Provider Properties
-		readProperties(this, "properties-" + databaseProvider);
-	}
-
-	public String getDatabaseProvider() {
-		return databaseProvider;
-	}
-
-	public String getServiceHost() {
-		return serviceHost;
-	}
-
-	public String getServicePort() {
-		return servicePort;
-	}
-
-	public String getServiceName() {
-		return serviceName;
-	}
-
-	public String getServiceAddress() {
-		return serviceHost + ":" + servicePort + "/" + serviceName;
-	}
-
-	// ------- Setters -------
-
-	public void setDatabaseProvider(String databaseProvider) {
-		this.databaseProvider = databaseProvider;
-	}
-
-	public void setServiceHost(String serviceHost) {
-		this.serviceHost = serviceHost;
-	}
-
-	public void setServicePort(String servicePort) {
-		this.servicePort = servicePort;
-	}
-
-	public void setServiceName(String serviceName) {
-		this.serviceName = serviceName;
-	}
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java
deleted file mode 100644
index a9c9427..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.samples.cxf.wssample.client.EmployeeServiceClient;
-import org.apache.empire.struts2.websample.ws.SampleBeanDomain;
-
-public class SampleContext
-{
-
-    /*
-     * This is just a very simple implementation of a "context" object.
-     * You may add user specific information here.
-     */
-    
-    public SampleBeanDomain getBeanDomain()
-    {
-        return SampleApplication.getInstance().getBeanDomain();
-    }
-
-    public EmployeeServiceClient getEmployeeServiceClient()
-    {
-        return SampleApplication.getInstance().getEmployeeServiceClient();
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java
deleted file mode 100644
index dc8361b..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.commons.ErrorType;
-
-public class SampleErrors
-{
-    public static final ErrorType InvalidPassword = new ErrorType("error.invalidpassword", "Invalid Password.");
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java
deleted file mode 100644
index d0a4823..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.struts2.html.DefaultHtmlTagDictionary;
-
-public class SampleHtmlTagDictionary extends DefaultHtmlTagDictionary
-{
-    // ------- Input Control -------
-
-    @Override
-    public boolean InputReadOnlyAsData()
-    {
-        return false; // Show Read Only Input as Data (not as disabled input)
-    }
-    
-    @Override
-    public int InputMaxCharSize()
-    {
-        return 40; // Maximum horizontal size in characters
-    }
-
-    @Override
-    public String InputWrapperTag()
-    {
-        return "tr";
-    }
-
-    @Override
-    public String InputLabelTag()
-    {
-        return "td";
-    }
-
-    @Override
-    public String InputControlTag()
-    {
-        return "td";
-    }
-
-    // ------- Errors -------
-
-    @Override
-    public String ErrorItemEntryClass()
-    {
-        return "errorMessage";
-    }
-
-    @Override
-    public String ErrorActionEntryClass()
-    {
-        return "errorMessage";
-    }
-
-    @Override
-    public String ErrorEntryWrapperTag()
-    {
-        return "span";
-    }
-
-    // ------- Message -------
-
-    @Override
-    public String MessageTag()
-    {
-        return "div";
-    }
-
-    @Override
-    public String MessageClass()
-    {
-        return "actionMessage";
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java
deleted file mode 100644
index 24faeb3..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.struts2.web.EmpireThreadManager;
-import org.apache.empire.struts2.web.RequestContext;
-import org.apache.empire.struts2.web.ResponseContext;
-import org.apache.empire.struts2.web.WebRequest;
-
-
-public class SampleRequest implements WebRequest
-{
-    // Logger
-    protected static Log log = LogFactory.getLog(SampleRequest.class);
-
-    private RequestContext  requestContext;
-    private ResponseContext	responseContext;
-    private SampleSession   session;
-    
-    public static SampleRequest getInstance()
-    {
-        return (SampleRequest)EmpireThreadManager.getCurrentRequest();        
-    }
-    
-    public boolean init(RequestContext request, ResponseContext response, Object session)
-    {
-        this.requestContext = request;
-        this.responseContext = response;
-        // Set Internal objects
-        this.session = (SampleSession)session;
-        if (this.session==null)
-        {   // Error
-            log.fatal("Internal Error: Session object is null");
-            return false;
-        }
-        // continue processing
-        return true;
-    }
-
-    public void exit(int exitCode)
-    {
-        // Release objects
-        this.requestContext = null;
-        this.responseContext = null;
-    }
-
-    // Get Session
-    public SampleSession getSession()
-    {
-        return session;
-    }
-
-    // Get Application
-    public SampleApplication getApplication()
-    {
-        return session.getApplication();
-    }
-    
-    // Get Request Context
-    public RequestContext getRequestContext()
-    {
-        return requestContext;
-    }
-
-    // Get Response Context
-    public ResponseContext getResponseContext()
-    {
-        return responseContext;
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java
deleted file mode 100644
index db9fdd5..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.util.HashMap;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.struts2.web.SessionContext;
-import org.apache.empire.struts2.web.WebSession;
-
-public class SampleSession implements WebSession
-{
-    // Logger
-    protected static Log log = LogFactory.getLog(SampleSession.class);
-
-    // Non-Static
-    private SampleApplication application = null;
-    public SampleUser user = null;
-    public HashMap<String, Object> objectMap = new HashMap<String, Object>();
-    
-    // Init Session
-    public void init(SessionContext session, Object application)
-    {
-        this.application = (SampleApplication) application;
-        if (this.application==null)
-        {
-            throw new RuntimeException("Fatal: Application object is null!");
-        }
-        log.info("Session created ");
-    }
-
-    // Get Application
-    public SampleApplication getApplication()
-    {
-        return application;
-    }
-
-    public SampleUser getUser()
-    {
-        return user;
-    }
-
-    public void setUser(SampleUser user)
-    {
-        this.user = user;
-    }
-    
-    public Object getObject(String name)
-    {
-        return objectMap.get(name);
-    }
-    
-    public final Object getObject(Class objclass)
-    {
-        return getObject(objclass.getName());
-    }
-    
-    public Object setObject(String name, Object obj)
-    {
-        return objectMap.put(name, obj);
-    }
-    
-    public final Object setObject(Class objclass, Object obj)
-    {
-        return setObject(objclass.getName(), obj);
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java
deleted file mode 100644
index a9b0bd9..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.util.Locale;
-
-public class SampleUser
-{
-    private String userId;
-    private String displayName;
-    private Locale locale = Locale.ENGLISH;
-
-    public SampleUser(String userId, String displayName)
-    {
-        this.userId = userId;
-        this.displayName = displayName;
-    }
-
-    public String getDisplayName()
-    {
-        return displayName;
-    }
-
-    public String getUserId()
-    {
-        return userId;
-    }
-
-    public Locale getLocale()
-    {
-        return locale;
-    }
-
-    public void setLocale(Locale locale)
-    {
-        if(locale!=null)
-            this.locale = locale;
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java
deleted file mode 100644
index a8ac7ba..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import org.apache.empire.samples.cxf.wssample.client.EmployeeServiceClient;
-import org.apache.empire.samples.cxf.wssample.common.Employee;
-import org.apache.empire.struts2.actionsupport.SessionPersistence;
-import org.apache.empire.struts2.websample.web.SampleApplication;
-import org.apache.empire.struts2.websample.web.SampleContext;
-import org.apache.empire.struts2.websample.web.actiontypes.BeanDetailAction;
-import org.apache.empire.struts2.websample.ws.records.EmployeeRecord;
-
-/**
- * EmployeeDetailAction
- * <p>
- * This class provides form processing functions for an Employee record.<br>
- * The class uses a RecordActionSupport object which does most of the work.<br>
- * For multi-record forms it is possible to have several RecordActionSupport members.<br>
- * In this case each must be given a differnt property name however (see RecordActionSupport overloads).
- * </p>
- */
-public class EmployeeDetailAction extends BeanDetailAction<Employee>
-{
-    private EmployeeServiceClient proxy = SampleApplication.getInstance().getEmployeeServiceClient();
-
-    // ------- Action Construction -------
-
-    public EmployeeDetailAction()
-    {
-        super(new EmployeeRecord(new SampleContext()), SessionPersistence.Key);
-
-    }
-
-    /*
-     * 
-     * public EmployeeDetailAction2() { super(SampleBeanDomain.getInstance().T_EMPLOYEES,SessionPersistence.Key); }
-     */
-
-    // ------- Action Properties -------
-    // ------- the have to overridables -------
-    @Override
-    public Employee createBean()
-    {
-        Employee e = proxy.createEmmployee();
-        return e;
-    }
-
-    @Override
-    public boolean deleteBean(Object[] key)
-    {
-        int id = Integer.parseInt(key[0].toString());
-        return proxy.deleteEmployee(id);
-    }
-
-    @Override
-    public Employee loadBean(Object[] key)
-    {
-        //TODO: not working properly!
-        int id = Integer.parseInt(key[0].toString());
-        return proxy.getEmmployee(id);
-    }
-
-    @Override
-    public boolean saveBean(Employee bean, boolean isNew)
-    {
-        return proxy.saveEmployee(bean);
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java
deleted file mode 100644
index 062fc53..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import java.util.List;
-
-import org.apache.empire.commons.Options;
-import org.apache.empire.samples.cxf.wssample.common.Employee;
-import org.apache.empire.struts2.websample.web.SampleContext;
-import org.apache.empire.struts2.websample.web.actiontypes.SampleAction;
-import org.apache.empire.struts2.websample.ws.records.EmployeeRecord;
-
-/**
- * EmployeeListAction
- * <p>
- * This class provides form functions for searching and displaying a list of employees. This implementation shows two optional
- * approaches for this. 1. Use a ReaderListActionSupport object to directly display database query results in the JSP.<br>
- * This is most efficient, however it lacks some flexibility.<br>
- * 2. Use a BeanListActionSupport object to obtain a list of JavaBean objects from the query.<br>
- * From the JSP the data of the list will be accessed though their getter and setters.<br>
- * While this is not a efficent as the Reader approach, it is more flexible since post processing of the query result is
- * possbile.
- * </p>
- */
-public class EmployeeListAction extends SampleAction
-{
-    /**
-     * Action mappings
-     */
-    public static final String SEARCH = "search";
-    public static final String LIST   = "list";
-
-    // the search info
-    public static class SearchInfo
-    {
-        private Integer employeeId;
-        private String  firstName;
-        private String  lastName;
-        private Integer departmentId;
-
-        public Integer getEmployeeId()
-        {
-            return employeeId;
-        }
-
-        public void setEmployeeId(Integer employeeId)
-        {
-            this.employeeId = employeeId;
-        }
-
-        public Integer getDepartmentId()
-        {
-            return departmentId;
-        }
-
-        public void setDepartmentId(Integer departmentId)
-        {
-            this.departmentId = departmentId;
-        }
-
-        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;
-        }
-    }
-
-    private List<Employee> employeeBeanList = null;
-    private Options        departments      = null;
-
-    // ------- Action Construction -------
-
-    public EmployeeListAction()
-    {
-    	// Empty
-    }
-
-    // ------- Action Properties -------
-
-    public SearchInfo getSearchInfo()
-    {
-        return (SearchInfo) getActionBean(SearchInfo.class, true);
-    }
-
-    // -------- Employee Bean List --------
-
-    public List<Employee> getEmployees()
-    {
-        return employeeBeanList;
-    }
-
-    // -------- Action Methods --------
-
-    public String doInit()
-    {
-        // check webservice availability!
-        checkWebService();
-        return SEARCH;
-    }
-
-    public String doReset()
-    {
-        removeActionBean(SearchInfo.class);
-        // check webservice availability!
-        checkWebService();
-        return SEARCH;
-    }
-
-    public String doQuery()
-    {
-        // Reset list status
-        return doList();
-    }
-
-    public String doList()
-    {
-        SearchInfo si = getSearchInfo();
-        // check webservice availability!
-        if (checkWebService())
-        {
-            employeeBeanList = getEmployeeServiceClient().searchEmployee(si.getEmployeeId(), si.getFirstName(), si.getLastName(),
-                                                           si.getDepartmentId());
-            return LIST;
-        } else
-            return SEARCH;
-
-    }
-
-    public Options getDepartments()
-    {
-        if (!isServiceAvailable())
-            return new Options(); // Webservice is note not available ... so do nothing
-
-        if (departments == null)
-            departments = EmployeeRecord.getDepartments(new SampleContext());
-
-        return departments;
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java
deleted file mode 100644
index 71c888f..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import java.util.Locale;
-import java.util.Map;
-
-import org.apache.empire.commons.OptionEntry;
-import org.apache.empire.commons.Options;
-import org.apache.empire.struts2.websample.web.SampleErrors;
-import org.apache.empire.struts2.websample.web.SampleUser;
-import org.apache.empire.struts2.websample.web.actiontypes.SampleAction;
-
-import com.opensymphony.xwork2.config.entities.Parameterizable;
-
-public class LoginAction extends SampleAction implements Parameterizable // StaticParametersInterceptor
-{
-    // Login Targets
-    public static final String INPUT   = "input";
-    public static final String SUCCESS = "success";
-
-    // LoginInfo
-    public class LoginInfo
-    {
-        private String name;
-        private String pwd;
-        private String locale;
-
-        public String getName()
-        {
-            return name;
-        }
-
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-
-        public String getPwd()
-        {
-            return pwd;
-        }
-
-        public void setPwd(String pwd)
-        {
-            this.pwd = pwd;
-        }
-
-        public String getLocale()
-        {
-            return locale;
-        }
-
-        public void setLocale(String locale)
-        {
-            this.locale = locale;
-        }
-    }
-
-    // Login Action
-    public LoginAction()
-    {
-        // Constructor
-    }
-
-    // Login required for this action
-    @Override
-    public boolean loginRequired()
-    {
-        return false;
-    }
-
-    // Login form bean
-    private LoginInfo loginInfo = new LoginInfo();
-
-    public LoginInfo getLoginInfo()
-    {
-        return loginInfo;
-    }
-
-    public String doInit()
-    {
-        SampleUser user = getSession().getUser();
-        if (user != null)
-            loginInfo.setName(user.getUserId());
-        
-        // check webservice availability!
-        checkWebService();
-        
-        // Done
-        return INPUT;
-    }
-
-    public String doLogin()
-    {
-        String userID = loginInfo.getName();
-        String userName = userID;
-
-        if (userID == null || userID.length() == 0)
-        {
-        	setActionError(SampleErrors.InvalidPassword);
-            return INPUT;
-        }
-
-        // Login
-        SampleUser user = new SampleUser(userID, userName);
-        user.setLocale(new Locale(loginInfo.getLocale()));
-        getSession().setUser(user);
-        // Done
-        return SUCCESS;
-    }
-
-    public String doLogout()
-    {
-        getSession().setUser(null);
-        // check webservice availability!
-        checkWebService();
-        return INPUT;
-    }
-
-    public String doError()
-    {
-        log.info("An error as occurred");
-        return INPUT;
-    }
-
-    /*
-     * Implementation of Parameterizable
-     */
-
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "Map<String, Object>" to "Map<String, String>"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    private Map<String, String> actionConfigParams = null;
-
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "String Object" to "String value"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    public void addParam(String name, String value)
-    {
-        actionConfigParams.put(name, value);
-    }
-
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "Map<String, Object>" to "Map<String, String>"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    public Map<String, String> getParams()
-    {
-        return actionConfigParams;
-    }
-	
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "Map<String, Object>" to "Map<String, String>"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    public void setParams(Map<String, String> actionConfigParams)
-    {
-        this.actionConfigParams = actionConfigParams;
-    }
-    
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: added method "asKey(String key)"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    @Override
-	public boolean hasKey(String key) {
-    	return this.actionConfigParams.containsKey(key);
-    }
-
-    public Options getLanguages()
-    {
-        Options o = new Options();
-        o.add(new OptionEntry(Locale.ENGLISH, Locale.ENGLISH.getDisplayLanguage()));
-        o.add(new OptionEntry(Locale.GERMAN, Locale.GERMAN.getDisplayLanguage()));
-        return o;
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java
deleted file mode 100644
index b1944b4..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-import org.apache.empire.data.Record;
-import org.apache.empire.data.bean.BeanClass;
-import org.apache.empire.data.bean.BeanRecordProxy;
-import org.apache.empire.exceptions.ItemNotFoundException;
-import org.apache.empire.exceptions.ObjectNotValidException;
-import org.apache.empire.struts2.actionsupport.BeanActionSupport;
-import org.apache.empire.struts2.actionsupport.SessionPersistence;
-import org.apache.empire.struts2.exceptions.InvalidFormDataException;
-
-import com.opensymphony.xwork2.interceptor.NoParameters;
-
-
-/**
- * BeanDetailAction
- * <p>
- * This class allows using a JavaBean or Data Transfer Object (DTO) for form data processing.
- * Metadata for the Beans should be provided using the BeanClass and BeanProperty classes.
- * </p>
- * @author Rainer
- */
-public abstract class BeanDetailAction<T> extends DetailAction
-    implements NoParameters // set this to provide custom parameter handling
-{
-    protected final BeanActionSupport<T> beanSupport;
-    
-    /**
-     * Constructs a BeanDetailAction from a BeanRecordProxy object
-     * @param record the BeanRecordProxy for the bean 
-     * @param persistence persistence level
-     */
-    public BeanDetailAction(BeanRecordProxy<T> record, SessionPersistence persistence)
-    {
-        beanSupport = new BeanActionSupport<T>(this, record, persistence);
-    }
-
-    /**
-     * Constructs a BeanDetailAction from a BeanClass definition
-     * @param beanClass the bean class defining the bean's metadata 
-     * @param persistence persistence level
-     */
-    public BeanDetailAction(BeanClass beanClass, SessionPersistence persistence)
-    {
-        beanSupport = new BeanActionSupport<T>(this, beanClass, persistence);
-    }
-    
-    /**
-     * Returns the Record interface implmentation for the bean.
-     * @return the Record interface implmentation for the bean. 
-     */
-    public Record getRecord() 
-    {
-        return beanSupport.getRecord();
-    }
-
-    @Override
-    public String doCreate() 
-    {
-        T bean = createBean();
-        if (bean==null)
-        {   // Must have an action error set!
-            if (!hasActionError())
-                setActionError(new ObjectNotValidException(beanSupport.getRecordPropertyName()));
-            return doCancel();
-        }
-        beanSupport.setData(bean);
-        return INPUT;
-    }
-
-    @Override
-    public String doLoad() 
-    {
-        // Read Record
-        Object[] key = beanSupport.getActionParamKey();
-        if (key!=null)
-        {   // Load the bean
-            T bean = loadBean(key);
-            if (bean==null)
-            {   // Must have an action error set!
-                if (!hasActionError())
-                    setActionError(new ItemNotFoundException(beanSupport.getRecordKeyString()));
-                return doCancel();
-            }
-            beanSupport.setData(bean);
-        }
-        // Check if record is valid
-        if (beanSupport.isValid()==false)
-        {
-            setActionError(new InvalidFormDataException());
-            return doCancel();
-        }
-        // Test
-        return INPUT;
-    }
-
-    @Override
-    public String doDelete() 
-    {
-        Object[] key = null;
-        if (beanSupport.hasActionKey(true))
-        {
-            if (beanSupport.getActionParamNewFlag()==false)
-                key = beanSupport.getActionParamKey();
-        }
-        else
-        {   // Get the bean key
-            if (beanSupport.getRecord().isNew()==false)
-                key = beanSupport.getRecordKeyValues();
-        }
-        // Delete the bean
-        if (key!=null && deleteBean(key)==false)
-        {   // An Error has occurred;
-            return doCancel();
-        }
-        // Clear Data
-        beanSupport.setData(null);
-        return RETURN;
-    }
-
-    @Override
-    public String doSave() {
-
-        // bean Support
-        if (beanSupport.isValid()==false)
-        {   // Create new or reload existing item
-            T bean;
-            if (beanSupport.getActionParamNewFlag())
-            {   // crate new Item
-                bean = createBean();
-            }
-            else
-            {   // reload existing item
-                bean = loadBean(beanSupport.getActionParamKey());
-            }
-            if (bean==null)
-            {   // Must have an action error set!
-                if (!hasActionError())
-                    setActionError(new ItemNotFoundException(beanSupport.getRecordKeyString()));
-                return doCancel();
-            }
-            beanSupport.setData(bean);
-        }
-        else if (beanSupport.getRecord().isNew()==false) 
-        {   // Check whether we have the right key
-            if (!beanSupport.checkKey())
-            {   // Record's don't match
-                setActionError(new InvalidFormDataException());
-                return doCancel();
-            }
-        }
-        // LoadFormData 
-        if (beanSupport.loadFormData()==false)
-        {   // Error loading form data
-            return INPUT;
-        }
-        
-        // Save the record
-        boolean isNew = beanSupport.getRecord().isNew();
-        if (saveBean(beanSupport.getData(), isNew)==false)
-        {   // Error saving bean
-            return INPUT;
-        }
-        
-        // Record has been saved successfully
-        // beanSupport.updateSessionKey();
-        beanSupport.setData(null);
-        
-        return RETURN;
-    }
-    
-    // ------- overridables -------
-    
-    /**
-     * Returns the bean for the supplied object key.
-     * If an error occurs the function must set an action error and return null.
-     * @return the bean object
-     */
-    public abstract T createBean();
-    
-    /**
-     * Returns the bean for the supplied object key.
-     * If an error occurs the function must set an action error and return null.
-     * @param key the bean's key values
-     * @return the bean object
-     */
-    public abstract T loadBean(Object[] key);
-    
-    /**
-     * Saves a bean object 
-     * @param bean 
-     * @param isNew true the bean is a newly created object or false otherwise
-     * @return true if the bean has been stored successfully or false otherwise
-     */
-    public abstract boolean saveBean(T bean, boolean isNew);
-    
-    /**
-     * Deletes a bean object
-     * @param key 
-     * @return true if the bean has been stored successfully or false otherwise
-     */
-    public abstract boolean deleteBean(Object[] key);
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java
deleted file mode 100644
index fc9103f..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-
-public abstract class DetailAction extends SampleAction
-{
-    /**
-     * Action mappings
-     */
-    public static final String INPUT  = "input";
-    public static final String RETURN = "return";
-
-    // Detail Action
-    public DetailAction()
-    {
-        // Default constructor
-    }
-        
-    public abstract String doCreate();
-    
-    public abstract String doLoad();
-
-    public abstract String doSave();
-
-    public abstract String doDelete();
-
-    // Optional overridable
-    public String doCancel()
-    {
-        return RETURN;
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/SampleAction.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/SampleAction.java
deleted file mode 100644
index 74423e4..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/SampleAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-import java.util.Locale;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.samples.cxf.wssample.client.EmployeeServiceClient;
-import org.apache.empire.struts2.action.WebAction;
-import org.apache.empire.struts2.websample.common.Errors;
-import org.apache.empire.struts2.websample.web.SampleApplication;
-import org.apache.empire.struts2.websample.web.SampleRequest;
-import org.apache.empire.struts2.websample.web.SampleSession;
-
-public abstract class SampleAction extends WebAction
-{
-    // Logger
-    @SuppressWarnings("hiding")
-	protected static Log log = LogFactory.getLog(SampleAction.class);
-    private EmployeeServiceClient service = null;
-
-    public SampleAction()
-    {
-        // Constructor
-    }
-
-    // Login required for this action
-    @Override
-    public boolean loginRequired()
-    {
-        return (getSession().getUser() == null);
-    }
-
-    @Override
-    public Locale getLocale()
-    {
-        if (getRequest().getSession().getUser() == null)
-            return Locale.ENGLISH;
-        else
-            return getRequest().getSession().getUser().getLocale();
-    }
-
-    // Request
-    public static SampleRequest getRequest()
-    {
-        return SampleRequest.getInstance();
-    }
-
-    // Application getters
-    protected SampleApplication getApplication()
-    {
-        return getRequest().getApplication();
-    }
-
-    protected SampleSession getSession()
-    {
-        return getRequest().getSession();
-    }
-
-    protected boolean checkWebService()
-    {
-        if (isServiceAvailable())
-            return true;
-        // Serv
-        setActionError(Errors.WebServiceNotAvailable);
-        return false;
-    }
-    
-    protected boolean isServiceAvailable()
-    {
-        try
-        {
-            return getEmployeeServiceClient().ping();
-        } catch (Exception e)
-        {
-            return false;
-        }
-    }
-    
-    protected EmployeeServiceClient getEmployeeServiceClient()
-    {
-        if (service==null)
-            service= SampleApplication.getInstance().getEmployeeServiceClient();
-        return service;
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanClass.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanClass.java
deleted file mode 100644
index f8d4bd3..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanClass.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.ws;
-
-import org.apache.empire.data.DataType;
-import org.apache.empire.data.bean.BeanClass;
-import org.apache.empire.data.bean.BeanDomain;
-import org.apache.empire.data.bean.BeanProperty;
-
-/**
- * Base class definition for all database tables
- * Automatically generates a message-key for the field title
- * e.g. for the column EMPLOYEES.DATE_OF_BIRTH
- * it generates the key "!field.title.employees.dateOfBirth";
- */
-public class SampleBeanClass extends BeanClass
-{
-    public final String MESSAGE_KEY_PREFIX = "!field.title.";
-    
-    public SampleBeanClass(String name, BeanDomain dom)
-    {
-        super(name);
-    }
-
-    @Override
-    protected void addProp(BeanProperty prop)
-    {
-        // Set Translation Title
-        String name = prop.getBeanPropertyName();  
-        String tbl = getName().toLowerCase();   
-        String key = MESSAGE_KEY_PREFIX + tbl + "." + name;
-        prop.setTitle(key);
-
-        // Set Default Control Type
-        DataType type = prop.getDataType();
-        if(type==DataType.BOOL)
-        	prop.setControlType("checkbox");
-        else if("".equals(type))
-        {
-        	// FIXME this case never happens, using equals between String and enum
-        	prop.setControlType("text");
-        }
-
-        // Add Column
-        super.addProp(prop);
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java
deleted file mode 100644
index 0b6936b..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.ws;
-
-import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataType;
-import org.apache.empire.data.bean.BeanDomain;
-import org.apache.empire.data.bean.BeanProperty;
-import org.apache.empire.struts2.websample.web.SampleApplication;
-
-
-public class SampleBeanDomain extends BeanDomain
-{
-    // Static Access
-    public static SampleBeanDomain getInstance()
-    {
-        return SampleApplication.getInstance().getBeanDomain();
-    }
-    
-    /**
-     * Table definition for Departments
-     */
-    public static class Departments extends SampleBeanClass
-    {
-        public final BeanProperty C_DEPARTMENT_ID;
-        public final BeanProperty C_NAME;
-        public final BeanProperty C_HEAD;
-        public final BeanProperty C_BUSINESS_UNIT;
-        public final BeanProperty C_UPDATE_TIMESTAMP;
-
-        public Departments(BeanDomain dom)
-        {
-            super("DEPARTMENTS", dom);
-            // ID
-            C_DEPARTMENT_ID   = addProp("departmentId",    DataType.AUTOINC,       0, true);
-            C_NAME            = addProp("name",            DataType.VARCHAR,      80, true);
-            C_HEAD            = addProp("head",            DataType.VARCHAR,      80, false);
-            C_BUSINESS_UNIT   = addProp("businessUnit",    DataType.VARCHAR,       4, true);
-            C_UPDATE_TIMESTAMP= addProp("updateTimestamp", DataType.TIMESTAMP,     0, true, true);
-        
-            // Primary Key
-            setKeyColumn(C_DEPARTMENT_ID);
-            // Set other Indexes
-            //addIndex("DEARTMENT_NAME_IDX", true, new DBColumn[] { C_NAME });
-            // Set timestamp column for save updates
-            //setTimestampColumn(C_UPDATE_TIMESTAMP);
-        }  
-    }   
-
-    /**
-     * Table definition for Persons
-     */
-    public static class Employees extends SampleBeanClass
-    {
-        public final BeanProperty C_EMPLOYEE_ID;
-        public final BeanProperty C_SALUTATION;
-        public final BeanProperty C_FIRSTNAME;
-        public final BeanProperty C_LASTNAME;
-        public final BeanProperty C_DATE_OF_BIRTH;
-        public final BeanProperty C_DEPARTMENT_ID;
-        public final BeanProperty C_GENDER;
-        public final BeanProperty C_PHONE_NUMBER;
-        public final BeanProperty C_EMAIL;
-        public final BeanProperty C_RETIRED;
-        public final BeanProperty C_UPDATE_TIMESTAMP;
-
-        // Konstruktor f�r Tabelle
-        public Employees(BeanDomain dom)
-        {
-            super("EMPLOYEES", dom);
-            // ID
-            C_EMPLOYEE_ID     = addProp("employeeId",		DataType.AUTOINC,      0, true);
-            C_SALUTATION      = addProp("salutation",       DataType.VARCHAR,     20, false);
-            C_FIRSTNAME       = addProp("firstname",        DataType.VARCHAR,     40, true);
-            C_LASTNAME        = addProp("lastname",         DataType.VARCHAR,     40, true);
-            C_DATE_OF_BIRTH   = addProp("dateOfBirth",		DataType.DATE,         0, false);
-            C_DEPARTMENT_ID   = addProp("departmentId",		DataType.INTEGER,      0, true,		"select");
-            C_GENDER          = addProp("gender",           DataType.VARCHAR,      1, false,	"select");
-            C_PHONE_NUMBER    = addProp("phoneNumber",		DataType.VARCHAR,     40, false, 	"phone");
-            C_EMAIL           = addProp("email",            DataType.VARCHAR,     80, false);
-            C_RETIRED         = addProp("retired",          DataType.BOOL,         0, true);
-            C_UPDATE_TIMESTAMP= addProp("updateTimestamp",	DataType.TIMESTAMP,    0, true, "    text", true);
-        
-            // Primary Key
-            setKeyColumn(C_EMPLOYEE_ID);
-            
-            Options genders = new Options();
-            genders.set("M", "!option.employee.gender.male");
-            genders.set("F", "!option.employee.gender.female");
-            C_GENDER.setOptions(genders);
-        }    
-    }   
-
-    // Tabellen
-    public final Departments  T_DEPARTMENTS = new Departments(this);
-    public final Employees    T_EMPLOYEES   = new Employees(this);
-    
-    public SampleBeanDomain()
-    {
-    	super("");
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleRecord.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleRecord.java
deleted file mode 100644
index a465598..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleRecord.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.ws;
-
-import org.apache.empire.data.bean.BeanClass;
-import org.apache.empire.data.bean.BeanRecordProxy;
-import org.apache.empire.struts2.websample.web.SampleContext;
-
-public class SampleRecord<T> extends BeanRecordProxy<T>
-{
-    // DBRecord members
-    protected SampleContext context;
-
-    public SampleRecord(SampleContext context, T data, BeanClass beanClass)
-    {
-        super(data, beanClass);
-        this.context = context;
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/DepartmentRecord.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/DepartmentRecord.java
deleted file mode 100644
index 13c76e5..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/DepartmentRecord.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.ws.records;
-
-import org.apache.empire.samples.cxf.wssample.common.Department;
-import org.apache.empire.struts2.websample.web.SampleContext;
-import org.apache.empire.struts2.websample.ws.SampleBeanDomain;
-import org.apache.empire.struts2.websample.ws.SampleRecord;
-
-public class DepartmentRecord extends SampleRecord<Department>
-{
-    public static final SampleBeanDomain.Departments T = SampleBeanDomain.getInstance().T_DEPARTMENTS;  
-
-    // Department Record
-    public DepartmentRecord(SampleContext context)
-    {
-        super(context, new Department(), T);
-    }
-} 
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/EmployeeRecord.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/EmployeeRecord.java
deleted file mode 100644
index 891a408..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/records/EmployeeRecord.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.ws.records;
-
-import java.util.List;
-
-import org.apache.empire.commons.OptionEntry;
-import org.apache.empire.commons.Options;
-import org.apache.empire.data.Column;
-import org.apache.empire.samples.cxf.wssample.common.Department;
-import org.apache.empire.samples.cxf.wssample.common.Employee;
-import org.apache.empire.struts2.websample.web.SampleContext;
-import org.apache.empire.struts2.websample.ws.SampleBeanDomain;
-import org.apache.empire.struts2.websample.ws.SampleRecord;
-
-
-public class EmployeeRecord extends SampleRecord<Employee>
-{
-    public static final SampleBeanDomain.Employees T = SampleBeanDomain.getInstance().T_EMPLOYEES;  
- 
-    // Department Record
-    public EmployeeRecord(SampleContext context)
-    {
-        super(context, new Employee(), T);
-    }
-
-    @Override
-    public Options getFieldOptions(Column column) {
-    	
-    	Options opts = null;
-    	if(column.equals(T.C_DEPARTMENT_ID))
-    	{
-    		opts = getDepartments(context);
-    	}
-    	else
-    	{
-    		opts = super.getFieldOptions(column);
-    	}
-    	return opts;
-    }
-    
-    public static Options getDepartments(SampleContext context)
-    {
-    	Options opts = new Options();
-    	List<Department> _deps = context.getEmployeeServiceClient().getDepartments();
-    	for(Department d: _deps)
-    	{
-    		opts.add(new OptionEntry(d.getDepartmentId(),d.getName()));
-    	}
-    	return opts;
-    }
-    
-    @Override
-    public boolean isNew()
-    {
-        return getBean().isNew();
-    }
-    
-    @Override
-    public boolean isValid()
-    {   
-
-        return super.isValid() && (getBean().getEmployeeId()!=-1 || getBean().isNew());
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.dtd b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.dtd
deleted file mode 100644
index 7292bc0..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
-                               categoryFactory?)>
-
-<!-- The "threshold" attribute takes a level value such that all -->
-<!-- logging statements with a level equal or below this value are -->
-<!-- disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging   -->
-<!-- statements.                                                         -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository	 -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field   --> 
-<!-- keeps its old value.                                                -->
-     
-<!ATTLIST log4j:configuration
-  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  threshold                (all|debug|info|warn|error|fatal|off|null) "null"
-  debug                    (true|false|null)  "null"
->
-
-<!-- renderer elements allow the user to customize the conversion of  -->
-<!-- message objects to String.                                       -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
-  renderedClass  CDATA #REQUIRED
-  renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
-<!ATTLIST appender
-  name 		ID 	#REQUIRED
-  class 	CDATA	#REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
-  class		CDATA	#REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
-  class		CDATA	#REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
-<!ATTLIST errorHandler
-   class        CDATA   #REQUIRED 
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
-  ref IDREF #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  name		CDATA   #REQUIRED
-  value		CDATA	#REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
-  class         CDATA   #IMPLIED
-  name		CDATA	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
-  name		ID	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory 
-   class        CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
-  ref IDREF #REQUIRED
->
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!--                       A logging event                                -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
-  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  version                (1.1|1.2) "1.2" 
-  includesLocationInfo   (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
-                       log4j:locationInfo?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
-    logger     CDATA #REQUIRED
-    level      CDATA #REQUIRED
-    thread     CDATA #REQUIRED
-    timestamp  CDATA #REQUIRED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
-  class  CDATA	#REQUIRED
-  method CDATA	#REQUIRED
-  file   CDATA	#REQUIRED
-  line   CDATA	#REQUIRED
->
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.xml b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.xml
deleted file mode 100644
index bedfd57..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
-	<appender name="default" class="org.apache.log4j.ConsoleAppender">
-		<!-- layout class="org.apache.log4j.TTCCLayout"/ -->
-		<layout class="org.apache.log4j.PatternLayout">
-			<!-- param name="ConversionPattern" value="NSB(%c) %-5p %m	at %l%n"/ -->
-			<param name="ConversionPattern" value="%-5p: %m		at %l %n"/>
-		</layout>
-	</appender>
-
-	<!-- log detail configuration -->
-
-	<logger name="org.apache" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.struts2" additivity="false">
-		<level value="info"/>
-		<appender-ref ref="default"/>
-	</logger>
-	
-	<logger name="com.opensymphony.xwork" additivity="false">
-		<level value="info"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="freemarker" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="com.mevipro" additivity="false">
-		<level value="debug"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.commons" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.db" additivity="false">
-		<level value="debug"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.struts2" additivity="false">
-		<level value="debug"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.struts2.websample" additivity="false">
-		<level value="info"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<root>
-		<priority value="warn"/>
-		<appender-ref ref="default"/>
-	</root>
-
-</log4j:configuration>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_de.properties b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_de.properties
deleted file mode 100644
index 8216d5e..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_de.properties
+++ /dev/null
@@ -1,93 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#fields
-field.title.employees.employeeId=Mitarbeiter Nr.
-field.title.employees.salutation=Anrede
-field.title.employees.firstname=Vorname
-field.title.employees.lastname=Nachname
-field.title.employees.dateOfBirth=Geburtsdatum
-field.title.employees.departmentId=Abteilung
-field.title.employees.gender=Geschlecht
-field.title.employees.phoneNumber=Telefonnummer
-field.title.employees.email=E-Mail
-field.title.employees.retired=Ausgeschieden
-field.title.employees.updateTimestamp=Zuletzt ge�ndert am
-field.title.departments.name=Abteilungsname
-field.title.departments.head=Abteilugnsleiter
-
-#options
-option.employee.gender.male=M�nnlich
-option.employee.gender.female=Weiblich
-
-#labels
-application.title=Mitarbeiterverwaltung (via WebService)
-label.employees=Mitarbeiterliste
-label.employees.beanList=Mitarbeiterliste (Bean-Liste)
-label.employees.reader=Mitarbeiterliste (DBReader)
-label.delete=L�schen
-label.edit=Bearbeiten
-label.employee.edit=Eintrag bearbeiten
-label.employee.add=Eintrag hinzuf�gen
-label.name=Name
-label.gender=Geschlecht
-label.age=Alter
-label.department=Abteilung
-label.user.Name=Name
-label.user.Pwd=Passwort
-label.user.Language=Sprache
-
-page.label.login=Anmelden
-page.label.loginHint=Hinweis: Geben Sie einen beliebigen Benutzernamen und Kennwort an.
-page.label.logininfo=Sie sind angemeldet als:
-page.label.search=Mitarbeiter suchen
-page.label.list=Mitarbeiter ausw�hlen
-page.label.update=Mitarbeiter bearbeiten
-page.label.add=Mitarbeiter hinzuf�gen
-
-#button labels
-button.label.login=Anmelden
-button.label.search=Suchen...
-button.label.save=Speichern
-button.label.cancel=Abbrechen
-button.label.delete=L�schen
-
-#link labels
-link.label.addemployee=Neuen Eintrag anlegen
-link.label.newSearch=neue Suche
-link.label.edit=Bearbeiten
-link.label.delete=L�schen
-link.label.logout=Logout
-link.label.search=Suchen
-
-##-- errors
-errors.prefix=<span style="color:red;font-weight:bold;">
-errors.suffix=</span>
-
-error.invalidpassword=Der eingegebene Benutzername ist ung�ltig (Es ist mindestens ein Zeichen erforderlich!)
-error.web.recordsDontMatch=The form submitted is invalid for the current context.
-error.web.columnNotFound=Die Spalte {0} wurde nicht gefunden!
-error.web.fieldError=Feld {0}: {1}
-error.web.input.integerFormat=Ung�ltiges Zahlenformat
-error.web.input.numberFormat=Ung�ltiges Zahlenformat
-error.web.input.dateFormat=Ung�ltiges Datumsformat
-error.web.input.date.notime=Es wurde keine Zeit angegeben
-error.web.input.required=Das Feld ist eingabepflichtig 
-error.web.input.outOfRange=Der Wert muss zwischen {0} und {1} liegen.
-error.web.input.textTooShort=Der Wert muss mindestens {0} Zeichen enthalten. 
-
-error.wsnav= Der WebService antwortet nicht!
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_en.properties b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_en.properties
deleted file mode 100644
index c6451c2..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/messages_en.properties
+++ /dev/null
@@ -1,90 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#fields
-field.title.employees.employeeId=Employee ID
-field.title.employees.salutation=Salutation
-field.title.employees.firstname=Firstname
-field.title.employees.lastname=Lastname
-field.title.employees.dateOfBirth=Date of Birth
-field.title.employees.departmentId=Department
-field.title.employees.gender=Gender
-field.title.employees.phoneNumber=Phone
-field.title.employees.email=E-Mail
-field.title.employees.retired=Retired
-field.title.employees.updateTimestamp=Last change
-field.title.departments.name=Department
-field.title.departments.head=Head of Dept.
-
-#options
-option.employee.gender.male=Male
-option.employee.gender.female=Female
-
-#labels
-application.title=Employee Management Application (via WebService)
-label.employees=List of employees
-label.employees.beanList=Employees (Bean-List)
-label.employees.reader=Employees (DBReader)
-label.delete=Delete
-label.edit=Edit
-label.employee.edit=Employee details
-label.employee.add=Add employee
-label.department=Department
-label.user.Name=Name
-label.user.Pwd=Password
-label.user.Language=Language
-
-page.label.login=Login
-page.label.loginHint=Hint: enter any non null username and password.
-page.label.logininfo=You are logged in as:
-page.label.search=Search employee
-page.label.list=Select employee
-page.label.update=Edit employee details
-page.label.add=Add new employee
-
-#button labels
-button.label.login=Login
-button.label.search=Search
-button.label.save=Save
-button.label.cancel=Cancel
-button.label.delete=Delete
-
-#link labels
-link.label.addemployee=Add new employee
-link.label.newSearch=new Search
-link.label.edit=Edit
-link.label.delete=Delete
-link.label.logout=Logout
-link.label.search=Search
-
-##-- errors
-errors.prefix=<span style="color:red;font-weight:bold;">
-errors.suffix=</span>
-
-error.invalidpassword=The username is invalid (At least one character is required!)
-error.web.recordsDontMatch=The form submitted is invalid for the current context.
-error.web.columnNotFound=The column {0} has not been found!
-error.web.fieldError=Field {0}: {1}
-error.web.input.integerFormat=Invalid Integer format
-error.web.input.numberFormat=Invalid number format
-error.web.input.dateFormat=Invalid date format
-error.web.input.date.notime=No time specified.
-error.web.input.required=This field is required 
-error.web.input.outOfRange=The value must be in the range of {0} and {1}.
-error.web.input.textTooShort=The value must contain at least {0} characters. 
-
-error.wsnav= The webservice is not responding!
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.properties b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.properties
deleted file mode 100644
index ce88c63..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-struts.custom.i18n.resources=messages
-struts.devMode=true
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.xml b/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.xml
deleted file mode 100644
index 0fb6c3e..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/resources/struts.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<!DOCTYPE struts PUBLIC
-    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
-    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
-<struts>
-
-    <!-- 
-    <constant name="struts.devMode" value="true" />
-    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
-     -->
-
-	<!-- Configuration for the default package. -->
-	<package name="sample" namespace="" extends="struts-default">
-
-        <interceptors>
-			<!-- org.apache.empire.struts2 Interceptors -->
-	        <interceptor name="actionBasics" class="org.apache.empire.struts2.interceptors.ActionBasicsInterceptor" >
-	        	<param name="errorAction">login!doError</param>
-	        </interceptor>
-
-			<!-- org.apache.empire.struts2 Interceptors -->
-	        <interceptor name="actionAccess" class="org.apache.empire.struts2.interceptors.ActionAccessInterceptor" >
-	        	<param name="loginAction">login!doInit</param>
-	        	<param name="accessDeniedAction">login!doInit</param>
-	        </interceptor>
-	
-	        <!-- Basic stack -->
-	        <interceptor-stack name="sampleStack">
-	            <interceptor-ref name="actionBasics"/>
-	            <interceptor-ref name="actionAccess"/>
-	            <!-- interceptor-ref name="servlet-config"/ -->
-	            <!-- interceptor-ref name="prepare"/ -->
-	            <!-- interceptor-ref name="checkbox"/ -->
-	            <interceptor-ref name="params"/> 
-	            <!-- interceptor-ref name="conversionError"/ -->
-	        </interceptor-stack>
-	
-        </interceptors>
-
-		<!-- Default interceptor stack. -->
-		<default-interceptor-ref name="sampleStack"/>
-
-	    <!-- Static Params Interceptor -->
-		<action name="login" class="org.apache.empire.struts2.websample.web.actions.LoginAction" method="doInit">
-			<result name="input">/jsp/login.jsp</result>
-			<result name="success" type="redirectAction">employeeList!doInit</result>
-		</action>
-
-		<action name="employeeList" class="org.apache.empire.struts2.websample.web.actions.EmployeeListAction" method="doInit">
-			<result name="search">/jsp/employeeSearch.jsp</result>
-			<result name="list">/jsp/employeeList.jsp</result>
-		</action>
-
-		<action name="employeeDetail" class="org.apache.empire.struts2.websample.web.actions.EmployeeDetailAction" method="doLoad">
-			<result name="input">/jsp/employeeDetails.jsp</result>
-			<result name="return" type="redirectAction">employeeList!doList</result>
-		</action>
-
-	</package>
-</struts>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/config.xml b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/config.xml
deleted file mode 100644
index 3d6fc87..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/config.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<config>
-
-	<properties>
-		<!-- provider name must match the property-section containing the connection data -->
-		<databaseProvider>webservice</databaseProvider>
-	</properties>
-
-	<properties-webservice>
-		<!-- Service Address properties for a WebService connection -->
-		<serviceHost>http://localhost</serviceHost>
-		<servicePort>8081</servicePort>
-		<serviceName>employeeService</serviceName>
-	</properties-webservice>
-</config>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/empire-tags.tld b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/empire-tags.tld
deleted file mode 100644
index 8155b43..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/empire-tags.tld
+++ /dev/null
@@ -1,2040 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<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.1</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>true</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>true</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>true</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>true</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>true</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>recordProperty</name>
-      <required>false</required>
-	  <rtexprvalue>true</rtexprvalue>
-	  <type>java.lang.String</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>cssClass</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>cssOddStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnClass</name>
-      <required>false</required>
-      <rtexprvalue>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>urlType</name>
-      <required>false</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>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>true</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>true</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>urlType</name>
-      <required>false</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>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>true</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>urlType</name>
-      <required>false</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>true</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>urlType</name>
-      <required>false</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>true</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>true</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>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>true</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>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>column</name>
-      <required>false</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.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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>cssClass</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>true</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>urlType</name>
-      <required>false</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>onclick</name>
-      <required>false</required>
-      <rtexprvalue>true</rtexprvalue>
-	  <type>java.lang.Object</type>
-    </attribute>
-    <attribute>
-      <name>cssClass</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/web.xml b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 424f751..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-						
-    <display-name>Empire WSWebSample</display-name>
-
-    <welcome-file-list>
-        <welcome-file>index.html</welcome-file>
-    </welcome-file-list>
-
-    <filter>
-        <filter-name>struts2</filter-name>
-        <filter-class>org.apache.empire.struts2.web.EmpireFilterDispatcher</filter-class>
-		<init-param>
-			<param-name>ApplicationClass</param-name>
-			<param-value>org.apache.empire.struts2.websample.web.SampleApplication</param-value>
-		</init-param>
-		<init-param>
-			<param-name>SessionClass</param-name>
-			<param-value>org.apache.empire.struts2.websample.web.SampleSession</param-value>
-		</init-param>
-		<init-param>
-			<param-name>RequestClass</param-name>
-			<param-value>org.apache.empire.struts2.websample.web.SampleRequest</param-value>
-		</init-param>
-		<!-- init-param>
-			<param-name>config</param-name>
-			<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
-		</init-param -->
-    </filter>
-
-    <filter-mapping>
-        <filter-name>struts2</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
-
-	<!-- Tiles 
-	<listener>
-		<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
-	</listener>
-
-	<context-param>
-		<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
-		<param-value>/WEB-INF/tiles-def.xml</param-value>
-	</context-param>
-	-->
-    
-</web-app>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/css/main.css b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/css/main.css
deleted file mode 100644
index 246d0ed..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/css/main.css
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-html, body  {
-    margin-left: 10px;
-    margin-right: 10px;
-    margin-bottom: 5px;
-    color: black;
-    background-color: white;
-    font-family: Verdana, Arial, sans-serif;
-    font-size:12px;
-}
-.titleDiv {
-    background-color: #EFFBEF;
-    font-weight:bold;
-    font-size:18px;
-    text-align:left;
-    padding-left:10px;
-    padding-top:10px;
-    padding-bottom:10px;
-    border:2px solid #8F99EF;
-}
-h1 { font-weight:bold; color: brown; font-size:15px; text-align:left;}
-
-td { font-size:12px; padding-right:10px; }
-th { text-align:left; font-weight:bold; font-size:13px; padding-right:10px; }
-.tdLabel { font-weight: bold; white-space:nowrap; vertical-align:top;}
-
-A { color:#4A825A; text-decoration:none;}
-A:link { text-decoration:none;}
-A:visited { text-decoration:none;}
-A:hover { text-decoration:none; color: red;}
-
-.borderAll {
-    border: 2px solid #8F99EF;
-}
-
-.butStnd {
-    font-family:arial,sans-serif;
-    font-size:11px;
-    width:105px;
-    background-color:#DCDFFA ;color:#4A825A;font-weight:bold;
-}
-
-ul.errorList {
-	border: 2px solid #C02010;
-	background-color: #FEF4F3;
-	width: 737px;
-	margin: 0 0 4px 0;
-	padding: 5px 20px 5px 20px;
-	list-style: none;
-}
-ul.errorList li {
-	padding-left: 0;
-	background-repeat: no-repeat;
-	background-position: 0 2px;
-}
-
-.errorMessage {
-    color: black;
-    font-weight: bold;
-}
-
-
-div.actionMessage {
-	border: 2px solid #33C010;
-	background-color: #F5FEF3;
-	width: 737px;
-	margin: 0 0 4px 0;
-	padding: 5px 20px 5px 20px;
-	font-weight: bold;
-	list-style: none;
-	background-repeat: no-repeat;
-	background-position: 5px 6px;
-}
-
-
-.even { background-color: #EFFBEF; }
-.odd { background-color: white; }
-
-.nowrap { white-space:nowrap; }
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/index.html b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/index.html
deleted file mode 100644
index 20501a5..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<html>
-<head>
-<title>Redirecting</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<META HTTP-EQUIV="Refresh" CONTENT="0; URL=login.action">
-</head>
-<body>
-
-</body>
-</html>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeDetails.jsp b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeDetails.jsp
deleted file mode 100644
index 555dc8c..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeDetails.jsp
+++ /dev/null
@@ -1,78 +0,0 @@
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<%@ page contentType="text/html;charset=UTF-8" language="java" import="org.apache.empire.struts2.websample.ws.*"%>
-<%@ taglib prefix="e" uri="/empire-tags" %>
-<jsp:useBean id="db" scope="application" type="org.apache.empire.struts2.websample.ws.SampleBeanDomain"/>
-<jsp:useBean id="action" scope="request" type="org.apache.empire.struts2.websample.web.actions.EmployeeDetailAction"/>
-<% 
-	SampleBeanDomain.Employees EMP = db.T_EMPLOYEES;
-%>
-<html>
-<head>
-    <link href="css/main.css" rel="stylesheet" type="text/css"/>
-    <title><e:text value="!application.title"/></title>
-</head>
-<body>
-<div class="titleDiv"><e:text value="!application.title"/></div>
-<h1>
-<e:if test="<%= action.getRecord().isNew() %>">
-	<e:text value="!page.label.add"/>
-</e:if>
-<e:else>
-	<e:text value="!page.label.update"/>
-</e:else>
-</h1>
-<e:actionerrors />
-<e:actionmessage />
-
-<e:form record="<%= action.getRecord() %>" action="!doSave">
-
-	<!-- 
-	<s:textfield name="employee.firstName" value="%{employee.firstName}" label="%{getText('label.firstName')}" size="40"/>
-	<s:textfield name="employee.lastName" value="%{employee.lastName}" label="%{getText('label.lastName')}" size="40"/>
-	<s:textfield name="employee.age" value="%{employee.age}" label="%{getText('label.age')}" size="20"/>
-	-->
-
-	<e:control column="<%= EMP.C_EMPLOYEE_ID %>" />
-	<e:control column="<%= EMP.C_SALUTATION %>" />
-    <e:control column="<%= EMP.C_FIRSTNAME 	%>" />
-    <e:control column="<%= EMP.C_LASTNAME 	%>" />
-    <e:control column="<%= EMP.C_GENDER 	%>" />
-    <e:control column="<%= EMP.C_DATE_OF_BIRTH 	%>" />
-    <e:control column="<%= EMP.C_PHONE_NUMBER %>" />
-    <e:control column="<%= EMP.C_DEPARTMENT_ID%>"/>
-    <e:control column="<%= EMP.C_RETIRED %>" />
-	<e:control column="<%= EMP.C_UPDATE_TIMESTAMP %>" />
-
-	<%-- 
-    <s:submit value="%{getText('button.label.submit')}"/>
-    <s:submit value="%{getText('button.label.cancel')}" name="redirect-action:employeeDetail!doCancel"/>
-    --%>
-	
-	<tr style="padding-top:20px">
-	  <td>&nbsp;</td>
-      <td><e:submit text="!button.label.save"   cssStyle="width:100px" embed="false"/>
-          <e:submit text="!button.label.cancel" cssStyle="width:100px" action="!doCancel" embed="false"/>
-          <e:submit text="!button.label.delete" cssStyle="width:100px" action="!doDelete" embed="false"/>
-      </td>
-    </tr>
-     
-</e:form>
-</body>
-</html>
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeList.jsp b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeList.jsp
deleted file mode 100644
index 6cd2df6..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeList.jsp
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ page import="org.apache.empire.struts2.websample.ws.*"%>
-<%@ taglib prefix="e" uri="/empire-tags" %>
-<jsp:useBean id="db" scope="application" type="org.apache.empire.struts2.websample.ws.SampleBeanDomain"/>
-<jsp:useBean id="action" scope="request" type="org.apache.empire.struts2.websample.web.actions.EmployeeListAction"/>
-<% 
-	SampleBeanDomain.Employees EMP = db.T_EMPLOYEES;
-	SampleBeanDomain.Departments DEP = db.T_DEPARTMENTS;
-%>
-<html>
-<head>
-    <link href="css/main.css" rel="stylesheet" type="text/css"/>
-    <e:text tag="title" value="!label.employees"/>
-</head>
-<body>
-<div class="titleDiv"><e:text value="!application.title"/></div>
-<e:text tag="h1" value="!label.employees.beanList"/>
-<e:actionerrors />
-<e:actionmessage />
-<e:link action="employeeDetail!doCreate" text="!link.label.addemployee"/>
-<br/><br/>
-<table class="borderAll">
-    <e:thr>
-        <e:th text="ID" />
-        <e:th text="<%= EMP.C_FIRSTNAME.getTitle() %>" />
-        <e:th text="<%= EMP.C_LASTNAME.getTitle() %>" />
-        <e:th text="<%= EMP.C_GENDER.getTitle() %>" />
-        <e:th text="<%= EMP.C_DATE_OF_BIRTH.getTitle() %>" />
-        <e:th text="!label.department" />
-    </e:thr>
-    <e:list source="<%= action.getEmployees() %>">
-		<%-- <jsp:useBean id="bean" scope="page" type="org.apache.empire.struts2.websample.web.actions.EmployeeListAction.EmployeeInfo" /> --%>
-    	<e:tr cssClass="even" cssOddClass="odd" columnWrap="nowrap">
-            <e:td column="<%= EMP.C_EMPLOYEE_ID %>" />
-            <e:td column="<%= EMP.C_FIRSTNAME %>" action="employeeDetail!doLoad" item="<%= EMP.C_EMPLOYEE_ID %>" wrap="break-word" />
-            <e:td column="<%= EMP.C_LASTNAME %>" action="employeeDetail!doLoad" item="<%= EMP.C_EMPLOYEE_ID %>" wrap="break-word" />
-            <e:td column="<%= EMP.C_GENDER %>" />
-            <e:td column="<%= EMP.C_DATE_OF_BIRTH %>" />
-            <e:td column="<%= EMP.C_DEPARTMENT_ID %>" />
-        </e:tr>
-    </e:list>
-</table>
-<br/>
-<e:link action="employeeList!doInit" text="!link.label.newSearch" />		
-</body>
-</html>
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeSearch.jsp b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeSearch.jsp
deleted file mode 100644
index 8fb6be4..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/employeeSearch.jsp
+++ /dev/null
@@ -1,50 +0,0 @@
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<%@ page contentType="text/html;charset=UTF-8" language="java" import="org.apache.empire.struts2.websample.ws.*"%>
-<%@ taglib prefix="e" uri="/empire-tags" %>
-<jsp:useBean id="db" scope="application" type="org.apache.empire.struts2.websample.ws.SampleBeanDomain"/>
-<jsp:useBean id="action" scope="request" type="org.apache.empire.struts2.websample.web.actions.EmployeeListAction"/>
-<% 
-	SampleBeanDomain.Employees EMP = db.T_EMPLOYEES;
-%>
-<html>
-<head>
-    <link href="css/main.css" rel="stylesheet" type="text/css"/>
-    <title><e:text value="!application.title"/></title>
-</head>
-<body>
-<div class="titleDiv"><e:text value="!application.title"/></div>
-<h1><e:text value="!page.label.search"/></h1>
-<e:actionerrors />
-<e:actionmessage />
-<e:form id="searchForm" action="employeeList!doQuery">
-    <e:control property="searchInfo.employeeId"	 	column="<%= EMP.C_EMPLOYEE_ID %>"></e:control>
-    <e:control property="searchInfo.firstName" 		column="<%= EMP.C_FIRSTNAME %>" />
-    <e:control property="searchInfo.lastName"  		column="<%= EMP.C_LASTNAME %>" />
-    <e:control property="searchInfo.departmentId"  	column="<%= EMP.C_DEPARTMENT_ID %>" format="allownull" options="<%= action.getDepartments() %>"/>
-    <!-- Original Struts code -->
-    <!-- s:textfield name="searchInfo.firstName" value="%{searchInfo.firstName}" label="%{getText('label.firstName')}" size="40"/ -->
-    <!-- s:textfield name="searchInfo.lastName" value="%{searchInfo.lastName}" label="%{getText('label.lastName')}" size="40"/ -->
-    <!-- s:select name="searchInfo.departmentId" value="%{searchInfo.departmentId}" list="departments" listKey="key" listValue="value"/ -->
-    <e:submit text="!button.label.search" embed="true"/>
-</e:form>
-<p><e:text value="!page.label.logininfo"/>&nbsp;'<e:text value="%{session.user.userId}"/>'</p>
-<e:link action="login!doLogout" text="!link.label.logout"/>
-</body>
-</html>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/error.jsp b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/error.jsp
deleted file mode 100644
index c094576..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/error.jsp
+++ /dev/null
@@ -1,37 +0,0 @@
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-<%@ taglib prefix="e" uri="/empire-tags" %>
-<html>
-<head>
-    <title>Error Page</title>
-    <link href="<s:url value='/css/main.css'/>" rel="stylesheet" type="text/css"/>
-</head>
-<body>
-<e:actionerrors />
-<br/>
-In order that the development team can address this error, please report what you were doing that caused this error.
-<br/><br/>
-The following information can help the development
-team find where the error happened and what can be done to prevent it from
-happening in the future.
-
-</body>
-</html>
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/login.jsp b/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/login.jsp
deleted file mode 100644
index 996ead6..0000000
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/webapp/jsp/login.jsp
+++ /dev/null
@@ -1,41 +0,0 @@
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-<%@ taglib prefix="e" uri="/empire-tags" %>
-<jsp:useBean id="action" scope="request" type="org.apache.empire.struts2.websample.web.actions.LoginAction"/>
-<html>
-<head>
-    <link href="css/main.css" rel="stylesheet" type="text/css"/>
-    <title><e:text value="!application.title"/></title>
-</head>
-<body>
-<div class="titleDiv"><e:text value="!application.title"/></div>
-<h1><e:text value="!page.label.login"/></h1>
-<e:actionerrors />
-<e:actionmessage />
-<p><e:text value="!page.label.loginHint"/></p>
-<e:form action="login!doLogin">
-    <s:textfield name="loginInfo.name" value="%{loginInfo.name}" label="%{getText('label.user.Name')}" size="40"/>
-    <s:password name="loginInfo.pwd"  value="%{loginInfo.pwd}"  label="%{getText('label.user.Pwd')}"  size="40"/>
-    <s:select name="loginInfo.locale" list="#{'de':'German', 'en':'English'}" label="%{getText('label.user.Language')}"/>
-    <e:submit text="!button.label.login" embed="true"/>
-</e:form>
-</body>
-</html>
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2/.gitignore b/empire-db-examples/empire-db-example-struts2/.gitignore
deleted file mode 100644
index 55ee6c2..0000000
--- a/empire-db-examples/empire-db-example-struts2/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-/target/
-/.settings/
-/.classpath
-/.project
-/.tomcatplugin
-/.apt_generated/
-/.factorypath
diff --git a/empire-db-examples/empire-db-example-struts2/pom.xml b/empire-db-examples/empire-db-example-struts2/pom.xml
deleted file mode 100644
index cf8b7c7..0000000
--- a/empire-db-examples/empire-db-example-struts2/pom.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-	<!--
-		Licensed to the Apache Software Foundation (ASF) under one or more
-		contributor license agreements. See the NOTICE file distributed with
-		this work for additional information regarding copyright ownership.
-		The ASF licenses this file to You under the Apache License, Version
-		2.0 (the "License"); you may not use this file except in compliance
-		with the License. You may obtain a copy of the License at
-
-		http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-		applicable law or agreed to in writing, software distributed under the
-		License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-		CONDITIONS OF ANY KIND, either express or implied. See the License for
-		the specific language governing permissions and limitations under the
-		License.
-	-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.apache.empire-db</groupId>
-		<artifactId>empire-db-examples</artifactId>
-		<version>2.5.2-SNAPSHOT</version>
-	</parent>
-	<artifactId>empire-db-example-struts2</artifactId>
-	<packaging>war</packaging>
-	<name>Apache Empire-db Struts2 Example</name>
-	<description>Examples showing the use of empire-db.</description>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.empire-db</groupId>
-			<artifactId>empire-db</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.empire-db</groupId>
-			<artifactId>empire-db-struts2</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>javax.servlet</groupId>
-			<artifactId>servlet-api</artifactId>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>javax.servlet.jsp</groupId>
-			<artifactId>jsp-api</artifactId>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.hsqldb</groupId>
-			<artifactId>hsqldb</artifactId>
-		</dependency>
-		<dependency>
-            <groupId>javax.portlet</groupId>
-            <artifactId>portlet-api</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <!-- use log4j for logging -->
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-		</dependency>
-	</dependencies>
-	<build>
-		<finalName>empstruts</finalName>
-		<plugins>
-			<!-- WTP-Eclipse-Projekt --> 
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-eclipse-plugin</artifactId> 
-				<configuration>
-					<m2eclipse>true</m2eclipse> 
-					<downloadSources>true</downloadSources>
-					<wtpversion>2.0</wtpversion> 
-				</configuration> 
-			</plugin>
-			<!-- Sysdeo Tomcat Eclipse --> 
-			<plugin>
-			  <groupId>org.codehaus.mojo</groupId>
-			  <artifactId>sysdeo-tomcat-maven-plugin</artifactId>
-			  <version>1.1</version>
-			  <configuration>
-				  <webPath>empire-db-struts2</webPath>
-			  </configuration>
-			</plugin>
-			<!-- Jetty -->			
-			<plugin>
-				<groupId>org.mortbay.jetty</groupId>
-				<artifactId>maven-jetty-plugin</artifactId>
-				<version>6.1.26</version>
-				<configuration>
-					<scanIntervalSeconds>10</scanIntervalSeconds>
-					<stopKey>foo</stopKey>
-					<stopPort>9999</stopPort>
-				</configuration>
-				<executions>
-					<!--
-						<execution> <id>start-jetty</id>
-						<phase>pre-integration-test</phase> <goals> <goal>run</goal>
-						</goals> <configuration>
-						<scanIntervalSeconds>0</scanIntervalSeconds> <daemon>true</daemon>
-						</configuration> </execution> <execution> <id>stop-jetty</id>
-						<phase>post-integration-test</phase> <goals> <goal>stop</goal>
-						</goals> </execution>
-					-->
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java
deleted file mode 100644
index c08cec3..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.db;
-
-import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataType;
-import org.apache.empire.db.DBColumn;
-import org.apache.empire.db.DBDatabase;
-import org.apache.empire.db.DBTableColumn;
-import org.apache.empire.struts2.websample.web.SampleApplication;
-
-
-public class SampleDB extends DBDatabase
-{
-    private final static long serialVersionUID = 1L;
-  
-    // Static Access
-    public static SampleDB getInstance()
-    {
-        return SampleApplication.getInstance().getDatabase();
-    }
-    
-    /**
-     * This class represents the definition of the Departments table.
-     */
-    public static class Departments extends SampleTable
-    {
-        private static final long serialVersionUID = 1L;
-        
-        public final DBTableColumn C_DEPARTMENT_ID;
-        public final DBTableColumn C_NAME;
-        public final DBTableColumn C_HEAD;
-        public final DBTableColumn C_BUSINESS_UNIT;
-        public final DBTableColumn C_UPDATE_TIMESTAMP;
-
-        public Departments(DBDatabase db)
-        {
-            super("DEPARTMENTS", db);
-            // ID
-            C_DEPARTMENT_ID   = addColumn("DEPARTMENT_ID",    DataType.AUTOINC,       0, true, "DEP_ID_SEQUENCE");
-            C_NAME            = addColumn("NAME",             DataType.VARCHAR,      80, true);
-            C_HEAD            = addColumn("HEAD",             DataType.VARCHAR,      80, false);
-            C_BUSINESS_UNIT   = addColumn("BUSINESS_UNIT",    DataType.VARCHAR,       4, true, "ITTK");
-            C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.TIMESTAMP,     0, true);
-        
-            // Primary Key
-            setPrimaryKey(C_DEPARTMENT_ID);
-            // Set other Indexes
-            addIndex("DEARTMENT_NAME_IDX", true, new DBColumn[] { C_NAME });
-
-        }    
-    }   
-
-    /**
-     * This class represents the definition of the Employees table.
-     */
-    public static class Employees extends SampleTable
-    {
-        private static final long serialVersionUID = 1L;
-        
-        public final DBTableColumn C_EMPLOYEE_ID;
-        public final DBTableColumn C_SALUTATION;
-        public final DBTableColumn C_FIRSTNAME;
-        public final DBTableColumn C_LASTNAME;
-        public final DBTableColumn C_DATE_OF_BIRTH;
-        public final DBTableColumn C_DEPARTMENT_ID;
-        public final DBTableColumn C_GENDER;
-        public final DBTableColumn C_PHONE_NUMBER;
-        public final DBTableColumn C_EMAIL;
-        public final DBTableColumn C_RETIRED;
-        public final DBTableColumn C_UPDATE_TIMESTAMP;
-
-        public Employees(DBDatabase db)
-        {
-            super("EMPLOYEES", db);
-            // ID
-            C_EMPLOYEE_ID     = addColumn("EMPLOYEE_ID",      DataType.AUTOINC,      0, true, "EMPLOYEE_ID_SEQUENCE");
-            C_SALUTATION      = addColumn("SALUTATION",       DataType.VARCHAR,     20, false);
-            C_FIRSTNAME       = addColumn("FIRSTNAME",        DataType.VARCHAR,     40, true);
-            C_LASTNAME        = addColumn("LASTNAME",         DataType.VARCHAR,     40, true);
-            C_DATE_OF_BIRTH   = addColumn("DATE_OF_BIRTH",    DataType.DATE,         0, false);
-            C_DEPARTMENT_ID   = addColumn("DEPARTMENT_ID",    DataType.INTEGER,      0, true);
-            C_GENDER          = addColumn("GENDER",           DataType.VARCHAR,      1, false);
-            C_PHONE_NUMBER    = addColumn("PHONE_NUMBER",     DataType.VARCHAR,     40, false);
-            C_EMAIL           = addColumn("EMAIL",            DataType.VARCHAR,     80, false);
-            C_RETIRED         = addColumn("RETIRED",          DataType.BOOL,         0, true, false);
-            C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.TIMESTAMP,    0, true);
-        
-            // Primary Key
-            setPrimaryKey(C_EMPLOYEE_ID);
-            // Set other Indexes
-            addIndex("PERSON_NAME_IDX", true, new DBColumn[] { C_FIRSTNAME, C_LASTNAME, C_DATE_OF_BIRTH });
-            
-            // Create Options for GENDER column
-            Options genders = new Options();
-            genders.set("M", "!option.employee.gender.male");
-            genders.set("F", "!option.employee.gender.female");
-            C_GENDER.setOptions(genders);
-            C_GENDER.setControlType("select");
-            
-            // Set special control types
-            C_DEPARTMENT_ID.setControlType("select");
-            C_PHONE_NUMBER .setControlType("phone");
-            
-        }    
-    }   
-
-    // Declare all Tables
-    public final Departments  T_DEPARTMENTS = new Departments(this);
-    public final Employees    T_EMPLOYEES   = new Employees(this);
-    
-    /**
-     * Constructor SampleDB
-     */
-    public SampleDB()
-    {
-        // Define Foreign-Key Relations
-        addRelation( T_EMPLOYEES.C_DEPARTMENT_ID.referenceOn( T_DEPARTMENTS.C_DEPARTMENT_ID ));
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleRecord.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleRecord.java
deleted file mode 100644
index 0b37b51..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleRecord.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.db;
-
-import org.apache.empire.db.DBRecord;
-import org.apache.empire.struts2.websample.web.SampleContext;
-
-
-public class SampleRecord extends DBRecord
-{
-    private final static long serialVersionUID = 1L;
-  
-    // DBRecord members
-    protected SampleContext context;
-    
-    public SampleRecord(SampleContext context)
-    {
-        this.context = context;
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleTable.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleTable.java
deleted file mode 100644
index 5e2e09b..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleTable.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.db;
-
-import org.apache.empire.data.DataType;
-import org.apache.empire.db.DBDatabase;
-import org.apache.empire.db.DBTable;
-import org.apache.empire.db.DBTableColumn;
-
-/**
- * Base class definition for all database tables
- * Automatically generates a message-key for the field title
- * e.g. for the column EMPLOYEES.DATE_OF_BIRTH
- * it generates the key "!field.title.employees.dateOfBirth";
- */
-public class SampleTable extends DBTable
-{
-    private final static long serialVersionUID = 1L;
-    public final String MESSAGE_KEY_PREFIX = "!field.title.";
-    
-    public SampleTable(String name, DBDatabase db)
-    {
-        super(name, db);
-    }
-
-    @Override
-    protected void addColumn(DBTableColumn column)
-    {
-        // Set Translation Title
-        String col = column.getBeanPropertyName();  
-        String tbl = getName().toLowerCase();   
-        String key = MESSAGE_KEY_PREFIX + tbl + "." + col;
-        column.setTitle(key);
-
-        // Set Default Control Type
-        DataType type = column.getDataType();
-        column.setControlType((type==DataType.BOOL) ? "checkbox" : "text");
-
-        // Add Column
-        super.addColumn(column);
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/DepartmentRecord.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/DepartmentRecord.java
deleted file mode 100644
index a6f081b..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/DepartmentRecord.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.db.records;
-
-import org.apache.empire.struts2.websample.db.SampleDB;
-import org.apache.empire.struts2.websample.db.SampleRecord;
-import org.apache.empire.struts2.websample.web.SampleContext;
-
-public class DepartmentRecord extends SampleRecord
-{
-    private final static long serialVersionUID = 1L;
-  
-    public static final SampleDB.Departments T = SampleDB.getInstance().T_DEPARTMENTS;  
-
-    // Department Record
-    public DepartmentRecord(SampleContext context)
-    {
-        super(context);
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/EmployeeRecord.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/EmployeeRecord.java
deleted file mode 100644
index 8b12436..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/records/EmployeeRecord.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.db.records;
-
-import org.apache.empire.commons.Options;
-import org.apache.empire.db.DBColumn;
-import org.apache.empire.db.DBCommand;
-import org.apache.empire.struts2.websample.db.SampleDB;
-import org.apache.empire.struts2.websample.db.SampleRecord;
-import org.apache.empire.struts2.websample.web.SampleContext;
-
-
-public class EmployeeRecord extends SampleRecord
-{
-    private final static long serialVersionUID = 1L;
-  
-    public static final SampleDB.Employees T = SampleDB.getInstance().T_EMPLOYEES;  
- 
-    /*
-     * Constructor
-     */
-    public EmployeeRecord(SampleContext context)
-    {
-        super(context);
-    }
-    
-    // Sample Implementation for Department Record
-    public DepartmentRecord getDepartmentRecord()
-    {
-        DepartmentRecord rec = new DepartmentRecord(context);
-        SampleDB.Departments table = SampleDB.getInstance().T_DEPARTMENTS;
-        rec.read(table, this.getInt(T.C_DEPARTMENT_ID), context.getConnection());
-        return rec; 
-    }
-    
-    @Override
-    public Options getFieldOptions(DBColumn column)
-    {
-        if (column.equals(T.C_DEPARTMENT_ID)) {
-            SampleDB db = (SampleDB)getDatabase();
-            DBCommand cmd = db.createCommand();
-            cmd.select(db.T_DEPARTMENTS.C_DEPARTMENT_ID);
-            cmd.select(db.T_DEPARTMENTS.C_NAME);
-            return db.queryOptionList(cmd, context.getConnection());
-        }
-        // base class implementation
-        return super.getFieldOptions(column);
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java
deleted file mode 100644
index 7c59ef0..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleApplication.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.commons.StringUtils;
-import org.apache.empire.db.DBCommand;
-import org.apache.empire.db.DBDatabaseDriver;
-import org.apache.empire.db.DBRecord;
-import org.apache.empire.db.DBSQLScript;
-import org.apache.empire.db.hsql.DBDatabaseDriverHSql;
-import org.apache.empire.db.mysql.DBDatabaseDriverMySQL;
-import org.apache.empire.db.oracle.DBDatabaseDriverOracle;
-import org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL;
-import org.apache.empire.db.sqlserver.DBDatabaseDriverMSSQL;
-import org.apache.empire.struts2.actionsupport.TextProviderActionSupport;
-import org.apache.empire.struts2.html.HtmlTagDictionary;
-import org.apache.empire.struts2.web.AppContext;
-import org.apache.empire.struts2.web.WebApplication;
-import org.apache.empire.struts2.websample.db.SampleDB;
-
-
-public class SampleApplication implements WebApplication {
-	// Logger
-	protected static Log log = LogFactory.getLog(SampleApplication.class);
-
-	// must be singleton
-	private static SampleApplication application;
-
-    public static SampleApplication getInstance()
-    {
-        return application;
-    }
-
-	// Non-Static
-	private SampleDB db = new SampleDB();
-	private SampleConfig config = new SampleConfig();
-
-	private Connection conn = null;
-
-	public void init(AppContext servletContext) {
-		try {
-			
-			// Application
-			if (application != null) {
-				log.fatal("Application has already been initiallized!");
-				return;
-			}
-			application = this;
-
-			// register all controls
-			// InputControlManager.registerControl("myType", new
-			// MyTypeInputControl());
-			config.init(servletContext.getRealPath("WEB-INF/config.xml"));
-
-			// Set Html Dictionary
-			HtmlTagDictionary.set(new SampleHtmlTagDictionary());
-
-			// Set Database to Servlet Context
-			servletContext.setAttribute("db", db);
-
-			// Get a JDBC Connection
-			log.info("*** getJDBCConnection() ***");
-			conn = getJDBCConnection(servletContext);
-
-			// Choose a driver
-			log.info("*** create DBDatabaseDriverOracle() ***");
-			DBDatabaseDriver driver = getDatabaseDriver(config.getDatabaseProvider());
-
-            // Open Database (and create if not existing)
-            log.info("*** open database ***");
-            try {
-                // Open the database
-                db.open(driver, conn);
-                // Check whether database exists
-                databaseExists(conn);
-                System.out.println("*** Database already exists. Skipping Step4 ***");
-                
-            } catch(Exception e) {
-                // STEP 4: Create Database
-                log.info("*** create Database ***");
-                // postgre does not support DDL in transaction
-                if(db.getDriver() instanceof DBDatabaseDriverPostgreSQL)
-                {
-                    conn.setAutoCommit(true);
-                }
-                createSampleDatabase(driver, conn);
-                if(db.getDriver() instanceof DBDatabaseDriverPostgreSQL)
-                {
-                    conn.setAutoCommit(false);
-                }
-                // Open again
-                if (db.isOpen()==false)
-                    db.open(driver, conn);
-            }
-			
-			/*
-			// Check Database Definition against Real Database(log differences)
-			log.info("*** driver.checkDatabase() ***");
-			driver.checkDatabase(db, config.getSchemaName(), conn);
-			*/
-
-			// Disable Message caching
-			TextProviderActionSupport.setCachingEnabled(false);
-			
-			// Done
-			log.info("Application initialized ");
-
-		} catch (Exception e) {
-			// Error
-			log.info(e.toString());
-			e.printStackTrace();
-		}
-
-	}
-
-	public SampleDB getDatabase() {
-		return db;
-	}
-
-	public Connection getPooledConnection() {
-		return conn;
-	}
-
-	public void releaseConnection(Connection conn) {
-		// Return Connection to Connection Pool
-	}
-
-	/*
-	 * getJDBCConnection
-	 */
-	private Connection getJDBCConnection(AppContext appContext) {
-		// Establish a new database connection
-		Connection conn = null;
-		String jdbcURL = config.getJdbcURL();
-		if (jdbcURL.indexOf("file:")>0)
-			jdbcURL = StringUtils.replace(jdbcURL, "file:", "file:"+appContext.getRealPath("/"));
-		// Connect
-		log.info("Connecting to Database'" + jdbcURL + "' / User=" + config.getJdbcUser());
-		try { // Connect to the databse
-			Class.forName(config.getJdbcClass()).newInstance();
-			conn = DriverManager.getConnection(jdbcURL, config.getJdbcUser(), config.getJdbcPwd());
-			log.info("Connected successfully");
-			// set the AutoCommit to false this session. You must commit
-			// explicitly now
-			conn.setAutoCommit(false);
-			log.info("AutoCommit is " + conn.getAutoCommit());
-
-		} catch (Exception e) {
-			log.error("Failed to connect directly to '" + config.getJdbcURL() + "' / User=" + config.getJdbcUser());
-			log.error(e.toString());
-			throw new RuntimeException(e);
-		}
-		return conn;
-	}
-	
-	/*
-	 * getDatabaseDriver
-	 */
-	private DBDatabaseDriver getDatabaseDriver(String provider)
-    {
-        if (provider.equalsIgnoreCase("mysql"))
-        {
-            DBDatabaseDriverMySQL driver = new DBDatabaseDriverMySQL();
-            // Set Driver specific properties (if any)
-            driver.setDatabaseName(config.getSchemaName());
-            return driver;
-        }
-        else if (provider.equalsIgnoreCase("oracle"))
-        {
-            DBDatabaseDriverOracle driver = new DBDatabaseDriverOracle();
-            // Set Driver specific properties (if any)
-            return driver;
-        }
-        else if (provider.equalsIgnoreCase("sqlserver"))
-        {
-            DBDatabaseDriverMSSQL driver = new DBDatabaseDriverMSSQL();
-            // Set Driver specific properties (if any)
-            driver.setDatabaseName(config.getSchemaName());
-            return driver;
-        }
-        else if (provider.equalsIgnoreCase("hsqldb"))
-        {
-            DBDatabaseDriverHSql driver = new DBDatabaseDriverHSql();
-            // Set Driver specific properties (if any)
-            return driver;
-        }
-        else
-        {   // Unknown Provider
-            throw new RuntimeException("Unknown Database Provider " + provider);
-        }
-    }
-
-	private void databaseExists(Connection conn) {
-		// Check wether DB exists
-		DBCommand cmd = db.createCommand();
-		cmd.select(db.T_DEPARTMENTS.count());
-		db.querySingleInt(cmd, -1, conn);
-	}
-	
-	/*
-	 * creates a DDL Script for the entire SampleDB Database then checks if the
-	 * department table exists by running "select count(*) from DEPARTMENTS" if
-	 * the department tables does not exist, the entire dll-script is executed
-	 * line by line
-	 */
-	private void createSampleDatabase(DBDatabaseDriver driver, Connection conn)
-	{
-        // create DLL for Database Definition
-        DBSQLScript script = new DBSQLScript();
-        db.getCreateDDLScript(driver, script);
-        // Show DLL Statements
-        System.out.println(script.toString());
-        // Execute Script
-        script.executeAll(driver, conn, false);
-        db.commit(conn);
-        // Open again
-        if (db.isOpen()==false)
-            db.open(driver, conn);
-		// Insert Sample Departments
-		int idDevDep = insertDepartmentSampleRecord(conn, "Development", "ITTK");
-		int idSalDep = insertDepartmentSampleRecord(conn, "Sales", "ITTK");
-		// Insert Sample Employees
-		insertEmployeeSampleRecord(conn, "Mr.", "Eugen", "Miller",   "M", idDevDep);
-		insertEmployeeSampleRecord(conn, "Mr.", "Max",   "Mc. Callahan",   "M", idDevDep);
-		insertEmployeeSampleRecord(conn, "Mrs.", "Anna", "Smith", "F", idSalDep);
-		// Commit
-		db.commit(conn);
-	}
-
-	/*
-	 * Insert a department
-	 */
-	private int insertDepartmentSampleRecord(Connection conn, String department_name, String businessUnit) {
-			// Insert a Department
-			DBRecord rec = new DBRecord();
-			rec.create(db.T_DEPARTMENTS);
-			rec.setValue(db.T_DEPARTMENTS.C_NAME, department_name);
-			rec.setValue(db.T_DEPARTMENTS.C_BUSINESS_UNIT, businessUnit);
-			rec.update(conn);
-			// Return Department ID
-			return rec.getInt(db.T_DEPARTMENTS.C_DEPARTMENT_ID);
-		}
-
-	/*
-	 * Insert a person
-	 */
-	private int insertEmployeeSampleRecord(Connection conn, String salutation, String firstName, String lastName, String gender, int depID) {
-		// Insert an Employee
-		DBRecord rec = new DBRecord();
-		rec.create(db.T_EMPLOYEES);
-		rec.setValue(db.T_EMPLOYEES.C_SALUTATION, salutation);
-		rec.setValue(db.T_EMPLOYEES.C_FIRSTNAME, firstName);
-		rec.setValue(db.T_EMPLOYEES.C_LASTNAME, lastName);
-		rec.setValue(db.T_EMPLOYEES.C_GENDER, gender);
-		rec.setValue(db.T_EMPLOYEES.C_DEPARTMENT_ID, depID);
-		rec.update(conn);
-		// Return Employee ID
-		return rec.getInt(db.T_EMPLOYEES.C_EMPLOYEE_ID);
-	}
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java
deleted file mode 100644
index 805bc4c..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleConfig.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.xml.XMLConfiguration;
-
-public class SampleConfig extends XMLConfiguration {
-
-	private String databaseProvider = "oracle";
-
-	private String jdbcClass = "oracle.jdbc.driver.OracleDriver";
-
-	private String jdbcURL = "jdbc:oracle:thin:@192.168.0.2:1521:ora10";
-
-	private String jdbcUser = "DBSAMPLE";
-
-	private String jdbcPwd = "DBSAMPLE";
-
-	private String schemaName = "DBSAMPLE";
-
-	/**
-	 * Initialize the configuration
-	 * 
-	 * @param filename the file to read 
-	 */
-	public void init(String filename) {
-		// Read the properties file
-		super.init(filename, false);
-		// Done
-		readProperties(this, "properties");
-		// Reader Provider Properties
-		readProperties(this, "properties-" + databaseProvider);
-	}
-
-	public String getDatabaseProvider() {
-		return databaseProvider;
-	}
-
-	public String getJdbcClass() {
-		return jdbcClass;
-	}
-
-	public void setJdbcClass(String jdbcClass) {
-		this.jdbcClass = jdbcClass;
-	}
-
-	public String getJdbcPwd() {
-		return jdbcPwd;
-	}
-
-	public void setJdbcPwd(String jdbcPwd) {
-		this.jdbcPwd = jdbcPwd;
-	}
-
-	public String getJdbcURL() {
-		return jdbcURL;
-	}
-
-	public String getSchemaName() {
-		return schemaName;
-	}
-
-	// ------- Setters -------
-
-	public void setDatabaseProvider(String databaseProvider) {
-		this.databaseProvider = databaseProvider;
-	}
-	
-	public void setJdbcURL(String jdbcURL) {
-		this.jdbcURL = jdbcURL;
-	}
-
-	public String getJdbcUser() {
-		return jdbcUser;
-	}
-
-	public void setJdbcUser(String jdbcUser) {
-		this.jdbcUser = jdbcUser;
-	}
-
-	public void setSchemaName(String schemaName) {
-		this.schemaName = schemaName;
-	}
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java
deleted file mode 100644
index bcfc6f8..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleContext.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.sql.Connection;
-
-import org.apache.empire.struts2.websample.db.SampleDB;
-
-
-public interface SampleContext
-{
-    public SampleDB getDatabase();
-    
-    public SampleUser getUser();
-    
-    public Connection getConnection();
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java
deleted file mode 100644
index dc8361b..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleErrors.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.commons.ErrorType;
-
-public class SampleErrors
-{
-    public static final ErrorType InvalidPassword = new ErrorType("error.invalidpassword", "Invalid Password.");
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java
deleted file mode 100644
index d0a4823..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleHtmlTagDictionary.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import org.apache.empire.struts2.html.DefaultHtmlTagDictionary;
-
-public class SampleHtmlTagDictionary extends DefaultHtmlTagDictionary
-{
-    // ------- Input Control -------
-
-    @Override
-    public boolean InputReadOnlyAsData()
-    {
-        return false; // Show Read Only Input as Data (not as disabled input)
-    }
-    
-    @Override
-    public int InputMaxCharSize()
-    {
-        return 40; // Maximum horizontal size in characters
-    }
-
-    @Override
-    public String InputWrapperTag()
-    {
-        return "tr";
-    }
-
-    @Override
-    public String InputLabelTag()
-    {
-        return "td";
-    }
-
-    @Override
-    public String InputControlTag()
-    {
-        return "td";
-    }
-
-    // ------- Errors -------
-
-    @Override
-    public String ErrorItemEntryClass()
-    {
-        return "errorMessage";
-    }
-
-    @Override
-    public String ErrorActionEntryClass()
-    {
-        return "errorMessage";
-    }
-
-    @Override
-    public String ErrorEntryWrapperTag()
-    {
-        return "span";
-    }
-
-    // ------- Message -------
-
-    @Override
-    public String MessageTag()
-    {
-        return "div";
-    }
-
-    @Override
-    public String MessageClass()
-    {
-        return "actionMessage";
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java
deleted file mode 100644
index 5f02ee9..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleRequest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.sql.Connection;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.struts2.web.EmpireThreadManager;
-import org.apache.empire.struts2.web.RequestContext;
-import org.apache.empire.struts2.web.ResponseContext;
-import org.apache.empire.struts2.web.WebRequest;
-
-
-public class SampleRequest implements WebRequest
-{
-    // Logger
-    protected static Log log = LogFactory.getLog(SampleRequest.class);
-
-    private RequestContext  			externalRequest;
-    private ResponseContext 			externalResponse;
-    private SampleSession       session;
-    private Connection          connection;  // Connection for this request
-    
-    public static SampleRequest getInstance()
-    {
-        return (SampleRequest)EmpireThreadManager.getCurrentRequest();        
-    }
-    
-    public boolean init(RequestContext request, ResponseContext response, Object session)
-    {
-        this.externalRequest = request;
-        this.externalResponse = response;
-        // Set Internal objects
-        this.session = (SampleSession)session;
-        if (this.session==null)
-        {   // Error
-            log.fatal("Internal Error: Session object is null");
-            return false;
-        }
-        // continue processing
-        return true;
-    }
-
-    public void exit(int exitCode)
-    {
-        // Cleanup
-        if (connection!=null)
-        {   // Commit or rollback connection depending on the exit code
-            if (exitCode>=0)
-            {   // 0 or positive exitCode indicates success
-                log.debug("Request ended sucessfully. Committing database changes.");
-                getApplication().getDatabase().commit(connection);
-            }
-            else 
-            {   // negative exitCode indicates an error
-                log.warn("Request ended with errors. Database changes will be rolled back.");
-                getApplication().getDatabase().rollback(connection);
-            }
-            // Release Connection
-            getApplication().releaseConnection(connection);
-            connection= null;
-        }
-        // Release objects
-        this.externalRequest = null;
-        this.externalResponse = null;
-    }
-
-    // Get Session
-    public SampleSession getSession()
-    {
-        return session;
-    }
-
-    // Get Application
-    public SampleApplication getApplication()
-    {
-        return session.getApplication();
-    }
-
-    // Get Connection
-    public Connection getConnection()
-    {
-        // Get a Connection for the Connection Pool 
-        if (connection==null)
-            connection= getApplication().getPooledConnection();
-        // return connection
-        return connection;
-    }
-    
-    public RequestContext getRequestContext()
-    {
-        return externalRequest;
-    }
-
-    public ResponseContext getResponseContext()
-    {
-        return externalResponse;
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java
deleted file mode 100644
index d917992..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleSession.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-import java.util.HashMap;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.struts2.web.SessionContext;
-import org.apache.empire.struts2.web.WebSession;
-
-public class SampleSession implements WebSession
-{
-    // Logger
-    protected static Log log = LogFactory.getLog(SampleSession.class);
-
-    // Non-Static
-    private SampleApplication application = null;
-    public SampleUser user = null;
-    public HashMap<String, Object> objectMap = new HashMap<String, Object>();
-    
-    // Init Session
-    public void init(SessionContext session, Object application)
-    {
-        this.application = (SampleApplication) application;
-        if (this.application==null)
-        {
-            throw new RuntimeException("Fatal: Application object is null!");
-        }
-        log.info("Session created ");
-    }
-
-    // Get Application
-    public SampleApplication getApplication()
-    {
-        return application;
-    }
-
-    public SampleUser getUser()
-    {
-        return user;
-    }
-
-    public void setUser(SampleUser user)
-    {
-        this.user = user;
-    }
-    
-    public Object getObject(String name)
-    {
-        return objectMap.get(name);
-    }
-    
-    public final Object getObject(Class<?> objclass)
-    {
-        return getObject(objclass.getName());
-    }
-    
-    public Object setObject(String name, Object obj)
-    {
-        return objectMap.put(name, obj);
-    }
-    
-    public final Object setObject(Class<?> objclass, Object obj)
-    {
-        return setObject(objclass.getName(), obj);
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java
deleted file mode 100644
index b0f622d..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/SampleUser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web;
-
-public class SampleUser
-{
-    private String userId;
-    private String displayName;
-    
-    public SampleUser(String userId, String displayName)
-    {
-        this.userId = userId;
-        this.displayName = displayName;
-    }
-    
-    public String getDisplayName()
-    {
-        return displayName;
-    }
-    public String getUserId()
-    {
-        return userId;
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java
deleted file mode 100644
index 7f8d901..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeDetailAction.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import org.apache.empire.db.DBRecord;
-import org.apache.empire.db.DBTable;
-import org.apache.empire.struts2.actionsupport.RecordActionSupport;
-import org.apache.empire.struts2.actionsupport.SessionPersistence;
-import org.apache.empire.struts2.websample.db.records.EmployeeRecord;
-import org.apache.empire.struts2.websample.web.actiontypes.DetailAction;
-import org.apache.struts2.interceptor.NoParameters;
-
-/**
- * EmployeeDetailAction
- * <p>
- * This class provides form processing functions for an Employee record.<br>
- * The class uses a RecordActionSupport object which does most of the work.<br>
- * For multi-record forms it is possible to have several RecordActionSupport members.<br>
- * In this case each must be given a different property name however (see RecordActionSupport overloads).
- * </p>
- */
-public class EmployeeDetailAction extends DetailAction
-    implements NoParameters // set this to provide custom parameter handling
-{
-    /**
-     * Action mappings
-     */
-
-    protected RecordActionSupport recordSupport = null;
-
-    // ------- Action Construction -------
-    
-    public EmployeeDetailAction() {
-        // Init Record Support Object
-        DBTable table = getDatabase().T_EMPLOYEES;
-        DBRecord record = new EmployeeRecord(this);
-        // create a support Object
-        recordSupport = new RecordActionSupport(this, table, record, SessionPersistence.Key);
-    }
-
-    // ------- Action Properties -------
-    
-    public EmployeeRecord getEmployee()
-    {
-        return (EmployeeRecord) recordSupport.getRecord();
-    }
-
-    // ------- Action Methods -------
-
-    @Override
-    public String doCreate() {
-        // Create Record
-        if (!recordSupport.createRecord()) {
-            return RETURN;
-        }
-        // Done
-        return INPUT;
-    }
-
-    @Override
-    public String doLoad() {
-        // Load Record
-        if (!recordSupport.loadRecord()) {
-            return RETURN;
-        }
-        // Set Edit Mode
-        return INPUT;
-    }
-
-    @Override
-    public String doSave() {
-        // Load Form Data into record
-        if (!recordSupport.loadFormData()) {
-            return INPUT;
-        }
-        // Now save the record
-        if (!recordSupport.saveChanges()) {
-            return INPUT;
-        }
-        // Erfolg
-        return RETURN;
-    }
-
-    @Override
-    public String doDelete() {
-        // Delete Record
-        if (!recordSupport.deleteRecord()) {
-            return INPUT;
-        }
-        // Erfolg
-        return RETURN;
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java
deleted file mode 100644
index 964975e..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/EmployeeListAction.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import java.util.Date;
-import java.util.List;
-
-import org.apache.empire.commons.Options;
-import org.apache.empire.commons.StringUtils;
-import org.apache.empire.db.DBColumnExpr;
-import org.apache.empire.db.DBCommand;
-import org.apache.empire.db.DBReader;
-import org.apache.empire.struts2.actionsupport.BeanListActionSupport;
-import org.apache.empire.struts2.actionsupport.ReaderListActionSupport;
-import org.apache.empire.struts2.websample.db.SampleDB;
-import org.apache.empire.struts2.websample.web.actiontypes.Action;
-
-/**
- * EmployeeListAction
- * <p>
- * This class provides form functions for searching and displaying a list of employees.
- * This implementation shows two optional approaches for this.
- * 1. Use a ReaderListActionSupport object to directly display database query results in the JSP.<br> 
- *    This is most efficient, however it lacks some flexibility.<br>
- * 2. Use a BeanListActionSupport object to obtain a list of JavaBean objects from the query.<br>
- *    From the JSP the data of the list will be accessed though their getter and setters.<br>
- *    While this is not a efficent as the Reader approach, it is more flexible since post processing
- *    of the query result is possbile.
- * </p>
- */
-public class EmployeeListAction extends Action
-{
-    /**
-     * Action mappings
-     */
-    public static final String SEARCH   = "search";
-    public static final String LIST     = "list";
-
-    // the search info
-    public static class SearchInfo
-    {
-        private Integer employeeId;
-        private String firstName;
-        private String lastName;
-        private Integer departmentId;
-
-        public Integer getEmployeeId()
-        {
-            return employeeId;
-        }
-        public void setEmployeeId(Integer employeeId)
-        {
-            this.employeeId = employeeId;
-        }
-        public Integer getDepartmentId()
-        {
-            return departmentId;
-        }
-        public void setDepartmentId(Integer departmentId)
-        {
-            this.departmentId = departmentId;
-        }
-        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;
-        }
-    }
-
-    // the list result
-    public static class EmployeeInfo
-    {
-        private int employeeId;
-        private String name;
-        private String gender;
-        private Date dateOfBirth;
-        private String department;
-        
-        public int getEmployeeId()
-        {
-            return employeeId;
-        }
-        public void setEmployeeId(int employeeId)
-        {
-            this.employeeId = employeeId;
-        }
-        public String getName()
-        {
-            return name;
-        }
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-        public String getGender()
-        {
-            return gender;
-        }
-        public void setGender(String gender)
-        {
-            this.gender = gender;
-        }
-        public Date getDateOfBirth()
-        {
-            return dateOfBirth;
-        }
-        public void setDateOfBirth(Date dateOfBirth)
-        {
-            this.dateOfBirth = dateOfBirth;
-        }
-        public String getDepartment()
-        {
-            return department;
-        }
-        public void setDepartment(String department)
-        {
-            this.department = department;
-        }
-    }
-    
-    private BeanListActionSupport<EmployeeInfo> employeeBeanList = null;
-    private ReaderListActionSupport employeeReader = null;
-    private Options departments;
-    
-    public final DBColumnExpr C_FULL_NAME;  // Expression for Lastname + Firstname
-    public final DBColumnExpr C_DEPARTMENT;
-
-    // ------- Action Construction -------
-    
-    public EmployeeListAction()
-    {
-        SampleDB db = getDatabase();
-        C_FULL_NAME = db.T_EMPLOYEES.C_LASTNAME.append(", ").append(db.T_EMPLOYEES.C_FIRSTNAME).as("NAME");
-        C_DEPARTMENT = db.T_DEPARTMENTS.C_NAME.as("DEPARTMENT");
-        
-        // Set Title (optional)
-        C_FULL_NAME .setTitle("!label.name");
-        C_DEPARTMENT.setTitle("!label.department");
-        
-        employeeBeanList = new BeanListActionSupport<EmployeeInfo>(this, EmployeeInfo.class, "employees");
-        employeeReader = new ReaderListActionSupport(this, "reader");
-    }
-
-    // ------- Action Properties -------
-
-    public SearchInfo getSearchInfo()
-    {
-        return (SearchInfo)getActionBean(SearchInfo.class, true);
-    }
-    
-    public Options getDepartments()
-    {
-        if (departments==null)
-        {
-            SampleDB db = getDatabase();
-            DBCommand cmd = db.createCommand();
-            cmd.select(db.T_DEPARTMENTS.C_DEPARTMENT_ID);
-            cmd.select(db.T_DEPARTMENTS.C_NAME);
-            cmd.orderBy(db.T_DEPARTMENTS.C_NAME.asc());
-            departments = db.queryOptionList(cmd, getConnection());
-        }
-        return departments;
-    }
-    
-    // -------- Employee Bean List --------
-
-    public List<EmployeeInfo> getEmployees()
-    {
-        return employeeBeanList.getList();
-    }
-
-    // -------- Employee Reader --------
-
-    public  DBReader getReader()
-    {   // read only once!
-        return employeeReader.getReader();
-    }
-
-    // -------- Action Methods --------
-    
-    public String doInit()
-    {
-        return SEARCH;
-    }
-
-    public String doReset()
-    {
-        removeActionBean(SearchInfo.class);
-        return SEARCH;
-    }
-
-    public String doQuery()
-    {
-        // Reset list status
-        return doList();
-    }
-
-    public String doList()
-    {
-        SampleDB db = getDatabase();
-        SampleDB.Employees EMP = db.T_EMPLOYEES;
-        SampleDB.Departments DEP = db.T_DEPARTMENTS;
-        
-        DBCommand cmd = db.createCommand();
-        cmd.select(EMP.C_EMPLOYEE_ID);
-        cmd.select(C_FULL_NAME, EMP.C_GENDER, EMP.C_DATE_OF_BIRTH);
-        cmd.select(C_DEPARTMENT);
-        cmd.join  (DEP.C_DEPARTMENT_ID, EMP.C_DEPARTMENT_ID);
-
-        // Set filter constraints
-        SearchInfo si = getSearchInfo();
-        if (si.getDepartmentId()!=null)
-            cmd.where(EMP.C_DEPARTMENT_ID.is(si.getDepartmentId()));
-        if (StringUtils.isNotEmpty( si.getFirstName()) )
-            cmd.where(EMP.C_FIRSTNAME.likeUpper( si.getFirstName()+"%" )
-                  .or(EMP.C_FIRSTNAME.is(null)));
-        if (StringUtils.isNotEmpty( si.getLastName()) )
-            cmd.where(EMP.C_LASTNAME.likeUpper( si.getLastName()+"%" ));
-        
-        cmd.orderBy(EMP.C_LASTNAME);
-        cmd.orderBy(EMP.C_FIRSTNAME);
-        
-        // Init BeanList
-        if (!employeeBeanList.initBeanList(cmd))
-        {   // Error
-            return LIST;
-        }
-        
-        // Init Reader
-        employeeReader.initReader(cmd);
-        
-        return LIST;
-    }
-
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java
deleted file mode 100644
index b4e8b4a..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actions/LoginAction.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actions;
-
-import java.util.Map;
-
-import org.apache.empire.struts2.websample.web.SampleErrors;
-import org.apache.empire.struts2.websample.web.SampleUser;
-import org.apache.empire.struts2.websample.web.actiontypes.Action;
-
-import com.opensymphony.xwork2.config.entities.Parameterizable;
-
-public class LoginAction extends Action
-        implements Parameterizable // StaticParametersInterceptor
-{
-    // Login Targets
-    public static final String INPUT = "input";
-    public static final String SUCCESS = "success";
-
-    // LoginInfo
-    public class LoginInfo
-    {
-        private String name;
-        private String pwd;
-        public String getName()
-        {
-            return name;
-        }
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-        public String getPwd()
-        {
-            return pwd;
-        }
-        public void setPwd(String pwd)
-        {
-            this.pwd = pwd;
-        }
-    }
-    
-    // Login Action
-    public LoginAction()
-    {
-        // Constructor
-    }
-
-    // Login required for this action
-    @Override
-    public boolean loginRequired()
-    {
-        return false;
-    }
-    
-    // Login form bean
-    private LoginInfo loginInfo = new LoginInfo();
-    public LoginInfo getLoginInfo()
-    {
-        return loginInfo;
-    }
-
-    public String doInit()
-    {
-        SampleUser user = getUser();
-        if (user!=null)
-            loginInfo.setName(user.getUserId());
-        // Done
-        return INPUT;
-    }
-
-    public String doLogin()
-    {
-        String userID = loginInfo.getName();
-        String userName = userID;
-        
-        if (userID==null || userID.length()==0)
-        {
-            setActionError(SampleErrors.InvalidPassword);
-            return INPUT;
-        }
-        
-        // Login
-        SampleUser user = new SampleUser(userID, userName);
-        getSession().setUser(user);
-        // Done
-        return SUCCESS;
-    }
-
-    public String doLogout()
-    {
-        getSession().setUser(null);
-        return INPUT;
-    }
-
-    public String doError()
-    {
-        log.info("An error as occurred");
-        return INPUT;
-    }
-
-    /*
-     * Implementation of Parameterizable
-     */
-     
-     /*
-      * UPGRADE-struts 2.1.6
-      * CHANGE: changed "Map<String, Object>" to "Map<String, String>"
-      * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-      */
-    private Map<String, String> actionConfigParams = null;
-    
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "String Object" to "String value"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    public void addParam(String name, String value)
-    {
-        actionConfigParams.put(name, value);
-    }
-
-    public Map<String, String> getParams()
-    {
-        return actionConfigParams;
-    }
-
-    /*
-     * UPGRADE-struts 2.1.6
-     * CHANGE: changed "Map<String, Object>" to "Map<String, String>"
-     * Reason: The interface com.opensymphony.xwork2.config.entities.Parameterizable changed
-     */
-    public void setParams(Map<String, String> actionConfigParams)
-    {
-        this.actionConfigParams = actionConfigParams; 
-    }
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/Action.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/Action.java
deleted file mode 100644
index 45371be..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/Action.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-import java.sql.Connection;
-import java.util.Locale;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.empire.struts2.action.WebAction;
-import org.apache.empire.struts2.websample.db.SampleDB;
-import org.apache.empire.struts2.websample.web.SampleApplication;
-import org.apache.empire.struts2.websample.web.SampleContext;
-import org.apache.empire.struts2.websample.web.SampleRequest;
-import org.apache.empire.struts2.websample.web.SampleSession;
-import org.apache.empire.struts2.websample.web.SampleUser;
-
-public abstract class Action extends WebAction
-    implements SampleContext
-{
-    // Logger
-    @SuppressWarnings("hiding")
-    protected static Log log = LogFactory.getLog(Action.class);
-
-    public Action()
-    {
-        // Constructor
-    }
-
-    // Login required for this action
-    @Override
-    public boolean loginRequired()
-    {
-        return (getSession().getUser()==null);
-    }
-    
-    @Override
-    public Locale getLocale()
-    {
-        /*
-        Locale loc = super.getLocale();
-        if (loc.equals(Locale.GERMAN))
-            return loc;
-        */    
-        return Locale.ENGLISH; 
-    }
-    
-    // Request
-    public static SampleRequest getRequest() 
-    {
-        return SampleRequest.getInstance();
-    }
-    
-    // Application getters
-    public SampleApplication getApplication()
-    {
-        return getRequest().getApplication();
-    }
-    
-    public SampleSession getSession()
-    {
-        return getRequest().getSession();
-    }
-
-    // ------ Sample Context Implementation ------
-    
-    public SampleDB getDatabase()
-    {
-        return getApplication().getDatabase();
-    }
-    
-    public SampleUser getUser()
-    {
-        return getSession().getUser();
-    }
-    
-    @Override
-    public Connection getConnection()
-    {
-        return getRequest().getConnection();
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java
deleted file mode 100644
index f19fed8..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/BeanDetailAction.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-import org.apache.empire.data.Record;
-import org.apache.empire.data.bean.BeanClass;
-import org.apache.empire.data.bean.BeanRecordProxy;
-import org.apache.empire.exceptions.ItemNotFoundException;
-import org.apache.empire.exceptions.NotSupportedException;
-import org.apache.empire.struts2.actionsupport.BeanActionSupport;
-import org.apache.empire.struts2.actionsupport.SessionPersistence;
-import org.apache.empire.struts2.exceptions.InvalidFormDataException;
-
-import com.opensymphony.xwork2.interceptor.NoParameters;
-
-
-/**
- * BeanDetailAction
- * <p>
- * This class allows using a JavaBean or Data Transfer Object (DTO) for form data processing.
- * Metadata for the Beans should be provided using the BeanClass and BeanProperty classes.
- * </p>
- * @author Rainer
- */
-public abstract class BeanDetailAction<T> extends DetailAction
-    implements NoParameters // set this to provide custom parameter handling
-{
-    protected final BeanActionSupport<T> beanSupport;
-    
-    /**
-     * Constructs a BeanDetailAction from a BeanRecordProxy object
-     * @param record the BeanRecordProxy for the bean 
-     * @param persistence persistence level
-     */
-    public BeanDetailAction(BeanRecordProxy<T> record, SessionPersistence persistence)
-    {
-        beanSupport = new BeanActionSupport<T>(this, record, persistence);
-    }
-
-    /**
-     * Constructs a BeanDetailAction from a BeanClass definition
-     * @param beanClass the bean class defining the bean's metadata 
-     * @param persistence persistence level
-     */
-    public BeanDetailAction(BeanClass beanClass, SessionPersistence persistence)
-    {
-        beanSupport = new BeanActionSupport<T>(this, beanClass, persistence);
-    }
-    
-    /**
-     * Returns the Record interface implmentation for the bean.
-     * @return the Record interface implementation for the bean. 
-     */
-    public Record getRecord() 
-    {
-        return beanSupport.getRecord();
-    }
-
-    @Override
-    public String doCreate() 
-    {
-        T bean = createBean();
-        if (bean==null)
-        {   // Must have an action error set!
-            if (!hasActionError())
-                setActionError(new NotSupportedException(beanSupport, "createBean"));
-            return doCancel();
-        }
-        beanSupport.setData(bean);
-        return INPUT;
-    }
-
-    @Override
-    public String doLoad() 
-    {
-        // Read Record
-        Object[] key = beanSupport.getActionParamKey();
-        if (key!=null)
-        {   // Load the bean
-            T bean = loadBean(key);
-            if (bean==null)
-            {   // Must have an action error set!
-                if (!hasActionError())
-                    setActionError(new ItemNotFoundException(beanSupport.getRecordKeyString()));
-                return doCancel();
-            }
-            beanSupport.setData(bean);
-        }
-        // Check if record is valid
-        if (beanSupport.isValid()==false)
-        {
-            setActionError(new InvalidFormDataException());
-            return doCancel();
-        }
-        // Test
-        return INPUT;
-    }
-
-    @Override
-    public String doDelete() 
-    {
-        Object[] key = null;
-        if (beanSupport.hasActionKey(true))
-        {
-            if (beanSupport.getActionParamNewFlag()==false)
-                key = beanSupport.getActionParamKey();
-        }
-        else
-        {   // Get the bean key
-            if (beanSupport.getRecord().isNew()==false)
-                key = beanSupport.getRecordKeyValues();
-        }
-        // Delete the bean
-        if (key!=null && deleteBean(key)==false)
-        {   // An Error has occurred;
-            return doCancel();
-        }
-        // Clear Data
-        beanSupport.setData(null);
-        return RETURN;
-    }
-
-    @Override
-    public String doSave() {
-
-        // bean Support
-        if (beanSupport.isValid()==false)
-        {   // Create new or reload existing item
-            T bean;
-            if (beanSupport.getActionParamNewFlag())
-            {   // crate new Item
-                bean = createBean();
-            }
-            else
-            {   // reload existing item
-                bean = loadBean(beanSupport.getActionParamKey());
-            }
-            if (bean==null)
-            {   // Must have an action error set!
-                if (!hasActionError())
-                    setActionError(new ItemNotFoundException(beanSupport.getRecordKeyString()));
-                return doCancel();
-            }
-            beanSupport.setData(bean);
-        }
-        else if (beanSupport.getRecord().isNew()==false) 
-        {   // Check whether we have the right key
-            if (!beanSupport.checkKey())
-            {   // Record's don't match
-                setActionError(new InvalidFormDataException());
-                return doCancel();
-            }
-        }
-        // LoadFormData 
-        if (beanSupport.loadFormData()==false)
-        {   // Error loading form data
-            return INPUT;
-        }
-        
-        // Save the record
-        boolean isNew = beanSupport.getRecord().isNew();
-        if (saveBean(beanSupport.getData(), isNew)==false)
-        {   // Error saving bean
-            return INPUT;
-        }
-        
-        // Record has been saved successfully
-        // beanSupport.updateSessionKey();
-        beanSupport.setData(null);
-        
-        return RETURN;
-    }
-    
-    // ------- overridables -------
-    
-    /**
-     * Returns the bean for the supplied object key.
-     * If an error occurs the function must set an action error and return null.
-     * @return the bean object
-     */
-    protected abstract T createBean();
-    
-    /**
-     * Returns the bean for the supplied object key.
-     * If an error occurs the function must set an action error and return null.
-     * @param key the bean's key values
-     * @return the bean object
-     */
-    protected abstract T loadBean(Object[] key);
-    
-    /**
-     * Saves a bean object 
-     * @param bean 
-     * @param isNew true the bean is a newly created object or false otherwise
-     * @return true if the bean has been stored successfully or false otherwise
-     */
-    protected abstract boolean saveBean(T bean, boolean isNew);
-    
-    /**
-     * Deletes a bean object
-     * @param key 
-     * @return true if the bean has been stored successfully or false otherwise
-     */
-    protected abstract boolean deleteBean(Object[] key);
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java
deleted file mode 100644
index 7b773c4..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/web/actiontypes/DetailAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.empire.struts2.websample.web.actiontypes;
-
-
-public abstract class DetailAction extends Action
-{
-    /**
-     * Action mappings
-     */
-    public static final String INPUT  = "input";
-    public static final String RETURN = "return";
-
-    // Detail Action
-    public DetailAction()
-    {
-        // Default constructor
-    }
-        
-    public abstract String doCreate();
-    
-    public abstract String doLoad();
-
-    public abstract String doSave();
-
-    public abstract String doDelete();
-
-    // Optional overridable
-    public String doCancel()
-    {
-        return RETURN;
-    }
-    
-}
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.dtd b/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.dtd
deleted file mode 100644
index 7292bc0..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
-                               categoryFactory?)>
-
-<!-- The "threshold" attribute takes a level value such that all -->
-<!-- logging statements with a level equal or below this value are -->
-<!-- disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging   -->
-<!-- statements.                                                         -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository	 -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field   --> 
-<!-- keeps its old value.                                                -->
-     
-<!ATTLIST log4j:configuration
-  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  threshold                (all|debug|info|warn|error|fatal|off|null) "null"
-  debug                    (true|false|null)  "null"
->
-
-<!-- renderer elements allow the user to customize the conversion of  -->
-<!-- message objects to String.                                       -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
-  renderedClass  CDATA #REQUIRED
-  renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
-<!ATTLIST appender
-  name 		ID 	#REQUIRED
-  class 	CDATA	#REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
-  class		CDATA	#REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
-  class		CDATA	#REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
-<!ATTLIST errorHandler
-   class        CDATA   #REQUIRED 
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
-  ref IDREF #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  name		CDATA   #REQUIRED
-  value		CDATA	#REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
-  class   CDATA	#IMPLIED
-  value	  CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
-  class         CDATA   #IMPLIED
-  name		CDATA	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
-  name		ID	#REQUIRED
-  additivity	(true|false) "true"  
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory 
-   class        CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
-  ref IDREF #REQUIRED
->
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!--                       A logging event                                -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
-  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
-  version                (1.1|1.2) "1.2" 
-  includesLocationInfo   (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
-                       log4j:locationInfo?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
-    logger     CDATA #REQUIRED
-    level      CDATA #REQUIRED
-    thread     CDATA #REQUIRED
-    timestamp  CDATA #REQUIRED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
-  class  CDATA	#REQUIRED
-  method CDATA	#REQUIRED
-  file   CDATA	#REQUIRED
-  line   CDATA	#REQUIRED
->
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.xml b/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.xml
deleted file mode 100644
index 869bd33..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- -->  
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
-	<appender name="default" class="org.apache.log4j.ConsoleAppender">
-		<!-- layout class="org.apache.log4j.TTCCLayout"/ -->
-		<layout class="org.apache.log4j.PatternLayout">
-			<!-- param name="ConversionPattern" value="NSB(%c) %-5p %m	at %l%n"/ -->
-			<param name="ConversionPattern" value="%-5p [%d{HH:mm:ss}]: %m		at %l %n"/>
-		</layout>
-	</appender>
-
-	<!-- log detail configuration -->
-
-	<logger name="org.apache.empire.xml" additivity="false">
-		<level value="info"/>
-		<appender-ref ref="default"/>
-	</logger>
-	
-	<logger name="org.apache.empire.commons" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.db" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-	
-	<!-- Set this level to "debug" to log all SQL-Statements -->		
-	<logger name="org.apache.empire.db.DBDatabase" additivity="false">
-		<level value="debug"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<logger name="org.apache.empire.struts2" additivity="false">
-		<level value="warn"/>
-		<appender-ref ref="default"/>
-	</logger>
-	
-	<logger name="org.apache.empire.struts2.websample" additivity="false">
-		<level value="debug"/>
-		<appender-ref ref="default"/>
-	</logger>
-
-	<root>
-		<priority value="info"/>
-		<appender-ref ref="default"/>
-	</root>
-
-</log4j:configuration>
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_de.properties b/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_de.properties
deleted file mode 100644
index 69a4ce4..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_de.properties
+++ /dev/null
@@ -1,89 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#fields
-field.title.employees.employeeId=Mitarbeiter Nr.
-field.title.employees.salutation=Anrede
-field.title.employees.firstname=Vorname
-field.title.employees.lastname=Nachname
-field.title.employees.dateOfBirth=Geburtsdatum
-field.title.employees.departmentId=Abteilung
-field.title.employees.gender=Geschlecht
-field.title.employees.phoneNumber=Telefonnummer
-field.title.employees.email=E-Mail
-field.title.employees.retired=Ausgeschieden
-field.title.employees.updateTimestamp=Zuletzt ge�ndert am
-field.title.departments.name=Abteilungsname
-field.title.departments.head=Abteilugnsleiter
-
-#options
-option.employee.gender.male=M�nnlich
-option.employee.gender.female=Weiblich
-
-#labels
-application.title=Mitarbeiterverwaltung (Empire-db)
-label.employees=Mitarbeiterliste
-label.employees.beanList=Mitarbeiterliste (Bean-Liste)
-label.employees.reader=Mitarbeiterliste (DBReader)
-label.delete=L�schen
-label.edit=Bearbeiten
-label.employee.edit=Eintrag bearbeiten
-label.employee.add=Eintrag hinzuf�gen
-label.name=Name
-label.gender=Geschlecht
-label.age=Alter
-label.department=Abteilung
-label.user.Name=Name
-label.user.Pwd=Passwort
-
-page.label.login=Anmelden
-page.label.loginHint=Hinweis: Geben Sie einen beliebigen Benutzernamen und Kennwort an.
-page.label.logininfo=Sie sind angemeldet als:
-page.label.search=Mitarbeiter suchen
-page.label.list=Mitarbeiter ausw�hlen
-page.label.update=Mitarbeiter bearbeiten
-page.label.add=Mitarbeiter hinzuf�gen
-
-#button labels
-button.label.login=Anmelden
-button.label.search=Suchen...
-button.label.save=Speichern
-button.label.cancel=Abbrechen
-button.label.delete=L�schen
-
-#link labels
-link.label.addemployee=Neuen Eintrag anlegen
-link.label.edit=Bearbeiten
-link.label.delete=L�schen
-link.label.logout=Logout
-link.label.search=Suchen
-
-##-- errors
-errors.prefix=<span style="color:red;font-weight:bold;">
-errors.suffix=</span>
-
-error.invalidpassword=Der eingegebene Benutzername ist ung�ltig (Es ist mindestens ein Zeichen erforderlich!)
-error.web.recordsDontMatch=The form submitted is invalid for the current context.
-error.web.columnNotFound=Die Spalte {0} wurde nicht gefunden!
-error.web.fieldError=Feld {0}: {1}
-error.web.input.integerFormat=Ung�ltiges Zahlenformat
-error.web.input.numberFormat=Ung�ltiges Zahlenformat
-error.web.input.dateFormat=Ung�ltiges Datumsformat
-error.web.input.date.notime=Es wurde keine Zeit angegeben
-error.web.input.required=Das Feld ist eingabepflichtig 
-error.web.input.outOfRange=Der Wert muss zwischen {0} und {1} liegen.
-error.web.input.textTooShort=Der Wert muss mindestens {0} Zeichen enthalten. 
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_en.properties b/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_en.properties
deleted file mode 100644
index 85fffcf..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/messages_en.properties
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-#fields
-field.title.employees.employeeId=Employee ID
-field.title.employees.salutation=Salutation
-field.title.employees.firstname=Firstname
-field.title.employees.lastname=Lastname
-field.title.employees.dateOfBirth=Date of Birth
-field.title.employees.departmentId=Department
-field.title.employees.gender=Gender
-field.title.employees.phoneNumber=Phone
-field.title.employees.email=E-Mail
-field.title.employees.retired=Retired
-field.title.employees.updateTimestamp=Last change
-field.title.departments.name=Department
-field.title.departments.head=Head of Dept.
-
-#options
-option.employee.gender.male=Male
-option.employee.gender.female=Female
-
-#labels
-application.title=Employee Management Application
-label.employees=List of employees
-label.employees.beanList=Employees (Bean-List)
-label.employees.reader=Employees (DBReader)
-label.delete=Delete
-label.edit=Edit
-label.employee.edit=Employee details
-label.employee.add=Add employee
-label.department=Department
-label.user.Name=Name
-label.user.Pwd=Password
-
-page.label.login=Login
-page.label.loginHint=Hint: enter any non null username and password.
-page.label.logininfo=You are logged in as:
-page.label.search=Search employee
-page.label.list=Select employee
-page.label.update=Edit employee details
-page.label.add=Add new employee
-
-#button labels
-button.label.login=Login
-button.label.search=Search
-button.label.save=Save
-button.label.cancel=Cancel
-button.label.delete=Delete
-
-#link labels
-link.label.addemployee=Add new employee
-link.label.edit=Edit
-link.label.delete=Delete
-link.label.logout=Logout
-link.label.search=Search
-
-##-- errors
-errors.prefix=<span style="color:red;font-weight:bold;">
-errors.suffix=</span>
-
-error.invalidpassword=The username is invalid (At least one character is required!)
-error.web.recordsDontMatch=The form submitted is invalid for the current context.
-error.web.columnNotFound=The column {0} has not been found!
-error.web.fieldError=Field {0}: {1}
-error.web.input.integerFormat=Invalid Integer format
-error.web.input.numberFormat=Invalid number format
-error.web.input.dateFormat=Invalid date format
-error.web.input.date.notime=No time specified.
-error.web.input.required=This field is required 
-error.web.input.outOfRange=The value must be in the range of {0} and {1}.
-error.web.input.textTooShort=The value must contain at least {0} characters. 
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.properties b/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.properties
deleted file mode 100644
index d5094ea..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.nder the License.
-
-struts.custom.i18n.resources=messages
-struts.devMode=true
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.xml b/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.xml
deleted file mode 100644
index 5c01f6a..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/resources/struts.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<!DOCTYPE struts PUBLIC
-    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
-    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
-
-<struts>
-
-	<include file="struts-empire.xml"></include>
-
-    <!-- 
-    <constant name="struts.devMode" value="true" />
-    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
-     -->
-
-	<!-- Configuration for the default package. -->
-	<package name="sample" namespace="" extends="empire-default">
-
-	    <!-- Action Mappings -->
-		<action name="error" class="org.apache.empire.struts2.websample.web.actions.LoginAction" method="doInit">
-			<result name="input">/jsp/login.jsp</result>
-		</action>
-
-		<action name="login" class="org.apache.empire.struts2.websample.web.actions.LoginAction" method="doInit">
-			<result name="input">/jsp/login.jsp</result>
-			<result name="success" type="redirectAction">employeeList!doInit</result>
-		</action>
-		
-		<action name="employeeList" class="org.apache.empire.struts2.websample.web.actions.EmployeeListAction" method="doInit">
-			<result name="search">/jsp/employeeSearch.jsp</result>
-			<result name="list">/jsp/employeeList.jsp</result>
-		</action>
-
-		<action name="employeeDetail" class="org.apache.empire.struts2.websample.web.actions.EmployeeDetailAction" method="doLoad">
-			<result name="input">/jsp/employeeDetails.jsp</result>
-			<result name="return" type="redirectAction">employeeList!doList</result>
-		</action>
-
-	</package>
-</struts>
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/config.xml b/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/config.xml
deleted file mode 100644
index f1272a7..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/config.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<config>
-
-	<properties>
-		<!-- provider name must match the property-section containing the connection data -->
-		<databaseProvider>hsqldb</databaseProvider>
-	</properties>
-
-	<properties-hsqldb>
-		<!-- JDBC properties for a HSQLDB Database connection -->
-		<!-- Required jar file: hsqldb.jar -->
-		<jdbcClass>org.hsqldb.jdbc.JDBCDriver</jdbcClass>
-		<jdbcURL>jdbc:hsqldb:file:hsqldb/sample;shutdown=true</jdbcURL>
-		<jdbcUser>sa</jdbcUser>
-		<jdbcPwd></jdbcPwd>
-		<schemaName>DBSAMPLE</schemaName>
-	</properties-hsqldb>
-
-	<properties-mysql>
-		<!-- JDBC properties for a MySQL Database connection -->
-		<!-- Required jar file: mysql-connector-java-5.1.6-bin.jar -->
-		<jdbcClass>com.mysql.jdbc.Driver</jdbcClass>
-		<jdbcURL>jdbc:mysql://localhost</jdbcURL>
-		<jdbcUser>root</jdbcUser>
-		<jdbcPwd>empire-db</jdbcPwd>
-		<schemaName>DBSAMPLE</schemaName>
-	</properties-mysql>
-
-	<properties-oracle>
-		<!-- JDBC properties for an Oracle Database connection -->
-		<!-- Required jar file: ojdbc14.jar -->
-		<jdbcClass>oracle.jdbc.driver.OracleDriver</jdbcClass>
-		<jdbcURL>jdbc:oracle:thin:@192.168.0.2:1521:ora10</jdbcURL>
-		<jdbcUser>DBSAMPLE</jdbcUser>
-		<jdbcPwd>DBSAMPLE</jdbcPwd>
-		<schemaName>DBSAMPLE</schemaName>
-	</properties-oracle>
-
-	<properties-sqlserver>
-		<!-- JDBC properties for a Microsoft SQL-Server Database connection -->
-		<!-- Required jar file: sqljdbc.jar -->
-		<jdbcClass>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbcClass>
-		<jdbcURL>jdbc:sqlserver://192.168.0.2:1433</jdbcURL>
-		<jdbcUser>sa</jdbcUser>
-		<jdbcPwd>empire-db</jdbcPwd>
-		<schemaName>DBSAMPLE</schemaName>
-	</properties-sqlserver>
-	
-</config>
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/empire-tags.tld b/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/empire-tags.tld
deleted file mode 100644
index 8155b43..0000000
--- a/empire-db-examples/empire-db-example-struts2/src/main/webapp/WEB-INF/empire-tags.tld
+++ /dev/null
@@ -1,2040 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- --> 
-<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.1</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>true</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>true</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>true</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>true</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>true</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>recordProperty</name>
-      <required>false</required>
-	  <rtexprvalue>true</rtexprvalue>
-	  <type>java.lang.String</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>cssClass</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>cssOddStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnClass</name>
-      <required>false</required>
-      <rtexprvalue>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>urlType</name>
-      <required>false</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>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>true</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>true</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>true</rtexprvalue>
-	  <type>java.lang.String</type>
-    </attribute>
-    <attribute>
-      <name>columnStyle</name>
-      <required>false</required>
-      <rtexprvalue>true</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>true</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>true</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>urlType</name>
-      <required>false</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>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>true</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>urlType</name>
-      <required>false</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>true</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>
... 21339 lines suppressed ...