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

lukaszlenart pushed a commit to branch feature/struts7
in repository https://gitbox.apache.org/repos/asf/struts-examples.git

commit fdfd8033a9112804bef44243b654f13a771e0ec7
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Thu Dec 19 19:35:29 2024 +0100

    Migrates to Struts 7
---
 .../java/org/apache/struts_examples/ActionA.java   |  2 +-
 .../java/org/apache/struts_examples/ActionB.java   |  2 +-
 .../src/main/java/example/actions/HelloAction.java |  3 +-
 .../main/java/example/actions/RegisterAction.java  |  2 +-
 annotations/src/main/resources/log4j2.xml          |  1 -
 basic-struts/src/main/resources/log4j2.xml         |  1 -
 .../org/apache/struts/edit/action/EditAction.java  |  2 +-
 bean-validation/src/main/resources/log4j2.xml      |  1 -
 blank/src/main/java/example/ExampleSupport.java    |  2 +-
 blank/src/main/resources/log4j2.xml                |  1 -
 blank/src/test/java/example/ConfigTest.java        | 10 ++--
 blank/src/test/java/example/HelloWorldTest.java    |  2 +-
 blank/src/test/java/example/LoginTest.java         |  4 +-
 .../struts/helloworld/action/HelloWorldAction.java | 22 ++++-----
 coding-actions/src/main/resources/log4j2.xml       |  1 -
 .../org/apache/struts/edit/action/EditAction.java  |  2 +-
 control-tags/src/main/resources/log4j2.xml         |  1 -
 .../apache/struts/crud/action/PersonAction.java    | 16 +++----
 crud/src/main/resources/log4j2.xml                 |  1 -
 .../struts/helloworld/action/HelloWorldAction.java | 24 +++++-----
 .../apache/struts/register/action/Register.java    |  7 ++-
 debugging-struts/src/main/resources/log4j2.xml     |  1 -
 .../org/apache/struts_example/IndexAction.java     |  4 +-
 dynamic-href/src/main/resources/log4j2.xml         |  1 -
 .../struts/helloworld/action/HelloWorldAction.java | 34 +++++++------
 .../apache/struts/register/action/Register.java    |  8 ++--
 exception-handling/src/main/resources/log4j2.xml   |  1 -
 .../org/apache/struts/edit/action/EditAction.java  | 22 ++++-----
 exclude-parameters/src/main/resources/log4j2.xml   |  1 -
 expression-cache/pom.xml                           |  1 -
 .../java/org/apache/struts/cache/CustomOEC.java    |  2 +-
 .../org/apache/struts/cache/CustomOECFactory.java  | 30 ++++++------
 .../java/org/apache/struts/cache/CustomOELRUC.java |  2 +-
 .../java/org/apache/struts/cache/IndexAction.java  |  2 +-
 expression-cache/src/main/resources/struts.xml     |  2 +-
 .../java/org/apache/struts/example/Upload.java     |  2 +-
 file-upload/src/main/resources/log4j2.xml          |  1 -
 .../struts/helloworld/action/HelloWorldAction.java | 24 +++++-----
 .../apache/struts/register/action/Register.java    |  2 +-
 form-processing/src/main/resources/log4j2.xml      |  1 -
 .../org/apache/struts/edit/action/EditAction.java  |  2 +-
 form-tags/src/main/resources/log4j2.xml            |  1 -
 .../struts/helloworld/action/HelloWorldAction.java | 34 +++++++------
 .../apache/struts/register/action/Register.java    | 52 ++++++++++----------
 form-validation/src/main/resources/log4j2.xml      |  1 -
 .../org/apache/struts/edit/action/EditAction.java  |  2 +-
 form-xml-validation/src/main/resources/log4j2.xml  |  1 -
 .../helloworld/action/ExecAndWaitTestAction.java   |  2 +-
 .../struts/helloworld/action/HelloWorldAction.java | 11 ++---
 helloworld/src/main/resources/log4j2.xml           |  1 -
 .../struts/helloworld/action/HelloWorldAction.java |  6 +--
 http-session/src/main/resources/log4j2.xml         |  1 -
 .../apache/struts/register/action/Register.java    | 53 ++++++++++----------
 interceptors/src/main/resources/log4j2.xml         |  1 -
 .../example/jasperreports/action/JasperAction.java |  2 +-
 jasperreports/src/main/resources/log4j2.xml        |  1 -
 .../main/java/org/apache/struts/example/Chart.java |  2 +-
 jfreechart/src/main/resources/log4j2.xml           |  1 -
 .../src/main/java/org/demo/ProduceAction.java      |  2 +-
 json-customize/src/main/resources/log4j2.xml       |  1 -
 json/src/main/java/org/demo/ConsumeAction.java     |  2 +-
 json/src/main/java/org/demo/ProduceAction.java     |  2 +-
 json/src/main/resources/log4j2.xml                 |  1 -
 .../mailreader2/AuthenticationInterceptor.java     | 10 ++--
 .../examples/mailreader2/MailreaderSupport.java    |  2 +-
 .../examples/mailreader2/SubscriptionAction.java   |  2 +-
 mailreader2/src/main/resources/log4j2.xml          |  1 -
 mailreader2/src/main/webapp/tour.html              |  6 +--
 .../struts/helloworld/action/HelloWorldAction.java | 34 +++++++------
 .../apache/struts/register/action/Register.java    | 52 ++++++++++----------
 message-resource/src/main/resources/log4j2.xml     |  1 -
 .../org/apache/struts/example/HelloWorld1.java     |  2 +-
 .../org/apache/struts/example/HelloWorld2.java     |  2 +-
 message-store/src/main/resources/log4j2.xml        |  2 -
 pom.xml                                            |  2 +-
 .../org/apache/struts/edit/action/EditAction.java  |  4 +-
 preparable-interface/src/main/resources/log4j2.xml |  1 -
 .../struts2/examples/quarkus/IndexAction.java      |  4 +-
 quarkus/src/main/resources/log4j2.xml              |  1 -
 .../examples/struts/actions/IndexController.java   |  2 +-
 .../struts/actions/data/LanguageController.java    |  6 +--
 .../struts/actions/data/OrderController.java       |  2 +-
 .../interceptors/ExceptionHandlerInterceptor.java  |  8 ++--
 rest-angular/src/main/resources/log4j2.xml         |  1 -
 .../struts/actions/IndexControllerTest.java        |  2 +-
 .../struts/actions/data/OrderControllerTest.java   |  2 +-
 .../org/apache/struts/example/MovieAction.java     | 10 ++--
 restful2actionmapper/src/main/resources/log4j2.xml |  1 -
 .../struts2/shiro/example/action/LoginAction.java  | 56 +++++++++++-----------
 .../shiro/example/action/ShiroBaseAction.java      | 12 ++---
 .../example/interceptor/ShiroUserInterceptor.java  | 28 +++--------
 .../org/apache/struts/edit/action/EditAction.java  | 56 +++++++++++-----------
 spring-struts/src/main/resources/log4j2.xml        |  1 -
 .../org/apache/struts_example/FactoryAction.java   |  2 +-
 .../org/apache/struts_example/IndexAction.java     |  7 ++-
 .../struts_example/MyLocalizedTextProvider.java    |  2 +-
 .../struts_example/MyTextProviderFactory.java      |  8 ++--
 .../apache/struts_example/MyTextTextProvider.java  |  8 ++--
 .../org/apache/struts_example/SystemAction.java    |  6 +--
 text-provider/src/main/resources/struts.xml        |  6 +--
 .../org/apache/struts/edit/action/EditAction.java  | 52 ++++++++++----------
 themes-override/src/main/resources/log4j2.xml      |  1 -
 .../org/apache/struts/edit/action/EditAction.java  | 53 ++++++++++----------
 themes/src/main/resources/log4j2.xml               |  1 -
 .../main/java/org/demo/example/ExampleSupport.java |  2 +-
 .../org/apache/struts/example/NumberAction.java    |  2 +-
 .../org/apache/struts/example/ThemeAction.java     |  2 +-
 type-conversion/src/main/resources/log4j2.xml      |  2 -
 .../apache/struts/register/action/Register.java    |  2 +-
 unit-testing/src/main/resources/log4j2.xml         |  1 -
 .../struts/register/action/RegisterTest.java       |  4 +-
 .../org/apache/strutsexamples/actions/Home.java    |  2 +-
 .../org/apache/strutsexamples/actions/Index.java   |  2 +-
 .../org/apache/strutsexamples/actions/Login.java   |  2 +-
 .../apache/strutsexamples/actions/admin/Users.java |  2 +-
 .../strutsexamples/web/TilesUnknownHandler.java    | 10 ++--
 unknown-handler/src/main/resources/log4j2.xml      |  2 -
 unknown-handler/src/main/resources/struts.xml      |  2 +-
 .../helloworld/action/HelloWorldAction.java        | 20 ++++----
 using-tags/src/main/resources/log4j2.xml           |  1 -
 .../struts/validation_messages/ExampleSupport.java |  2 +-
 .../apache/struts/validation_messages/Login.java   |  2 -
 validation-messages/src/main/resources/log4j2.xml  |  2 -
 .../wildcardmethod/action/PersonAction.java        |  2 +-
 .../src/main/resources/log4j2.xml                  |  1 -
 .../main/java/org/apache/struts/form/Start.java    |  2 +-
 .../main/java/org/apache/struts/store/Save.java    |  2 +-
 wildcard-regex/src/main/resources/log4j2.xml       |  2 -
 128 files changed, 437 insertions(+), 525 deletions(-)

diff --git 
a/action-chaining/src/main/java/org/apache/struts_examples/ActionA.java 
b/action-chaining/src/main/java/org/apache/struts_examples/ActionA.java
index 248e1f2..64cfc5c 100644
--- a/action-chaining/src/main/java/org/apache/struts_examples/ActionA.java
+++ b/action-chaining/src/main/java/org/apache/struts_examples/ActionA.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts_examples;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class ActionA extends ActionSupport {
 
diff --git 
a/action-chaining/src/main/java/org/apache/struts_examples/ActionB.java 
b/action-chaining/src/main/java/org/apache/struts_examples/ActionB.java
index 4f9f36f..31ddd32 100644
--- a/action-chaining/src/main/java/org/apache/struts_examples/ActionB.java
+++ b/action-chaining/src/main/java/org/apache/struts_examples/ActionB.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts_examples;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class ActionB extends ActionSupport {
 
diff --git a/annotations/src/main/java/example/actions/HelloAction.java 
b/annotations/src/main/java/example/actions/HelloAction.java
index 91c2c9d..2ed9b3d 100644
--- a/annotations/src/main/java/example/actions/HelloAction.java
+++ b/annotations/src/main/java/example/actions/HelloAction.java
@@ -1,8 +1,9 @@
 package example.actions;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionSupport;
+
 /**
  * Acts as a controller to handle actions
  * related to registering a user.
diff --git a/annotations/src/main/java/example/actions/RegisterAction.java 
b/annotations/src/main/java/example/actions/RegisterAction.java
index 42e5f32..2415edc 100644
--- a/annotations/src/main/java/example/actions/RegisterAction.java
+++ b/annotations/src/main/java/example/actions/RegisterAction.java
@@ -1,9 +1,9 @@
 package example.actions;
 
-import com.opensymphony.xwork2.ActionSupport;
 import example.model.Person;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.convention.annotation.Action;
 
 /**
diff --git a/annotations/src/main/resources/log4j2.xml 
b/annotations/src/main/resources/log4j2.xml
index f5bdb17..6c2c3a9 100644
--- a/annotations/src/main/resources/log4j2.xml
+++ b/annotations/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.convention" level="debug"/>
         <Logger name="example" level="debug"/>
diff --git a/basic-struts/src/main/resources/log4j2.xml 
b/basic-struts/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/basic-struts/src/main/resources/log4j2.xml
+++ b/basic-struts/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git 
a/bean-validation/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/bean-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
index 8a59443..04179b3 100755
--- 
a/bean-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ 
b/bean-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,11 +1,11 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import jakarta.validation.Valid;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/bean-validation/src/main/resources/log4j2.xml 
b/bean-validation/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/bean-validation/src/main/resources/log4j2.xml
+++ b/bean-validation/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git a/blank/src/main/java/example/ExampleSupport.java 
b/blank/src/main/java/example/ExampleSupport.java
index efde209..5c1127f 100644
--- a/blank/src/main/java/example/ExampleSupport.java
+++ b/blank/src/main/java/example/ExampleSupport.java
@@ -19,7 +19,7 @@
 
 package example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Base Action class for the Tutorial package.
diff --git a/blank/src/main/resources/log4j2.xml 
b/blank/src/main/resources/log4j2.xml
index 092d5f6..06f1766 100644
--- a/blank/src/main/resources/log4j2.xml
+++ b/blank/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git a/blank/src/test/java/example/ConfigTest.java 
b/blank/src/test/java/example/ConfigTest.java
index 5663474..dbf566e 100644
--- a/blank/src/test/java/example/ConfigTest.java
+++ b/blank/src/test/java/example/ConfigTest.java
@@ -19,12 +19,12 @@
 
 package example;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.config.RuntimeConfiguration;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
-import com.opensymphony.xwork2.config.entities.ResultConfig;
-import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.config.RuntimeConfiguration;
 import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+import org.apache.struts2.config.entities.ActionConfig;
+import org.apache.struts2.config.entities.ResultConfig;
+import org.apache.struts2.config.providers.XmlConfigurationProvider;
 import org.apache.struts2.junit.StrutsTestCase;
 
 import java.util.List;
diff --git a/blank/src/test/java/example/HelloWorldTest.java 
b/blank/src/test/java/example/HelloWorldTest.java
index 0ef5990..96b74b9 100644
--- a/blank/src/test/java/example/HelloWorldTest.java
+++ b/blank/src/test/java/example/HelloWorldTest.java
@@ -18,7 +18,7 @@
  */
 package example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.junit.StrutsTestCase;
 
 public class HelloWorldTest extends StrutsTestCase {
diff --git a/blank/src/test/java/example/LoginTest.java 
b/blank/src/test/java/example/LoginTest.java
index e4acf4c..bf8022a 100644
--- a/blank/src/test/java/example/LoginTest.java
+++ b/blank/src/test/java/example/LoginTest.java
@@ -19,8 +19,8 @@
 
 package example;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.config.entities.ActionConfig;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index ffcf6e2..fdd75f7 100644
--- 
a/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/coding-actions/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the MessageStore model class, and returns a String 
+ * of the MessageStore model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
     private static final long serialVersionUID = 1L;
-    
+
     /**
      * The model class that stores the message
      * to display in the view.
      */
     private MessageStore messageStore;
-    
+
     private static int helloCount = 0;
-    
+
     public int getHelloCount() {
         return helloCount;
     }
@@ -38,24 +38,22 @@ public class HelloWorldAction extends ActionSupport {
     }
 
     /*
-     * Creates the MessageStore model object, 
-     * increase helloCount by 1 and 
+     * Creates the MessageStore model object,
+     * increase helloCount by 1 and
      * returns success.  The MessageStore model
      * object will be available to the view.
-     * (non-Javadoc)
-     * @see com.opensymphony.xwork2.ActionSupport#execute()
      */
     public String execute() throws Exception {
         messageStore = new MessageStore() ;
-        
+
         //Action included a query string parameter of userName
         //or a form field with name of userName
         if (userName != null) {
             messageStore.setMessage( messageStore.getMessage() + " " + 
userName);
         }
-        
+
         helloCount++;
-        
+
         return SUCCESS;
     }
 
diff --git a/coding-actions/src/main/resources/log4j2.xml 
b/coding-actions/src/main/resources/log4j2.xml
index 25edfa1..b622886 100644
--- a/coding-actions/src/main/resources/log4j2.xml
+++ b/coding-actions/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.helloworld" level="debug"/>
         <Root level="warn">
diff --git 
a/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
index cc8ceee..1e527b7 100755
--- a/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ b/control-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/control-tags/src/main/resources/log4j2.xml 
b/control-tags/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/control-tags/src/main/resources/log4j2.xml
+++ b/control-tags/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git a/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java 
b/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
index 6a85cea..7947f45 100755
--- a/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
+++ b/crud/src/main/java/org/apache/struts/crud/action/PersonAction.java
@@ -1,22 +1,22 @@
 package org.apache.struts.crud.action;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.crud.model.Country;
 import org.apache.struts.crud.model.Person;
 import org.apache.struts.crud.service.DefaultPersonService;
 import org.apache.struts.crud.service.PersonService;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.Preparable;
 
 /**
  * Acts as a controller to handle actions related to editing a Person.
- * 
+ *
  * @author bruce phillips
  * @author antonio sánchez
  */
 public class PersonAction extends ActionSupport implements Preparable {
-    
+
     private static final Logger LOG = 
LogManager.getLogger(PersonAction.class.getName());
     private PersonService personService = new DefaultPersonService();
     private Person person;
@@ -32,8 +32,8 @@ public class PersonAction extends ActionSupport implements 
Preparable {
         sports = personService.getSports();
         countries = personService.getCountries();
         genders = personService.getGenders();
-        LOG.info("Prepared support data for Person entity.");        
-        
+        LOG.info("Prepared support data for Person entity.");
+
         if (person != null && person.getPersonId() != null) {
             person = personService.getPerson(person.getPersonId());
             LOG.info("Preparing actual data for Person: " + person);
@@ -48,7 +48,7 @@ public class PersonAction extends ActionSupport implements 
Preparable {
         LOG.info("Listing persons");
         return SUCCESS;
     }
-    
+
     /**
      * Save the state of the Person object instance field.
      */
@@ -72,7 +72,7 @@ public class PersonAction extends ActionSupport implements 
Preparable {
         LOG.info("Deleted Person: " + person);
         return SUCCESS;
     }
-    
+
     public Person[] getPersons() {
         return persons;
     }
diff --git a/crud/src/main/resources/log4j2.xml 
b/crud/src/main/resources/log4j2.xml
index 7c997ba..d2a5d7c 100755
--- a/crud/src/main/resources/log4j2.xml
+++ b/crud/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts.crud" level="debug"/>
         <Root level="info">
diff --git 
a/debugging-struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/debugging-struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index c92f278..d6ca2c1 100644
--- 
a/debugging-struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/debugging-struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
        private static final long serialVersionUID = 1L;
-       
+
        /**
         * The model class that stores the message
         * to display in the view.
         */
        private MessageStore messageStore;
-       
+
        private static int helloCount = 0;
-       
+
        public int getHelloCount() {
                return helloCount;
        }
@@ -30,7 +30,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setHelloCount(int helloCount) {
                HelloWorldAction.helloCount = helloCount;
        }
-       
+
        private String userName;
 
        public String getUserName() {
@@ -42,24 +42,22 @@ public class HelloWorldAction extends ActionSupport {
        }
 
        /*
-        * Creates the MessageStore model object, 
-        * increase helloCount by 1 and 
+        * Creates the MessageStore model object,
+        * increase helloCount by 1 and
         * returns success.  The MessageStore model
         * object will be available to the view.
-        * (non-Javadoc)
-        * @see com.opensymphony.xwork2.ActionSupport#execute()
         */
        public String execute() throws Exception {
-               
+
                messageStore = new MessageStore() ;
-               
+
                //Action included a query string parameter of userName
                //or a form field with name of userName
                if (userName != null) {
                        messageStore.setMessage( messageStore.getMessage() + " 
" + userName);
                }
                helloCount++;
-               
+
                return SUCCESS;
        }
 
diff --git 
a/debugging-struts/src/main/java/org/apache/struts/register/action/Register.java
 
b/debugging-struts/src/main/java/org/apache/struts/register/action/Register.java
index 3bef136..7c0f449 100644
--- 
a/debugging-struts/src/main/java/org/apache/struts/register/action/Register.java
+++ 
b/debugging-struts/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,16 +1,15 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.exceptions.SecurityBreachException;
 import org.apache.struts.register.model.Person;
-
+import org.apache.struts2.ActionSupport;
 
 
 /**
  * Acts as a controller to handle actions related to registering a user.
- * 
+ *
  * @author bruce phillips
- * 
+ *
  */
 public class Register extends ActionSupport {
 
diff --git a/debugging-struts/src/main/resources/log4j2.xml 
b/debugging-struts/src/main/resources/log4j2.xml
index ba1d132..a5ee900 100644
--- a/debugging-struts/src/main/resources/log4j2.xml
+++ b/debugging-struts/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/dynamic-href/src/main/java/org/apache/struts_example/IndexAction.java 
b/dynamic-href/src/main/java/org/apache/struts_example/IndexAction.java
index 1997d7d..13e96c3 100644
--- a/dynamic-href/src/main/java/org/apache/struts_example/IndexAction.java
+++ b/dynamic-href/src/main/java/org/apache/struts_example/IndexAction.java
@@ -1,7 +1,7 @@
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.action.Action;
 
 import java.util.UUID;
 
diff --git a/dynamic-href/src/main/resources/log4j2.xml 
b/dynamic-href/src/main/resources/log4j2.xml
index 3b0e7d8..d62872c 100644
--- a/dynamic-href/src/main/resources/log4j2.xml
+++ b/dynamic-href/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="debug"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Logger name="org.apache.struts.example" level="debug"/>
         <Root level="warn">
diff --git 
a/exception-handling/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/exception-handling/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index 1285010..1547a2e 100644
--- 
a/exception-handling/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/exception-handling/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
        private static final long serialVersionUID = 1L;
-       
+
        /**
         * The model class that stores the message
         * to display in the view.
         */
        private MessageStore messageStore;
-       
+
        private static int helloCount = 0;
-       
+
        public int getHelloCount() {
                return helloCount;
        }
@@ -30,7 +30,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setHelloCount(int helloCount) {
                HelloWorldAction.helloCount = helloCount;
        }
-       
+
        private String userName;
 
        public String getUserName() {
@@ -42,27 +42,25 @@ public class HelloWorldAction extends ActionSupport {
        }
 
        /*
-        * Creates the MessageStore model object, 
-        * increase helloCount by 1 and 
+        * Creates the MessageStore model object,
+        * increase helloCount by 1 and
         * returns success.  The MessageStore model
         * object will be available to the view.
-        * (non-Javadoc)
-        * @see com.opensymphony.xwork2.ActionSupport#execute()
         */
        public String execute() throws Exception {
-               
+
                messageStore = new MessageStore() ;
-               
+
                //Action included a query string parameter of userName
                //or a form field with name of userName
                if (userName != null) {
-                       
+
                        messageStore.setMessage( messageStore.getMessage() + " 
" + userName);
-                       
+
                }
-               
+
                helloCount++;
-               
+
                return SUCCESS;
        }
 
@@ -73,7 +71,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setMessageStore(MessageStore messageStore) {
                this.messageStore = messageStore;
        }
-       
-       
+
+
 
 }
diff --git 
a/exception-handling/src/main/java/org/apache/struts/register/action/Register.java
 
b/exception-handling/src/main/java/org/apache/struts/register/action/Register.java
index 991416b..80cc8c0 100644
--- 
a/exception-handling/src/main/java/org/apache/struts/register/action/Register.java
+++ 
b/exception-handling/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,16 +1,14 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.exceptions.SecurityBreachException;
 import org.apache.struts.register.model.Person;
-
-
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a controller to handle actions related to registering a user.
- * 
+ *
  * @author bruce phillips
- * 
+ *
  */
 public class Register extends ActionSupport {
 
diff --git a/exception-handling/src/main/resources/log4j2.xml 
b/exception-handling/src/main/resources/log4j2.xml
index ba1d132..a5ee900 100644
--- a/exception-handling/src/main/resources/log4j2.xml
+++ b/exception-handling/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/exclude-parameters/src/main/java/org/apache/struts/edit/action/EditAction.java
 
b/exclude-parameters/src/main/java/org/apache/struts/edit/action/EditAction.java
index 0383bbc..94a4321 100644
--- 
a/exclude-parameters/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ 
b/exclude-parameters/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,7 +1,5 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.edit.model.Person;
@@ -10,6 +8,8 @@ import org.apache.struts.edit.service.CarModelsService;
 import org.apache.struts.edit.service.CarModelsServiceHardCoded;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.Preparable;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -25,10 +25,10 @@ public class EditAction extends ActionSupport implements 
Preparable {
 
        private static Logger log = LogManager.getLogger(EditAction.class);
        private static final long serialVersionUID = 1L;
-       
+
        private EditService editService = new EditServiceInMemory();
        private CarModelsService carModelsService = new 
CarModelsServiceHardCoded() ;
-       
+
        private Person personBean;
        private String [] sports = {"football", "baseball", "basketball" };
        private String [] genders = {"male", "female", "not sure" };
@@ -45,26 +45,26 @@ public class EditAction extends ActionSupport implements 
Preparable {
        public void prepareExecute() {
                log.info("In prepareExecute method...");
        }
-       
+
        public String execute() throws Exception {
                log.info ("In execute method...");
            editService.savePerson( getPersonBean() );
                return SUCCESS;
        }
-       
+
        public void prepareInput() {
                log.info("In prepareInput method...");
        }
-       
+
        public String input() throws Exception {
                log.info("In input method...");
                return INPUT;
        }
-       
+
        public Person getPersonBean() {
                return personBean;
        }
-       
+
        public void setPersonBean(Person person) {
                personBean = person;
        }
@@ -72,7 +72,7 @@ public class EditAction extends ActionSupport implements 
Preparable {
        public List<String> getSports() {
                return Arrays.asList(sports);
        }
-       
+
        public List<String> getGenders() {
                return Arrays.asList(genders);
        }
@@ -85,7 +85,7 @@ public class EditAction extends ActionSupport implements 
Preparable {
                states.add( new State("FL", "Florida") );
                states.add( new State("KS", "Kansas") );
                states.add( new State("NY", "New York") );
-               
+
                return states;
        }
 
diff --git a/exclude-parameters/src/main/resources/log4j2.xml 
b/exclude-parameters/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/exclude-parameters/src/main/resources/log4j2.xml
+++ b/exclude-parameters/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git a/expression-cache/pom.xml b/expression-cache/pom.xml
index 94868ea..1947f99 100644
--- a/expression-cache/pom.xml
+++ b/expression-cache/pom.xml
@@ -35,7 +35,6 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <struts2.version>6.1.0-SNAPSHOT</struts2.version>
     </properties>
 
 
diff --git 
a/expression-cache/src/main/java/org/apache/struts/cache/CustomOEC.java 
b/expression-cache/src/main/java/org/apache/struts/cache/CustomOEC.java
index 8aab971..e8f8667 100644
--- a/expression-cache/src/main/java/org/apache/struts/cache/CustomOEC.java
+++ b/expression-cache/src/main/java/org/apache/struts/cache/CustomOEC.java
@@ -18,9 +18,9 @@
  */
 package org.apache.struts.cache;
 
-import com.opensymphony.xwork2.ognl.OgnlDefaultCache;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ognl.OgnlDefaultCache;
 
 public class CustomOEC extends OgnlDefaultCache<String, Object> {
 
diff --git 
a/expression-cache/src/main/java/org/apache/struts/cache/CustomOECFactory.java 
b/expression-cache/src/main/java/org/apache/struts/cache/CustomOECFactory.java
index 4a0ef75..46d14ed 100644
--- 
a/expression-cache/src/main/java/org/apache/struts/cache/CustomOECFactory.java
+++ 
b/expression-cache/src/main/java/org/apache/struts/cache/CustomOECFactory.java
@@ -18,14 +18,14 @@
  */
 package org.apache.struts.cache;
 
-import com.opensymphony.xwork2.ognl.DefaultOgnlExpressionCacheFactory;
-import com.opensymphony.xwork2.ognl.OgnlCache;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.inject.Inject;
+import org.apache.struts2.ognl.DefaultOgnlExpressionCacheFactory;
+import org.apache.struts2.ognl.OgnlCache;
 
 /**
  * Placeholder custom OGNL expression cache factory
- *
+ * <p>
  * Breakpoints:
  * 1) OgnlUtil (Struts Core) - 1st line of constructor (to see what factory 
references are passed in).
  * 2) HelloWorldAction, IndexAction (S2_StarterApp_1) - 1st line of execute() 
methods (to see what is returned from the container).
@@ -33,23 +33,23 @@ import org.apache.logging.log4j.Logger;
  */
 public class CustomOECFactory extends 
DefaultOgnlExpressionCacheFactory<String, Object> {
 
-    private static final Logger LOG = 
LogManager.getLogger(CustomOECFactory.class);
-
-    public CustomOECFactory() {
-        LOG.info("Custom expression cache factory has been created");
+    public CustomOECFactory(@Inject(value = 
StrutsConstants.STRUTS_OGNL_EXPRESSION_CACHE_MAXSIZE) String cacheMaxSize,
+                            @Inject(value = 
StrutsConstants.STRUTS_OGNL_EXPRESSION_CACHE_TYPE) String defaultCacheType) {
+        super(cacheMaxSize, defaultCacheType);
     }
 
     @Override
     public OgnlCache<String, Object> buildOgnlCache() {
-        return buildOgnlCache(getCacheMaxSize(), 16, 0.75f, getUseLRUCache());
+        return buildOgnlCache(getCacheMaxSize(), 16, 0.75f, CacheType.LRU);
     }
 
     @Override
-    public OgnlCache<String, Object> buildOgnlCache(int evictionLimit, int 
initialCapacity, float loadFactor, boolean lruCache) {
-        if (lruCache) {
-            return new CustomOELRUC(evictionLimit, initialCapacity, 
loadFactor);
-        } else {
-            return new CustomOEC(evictionLimit, initialCapacity, loadFactor);
+    public OgnlCache<String, Object> buildOgnlCache(int evictionLimit, int 
initialCapacity, float loadFactor, CacheType cacheType) {
+        switch (cacheType) {
+            case LRU:
+                return new CustomOELRUC(evictionLimit, initialCapacity, 
loadFactor);
+            default:
+                return new CustomOEC(evictionLimit, initialCapacity, 
loadFactor);
         }
     }
 
diff --git 
a/expression-cache/src/main/java/org/apache/struts/cache/CustomOELRUC.java 
b/expression-cache/src/main/java/org/apache/struts/cache/CustomOELRUC.java
index 342d64d..8ceca36 100644
--- a/expression-cache/src/main/java/org/apache/struts/cache/CustomOELRUC.java
+++ b/expression-cache/src/main/java/org/apache/struts/cache/CustomOELRUC.java
@@ -18,9 +18,9 @@
  */
 package org.apache.struts.cache;
 
-import com.opensymphony.xwork2.ognl.OgnlLRUCache;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ognl.OgnlLRUCache;
 
 /**
  * Placeholder custom OGNL LRU cache
diff --git 
a/expression-cache/src/main/java/org/apache/struts/cache/IndexAction.java 
b/expression-cache/src/main/java/org/apache/struts/cache/IndexAction.java
index c033832..ffbd5cd 100644
--- a/expression-cache/src/main/java/org/apache/struts/cache/IndexAction.java
+++ b/expression-cache/src/main/java/org/apache/struts/cache/IndexAction.java
@@ -18,7 +18,7 @@
  */
 package org.apache.struts.cache;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class IndexAction extends ActionSupport {
 
diff --git a/expression-cache/src/main/resources/struts.xml 
b/expression-cache/src/main/resources/struts.xml
index f531ce5..2cb48dc 100644
--- a/expression-cache/src/main/resources/struts.xml
+++ b/expression-cache/src/main/resources/struts.xml
@@ -34,7 +34,7 @@
     <constant name="struts.ognl.beanInfoCacheMaxSize" value="1000"/>
     <constant name="struts.ognl.beanInfoCacheLRUMode" value="true"/>
 
-    <bean type="com.opensymphony.xwork2.ognl.ExpressionCacheFactory"
+    <bean type="org.apache.struts2.ognl.ExpressionCacheFactory"
           class="org.apache.struts.cache.CustomOECFactory"
           name="customOgnlExpressionCacheFactory"
           scope="singleton"/>
diff --git a/file-upload/src/main/java/org/apache/struts/example/Upload.java 
b/file-upload/src/main/java/org/apache/struts/example/Upload.java
index ca5bd83..a647763 100644
--- a/file-upload/src/main/java/org/apache/struts/example/Upload.java
+++ b/file-upload/src/main/java/org/apache/struts/example/Upload.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 import java.io.File;
 
diff --git a/file-upload/src/main/resources/log4j2.xml 
b/file-upload/src/main/resources/log4j2.xml
index 092d5f6..06f1766 100644
--- a/file-upload/src/main/resources/log4j2.xml
+++ b/file-upload/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/form-processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/form-processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index 95b7408..2b31f2f 100644
--- 
a/form-processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/form-processing/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
     private static final long serialVersionUID = 1L;
-    
+
     /**
      * The model class that stores the message
      * to display in the view.
      */
     private MessageStore messageStore;
-    
+
     private static int helloCount = 0;
-    
+
     public int getHelloCount() {
         return helloCount;
     }
@@ -30,7 +30,7 @@ public class HelloWorldAction extends ActionSupport {
     public void setHelloCount(int helloCount) {
         HelloWorldAction.helloCount = helloCount;
     }
-    
+
     private String userName;
 
     public String getUserName() {
@@ -42,24 +42,22 @@ public class HelloWorldAction extends ActionSupport {
     }
 
     /*
-     * Creates the MessageStore model object, 
-     * increase helloCount by 1 and 
+     * Creates the MessageStore model object,
+     * increase helloCount by 1 and
      * returns success.  The MessageStore model
      * object will be available to the view.
-     * (non-Javadoc)
-     * @see com.opensymphony.xwork2.ActionSupport#execute()
      */
     public String execute() throws Exception {
         messageStore = new MessageStore() ;
-        
+
         //Action included a query string parameter of userName
         //or a form field with name of userName
         if (userName != null) {
             messageStore.setMessage( messageStore.getMessage() + " " + 
userName);
         }
-        
+
         helloCount++;
-        
+
         return SUCCESS;
     }
 
diff --git 
a/form-processing/src/main/java/org/apache/struts/register/action/Register.java 
b/form-processing/src/main/java/org/apache/struts/register/action/Register.java
index 49974d8..57c34dd 100644
--- 
a/form-processing/src/main/java/org/apache/struts/register/action/Register.java
+++ 
b/form-processing/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,7 +1,7 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.model.Person;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/form-processing/src/main/resources/log4j2.xml 
b/form-processing/src/main/resources/log4j2.xml
index 8d07e5f..b3abfdb 100644
--- a/form-processing/src/main/resources/log4j2.xml
+++ b/form-processing/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/form-tags/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/form-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
index 24bc5c5..aa4967a 100644
--- a/form-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ b/form-tags/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/form-tags/src/main/resources/log4j2.xml 
b/form-tags/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/form-tags/src/main/resources/log4j2.xml
+++ b/form-tags/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git 
a/form-validation/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/form-validation/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index 1285010..1547a2e 100644
--- 
a/form-validation/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/form-validation/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
        private static final long serialVersionUID = 1L;
-       
+
        /**
         * The model class that stores the message
         * to display in the view.
         */
        private MessageStore messageStore;
-       
+
        private static int helloCount = 0;
-       
+
        public int getHelloCount() {
                return helloCount;
        }
@@ -30,7 +30,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setHelloCount(int helloCount) {
                HelloWorldAction.helloCount = helloCount;
        }
-       
+
        private String userName;
 
        public String getUserName() {
@@ -42,27 +42,25 @@ public class HelloWorldAction extends ActionSupport {
        }
 
        /*
-        * Creates the MessageStore model object, 
-        * increase helloCount by 1 and 
+        * Creates the MessageStore model object,
+        * increase helloCount by 1 and
         * returns success.  The MessageStore model
         * object will be available to the view.
-        * (non-Javadoc)
-        * @see com.opensymphony.xwork2.ActionSupport#execute()
         */
        public String execute() throws Exception {
-               
+
                messageStore = new MessageStore() ;
-               
+
                //Action included a query string parameter of userName
                //or a form field with name of userName
                if (userName != null) {
-                       
+
                        messageStore.setMessage( messageStore.getMessage() + " 
" + userName);
-                       
+
                }
-               
+
                helloCount++;
-               
+
                return SUCCESS;
        }
 
@@ -73,7 +71,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setMessageStore(MessageStore messageStore) {
                this.messageStore = messageStore;
        }
-       
-       
+
+
 
 }
diff --git 
a/form-validation/src/main/java/org/apache/struts/register/action/Register.java 
b/form-validation/src/main/java/org/apache/struts/register/action/Register.java
index 8cc4716..f3ce977 100644
--- 
a/form-validation/src/main/java/org/apache/struts/register/action/Register.java
+++ 
b/form-validation/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,7 +1,7 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.model.Person;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a controller to handle actions
@@ -10,55 +10,55 @@ import org.apache.struts.register.model.Person;
  *
  */
 public class Register extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private Person personBean;
 
-       
+
        public String execute() throws Exception {
-               
+
                //call Service class to store personBean's state in database
-               
+
                return SUCCESS;
-               
+
        }
-       
+
        public void validate(){
-               
-               if ( personBean.getFirstName().length() == 0 ){ 
+
+               if ( personBean.getFirstName().length() == 0 ){
 
                        addFieldError( "personBean.firstName", "First name is 
required." );
-                       
+
                }
-               
-                               
-               if ( personBean.getEmail().length() == 0 ){     
+
+
+               if ( personBean.getEmail().length() == 0 ){
 
                        addFieldError( "personBean.email", "Email is required." 
);
-                       
+
                }
-               
-               if ( personBean.getAge() < 18 ){        
+
+               if ( personBean.getAge() < 18 ){
 
                        addFieldError( "personBean.age", "Age is required and 
must be 18 or older" );
-                       
+
                }
-               
-               
+
+
        }
 
-       
+
        public Person getPersonBean() {
-               
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 }
diff --git a/form-validation/src/main/resources/log4j2.xml 
b/form-validation/src/main/resources/log4j2.xml
index ba1d132..a5ee900 100644
--- a/form-validation/src/main/resources/log4j2.xml
+++ b/form-validation/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/form-xml-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
 
b/form-xml-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
index 5d5c5ee..cdd50ef 100644
--- 
a/form-xml-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ 
b/form-xml-validation/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/form-xml-validation/src/main/resources/log4j2.xml 
b/form-xml-validation/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/form-xml-validation/src/main/resources/log4j2.xml
+++ b/form-xml-validation/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git 
a/helloworld/src/main/java/org/apache/struts/helloworld/action/ExecAndWaitTestAction.java
 
b/helloworld/src/main/java/org/apache/struts/helloworld/action/ExecAndWaitTestAction.java
index 12e665d..18042b2 100644
--- 
a/helloworld/src/main/java/org/apache/struts/helloworld/action/ExecAndWaitTestAction.java
+++ 
b/helloworld/src/main/java/org/apache/struts/helloworld/action/ExecAndWaitTestAction.java
@@ -1,6 +1,6 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 import java.util.concurrent.TimeUnit;
 
diff --git 
a/helloworld/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/helloworld/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index d098c07..aacbb0b 100755
--- 
a/helloworld/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/helloworld/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,13 +1,12 @@
 package org.apache.struts.helloworld.action;
 
 import org.apache.struts.helloworld.model.MessageStore;
-
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -23,15 +22,13 @@ public class HelloWorldAction extends ActionSupport {
     private MessageStore messageStore;
 
     /*
-     * Creates the MessageStore model object and 
+     * Creates the MessageStore model object and
      * returns success.  The MessageStore model
      * object will be available to the view.
-     * (non-Javadoc)
-     * @see com.opensymphony.xwork2.ActionSupport#execute()
      */
     public String execute() {
         messageStore = new MessageStore() ;
-        
+
         return SUCCESS;
     }
 
diff --git a/helloworld/src/main/resources/log4j2.xml 
b/helloworld/src/main/resources/log4j2.xml
index 25edfa1..b622886 100644
--- a/helloworld/src/main/resources/log4j2.xml
+++ b/helloworld/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.helloworld" level="debug"/>
         <Root level="warn">
diff --git 
a/http-session/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/http-session/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index 9b3f7e8..5514a35 100644
--- 
a/http-session/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/http-session/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,8 +1,8 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.interceptor.ParameterNameAware;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.action.ParameterNameAware;
 import org.apache.struts2.action.SessionAware;
 
 import java.util.Map;
@@ -38,8 +38,6 @@ public class HelloWorldAction extends ActionSupport 
implements SessionAware, Par
      * increase helloCount stored in the HTTP session by 1 and
      * returns success.  The MessageStore model
      * object will be available to the view.
-     * (non-Javadoc)
-     * @see com.opensymphony.xwork2.ActionSupport#execute()
      */
     public String execute() throws Exception {
         messageStore = new MessageStore();
diff --git a/http-session/src/main/resources/log4j2.xml 
b/http-session/src/main/resources/log4j2.xml
index 25edfa1..b622886 100644
--- a/http-session/src/main/resources/log4j2.xml
+++ b/http-session/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.helloworld" level="debug"/>
         <Root level="warn">
diff --git 
a/interceptors/src/main/java/org/apache/struts/register/action/Register.java 
b/interceptors/src/main/java/org/apache/struts/register/action/Register.java
index 2d987cb..f3ce977 100644
--- a/interceptors/src/main/java/org/apache/struts/register/action/Register.java
+++ b/interceptors/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,8 +1,7 @@
 package org.apache.struts.register.action;
 
 import org.apache.struts.register.model.Person;
-
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a controller to handle actions
@@ -11,55 +10,55 @@ import com.opensymphony.xwork2.ActionSupport;
  *
  */
 public class Register extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private Person personBean;
 
-       
+
        public String execute() throws Exception {
-               
+
                //call Service class to store personBean's state in database
-               
+
                return SUCCESS;
-               
+
        }
-       
+
        public void validate(){
-               
-               if ( personBean.getFirstName().length() == 0 ){ 
+
+               if ( personBean.getFirstName().length() == 0 ){
 
                        addFieldError( "personBean.firstName", "First name is 
required." );
-                       
+
                }
-               
-                               
-               if ( personBean.getEmail().length() == 0 ){     
+
+
+               if ( personBean.getEmail().length() == 0 ){
 
                        addFieldError( "personBean.email", "Email is required." 
);
-                       
+
                }
-               
-               if ( personBean.getAge() < 18 ){        
+
+               if ( personBean.getAge() < 18 ){
 
                        addFieldError( "personBean.age", "Age is required and 
must be 18 or older" );
-                       
+
                }
-               
-               
+
+
        }
 
-       
+
        public Person getPersonBean() {
-               
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 }
diff --git a/interceptors/src/main/resources/log4j2.xml 
b/interceptors/src/main/resources/log4j2.xml
index d3660f4..e394dfd 100644
--- a/interceptors/src/main/resources/log4j2.xml
+++ b/interceptors/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.register" level="debug"/>
         <Root level="warn">
diff --git 
a/jasperreports/src/main/java/org/apache/struts/example/jasperreports/action/JasperAction.java
 
b/jasperreports/src/main/java/org/apache/struts/example/jasperreports/action/JasperAction.java
index b5ec094..1c19266 100644
--- 
a/jasperreports/src/main/java/org/apache/struts/example/jasperreports/action/JasperAction.java
+++ 
b/jasperreports/src/main/java/org/apache/struts/example/jasperreports/action/JasperAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.example.jasperreports.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.struts.example.jasperreports.model.Person;
+import org.apache.struts2.ActionSupport;
 
 public class JasperAction extends ActionSupport {
   /** List to use as our JasperReports dataSource. */
diff --git a/jasperreports/src/main/resources/log4j2.xml 
b/jasperreports/src/main/resources/log4j2.xml
index 37f70b3..942fad2 100644
--- a/jasperreports/src/main/resources/log4j2.xml
+++ b/jasperreports/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
     </Console>
   </Appenders>
   <Loggers>
-    <Logger name="com.opensymphony.xwork2" level="info"/>
     <Logger name="org.apache.struts2" level="info"/>
     <Logger name="org.apache.struts2.views.jasperreports" level="debug"/>
     <Logger name="org.apache.struts.example" level="debug"/>
diff --git a/jfreechart/src/main/java/org/apache/struts/example/Chart.java 
b/jfreechart/src/main/java/org/apache/struts/example/Chart.java
index 7548c6f..416c306 100644
--- a/jfreechart/src/main/java/org/apache/struts/example/Chart.java
+++ b/jfreechart/src/main/java/org/apache/struts/example/Chart.java
@@ -19,8 +19,8 @@
 
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.commons.lang3.RandomUtils;
+import org.apache.struts2.ActionSupport;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.axis.ValueAxis;
diff --git a/jfreechart/src/main/resources/log4j2.xml 
b/jfreechart/src/main/resources/log4j2.xml
index 91d6d4e..3d75b9f 100644
--- a/jfreechart/src/main/resources/log4j2.xml
+++ b/jfreechart/src/main/resources/log4j2.xml
@@ -27,7 +27,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts" level="info"/>
         <Root level="warn">
diff --git a/json-customize/src/main/java/org/demo/ProduceAction.java 
b/json-customize/src/main/java/org/demo/ProduceAction.java
index f6f43c8..8f30ceb 100644
--- a/json-customize/src/main/java/org/demo/ProduceAction.java
+++ b/json-customize/src/main/java/org/demo/ProduceAction.java
@@ -19,7 +19,7 @@
 
 package org.demo;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
diff --git a/json-customize/src/main/resources/log4j2.xml 
b/json-customize/src/main/resources/log4j2.xml
index e3c583b..3722267 100644
--- a/json-customize/src/main/resources/log4j2.xml
+++ b/json-customize/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.demo" level="debug"/>
         <Root level="warn">
diff --git a/json/src/main/java/org/demo/ConsumeAction.java 
b/json/src/main/java/org/demo/ConsumeAction.java
index 03156c1..f22cba3 100644
--- a/json/src/main/java/org/demo/ConsumeAction.java
+++ b/json/src/main/java/org/demo/ConsumeAction.java
@@ -19,8 +19,8 @@
 
 package org.demo;
 
-import com.opensymphony.xwork2.ActionSupport;
 import jakarta.servlet.http.HttpServletRequest;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.action.ServletRequestAware;
 
 public class ConsumeAction extends ActionSupport implements 
ServletRequestAware {
diff --git a/json/src/main/java/org/demo/ProduceAction.java 
b/json/src/main/java/org/demo/ProduceAction.java
index 42056ef..8d1059f 100644
--- a/json/src/main/java/org/demo/ProduceAction.java
+++ b/json/src/main/java/org/demo/ProduceAction.java
@@ -19,7 +19,7 @@
 
 package org.demo;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 import java.util.Arrays;
 
diff --git a/json/src/main/resources/log4j2.xml 
b/json/src/main/resources/log4j2.xml
index e3c583b..3722267 100644
--- a/json/src/main/resources/log4j2.xml
+++ b/json/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.demo" level="debug"/>
         <Root level="warn">
diff --git 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/AuthenticationInterceptor.java
 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/AuthenticationInterceptor.java
index bb0b518..4078d63 100644
--- 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/AuthenticationInterceptor.java
+++ 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/AuthenticationInterceptor.java
@@ -18,14 +18,14 @@
  */
 package org.apache.struts.examples.mailreader2;
 
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.Interceptor;
 import org.apache.struts.examples.mailreader2.dao.User;
+import org.apache.struts2.ActionInvocation;
+import org.apache.struts2.action.Action;
+import org.apache.struts2.interceptor.Interceptor;
 
 import java.util.Map;
 
-public class AuthenticationInterceptor implements Interceptor  {
+public class AuthenticationInterceptor implements Interceptor {
 
     public void destroy () {}
 
@@ -37,7 +37,7 @@ public class AuthenticationInterceptor implements Interceptor 
 {
         boolean isAuthenticated = (null!=user) && (null!=user.getDatabase());
 
         if (!isAuthenticated) {
-            return Action.LOGIN;            
+            return Action.LOGIN;
         }
         else {
             return actionInvocation.invoke();
diff --git 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/MailreaderSupport.java
 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/MailreaderSupport.java
index 0de5161..e112c29 100644
--- 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/MailreaderSupport.java
+++ 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/MailreaderSupport.java
@@ -19,7 +19,6 @@
 
 package org.apache.struts.examples.mailreader2;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.examples.mailreader2.dao.ExpiredPasswordException;
@@ -28,6 +27,7 @@ import org.apache.struts.examples.mailreader2.dao.User;
 import org.apache.struts.examples.mailreader2.dao.UserDatabase;
 import 
org.apache.struts.examples.mailreader2.dao.impl.memory.MemorySubscription;
 import org.apache.struts.examples.mailreader2.dao.impl.memory.MemoryUser;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.action.ApplicationAware;
 import org.apache.struts2.action.SessionAware;
 
diff --git 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/SubscriptionAction.java
 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/SubscriptionAction.java
index e4a5053..56cb8b8 100644
--- 
a/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/SubscriptionAction.java
+++ 
b/mailreader2/src/main/java/org/apache/struts/examples/mailreader2/SubscriptionAction.java
@@ -19,8 +19,8 @@
 
 package org.apache.struts.examples.mailreader2;
 
-import com.opensymphony.xwork2.Preparable;
 import org.apache.struts.examples.mailreader2.dao.Subscription;
+import org.apache.struts2.Preparable;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
diff --git a/mailreader2/src/main/resources/log4j2.xml 
b/mailreader2/src/main/resources/log4j2.xml
index 092d5f6..06f1766 100644
--- a/mailreader2/src/main/resources/log4j2.xml
+++ b/mailreader2/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git a/mailreader2/src/main/webapp/tour.html 
b/mailreader2/src/main/webapp/tour.html
index 4f5aacf..4f43df9 100644
--- a/mailreader2/src/main/webapp/tour.html
+++ b/mailreader2/src/main/webapp/tour.html
@@ -1415,9 +1415,9 @@ public void <strong>setSession(Map value)</strong> {
 <hr/>
 <h5>org.apache.struts.examples.mailreader2.AuthenticationInterceptor</h5>
 <pre><code>package mailreader2;
-import com.opensymphony.xwork2.interceptor.Interceptor;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.Action;
+import org.apache.struts2.interceptor.Interceptor;
+import org.apache.struts2.ActionInvocation;
+import org.apache.struts2.Action;
 import java.util.Map;
 import org.apache.struts.apps.mailreader.dao.User;
 
diff --git 
a/message-resource/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 
b/message-resource/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
index 1285010..1547a2e 100644
--- 
a/message-resource/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
+++ 
b/message-resource/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
@@ -1,12 +1,12 @@
 package org.apache.struts.helloworld.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the Message model class, and returns a String 
+ * of the Message model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -14,15 +14,15 @@ import org.apache.struts.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
        private static final long serialVersionUID = 1L;
-       
+
        /**
         * The model class that stores the message
         * to display in the view.
         */
        private MessageStore messageStore;
-       
+
        private static int helloCount = 0;
-       
+
        public int getHelloCount() {
                return helloCount;
        }
@@ -30,7 +30,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setHelloCount(int helloCount) {
                HelloWorldAction.helloCount = helloCount;
        }
-       
+
        private String userName;
 
        public String getUserName() {
@@ -42,27 +42,25 @@ public class HelloWorldAction extends ActionSupport {
        }
 
        /*
-        * Creates the MessageStore model object, 
-        * increase helloCount by 1 and 
+        * Creates the MessageStore model object,
+        * increase helloCount by 1 and
         * returns success.  The MessageStore model
         * object will be available to the view.
-        * (non-Javadoc)
-        * @see com.opensymphony.xwork2.ActionSupport#execute()
         */
        public String execute() throws Exception {
-               
+
                messageStore = new MessageStore() ;
-               
+
                //Action included a query string parameter of userName
                //or a form field with name of userName
                if (userName != null) {
-                       
+
                        messageStore.setMessage( messageStore.getMessage() + " 
" + userName);
-                       
+
                }
-               
+
                helloCount++;
-               
+
                return SUCCESS;
        }
 
@@ -73,7 +71,7 @@ public class HelloWorldAction extends ActionSupport {
        public void setMessageStore(MessageStore messageStore) {
                this.messageStore = messageStore;
        }
-       
-       
+
+
 
 }
diff --git 
a/message-resource/src/main/java/org/apache/struts/register/action/Register.java
 
b/message-resource/src/main/java/org/apache/struts/register/action/Register.java
index 8cc4716..f3ce977 100644
--- 
a/message-resource/src/main/java/org/apache/struts/register/action/Register.java
+++ 
b/message-resource/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,7 +1,7 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.model.Person;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a controller to handle actions
@@ -10,55 +10,55 @@ import org.apache.struts.register.model.Person;
  *
  */
 public class Register extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private Person personBean;
 
-       
+
        public String execute() throws Exception {
-               
+
                //call Service class to store personBean's state in database
-               
+
                return SUCCESS;
-               
+
        }
-       
+
        public void validate(){
-               
-               if ( personBean.getFirstName().length() == 0 ){ 
+
+               if ( personBean.getFirstName().length() == 0 ){
 
                        addFieldError( "personBean.firstName", "First name is 
required." );
-                       
+
                }
-               
-                               
-               if ( personBean.getEmail().length() == 0 ){     
+
+
+               if ( personBean.getEmail().length() == 0 ){
 
                        addFieldError( "personBean.email", "Email is required." 
);
-                       
+
                }
-               
-               if ( personBean.getAge() < 18 ){        
+
+               if ( personBean.getAge() < 18 ){
 
                        addFieldError( "personBean.age", "Age is required and 
must be 18 or older" );
-                       
+
                }
-               
-               
+
+
        }
 
-       
+
        public Person getPersonBean() {
-               
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 }
diff --git a/message-resource/src/main/resources/log4j2.xml 
b/message-resource/src/main/resources/log4j2.xml
index ba1d132..a5ee900 100644
--- a/message-resource/src/main/resources/log4j2.xml
+++ b/message-resource/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
diff --git 
a/message-store/src/main/java/org/apache/struts/example/HelloWorld1.java 
b/message-store/src/main/java/org/apache/struts/example/HelloWorld1.java
index 5ba7355..a305a2b 100644
--- a/message-store/src/main/java/org/apache/struts/example/HelloWorld1.java
+++ b/message-store/src/main/java/org/apache/struts/example/HelloWorld1.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class HelloWorld1 extends ActionSupport {
 
diff --git 
a/message-store/src/main/java/org/apache/struts/example/HelloWorld2.java 
b/message-store/src/main/java/org/apache/struts/example/HelloWorld2.java
index e30f3b1..bf95b58 100644
--- a/message-store/src/main/java/org/apache/struts/example/HelloWorld2.java
+++ b/message-store/src/main/java/org/apache/struts/example/HelloWorld2.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class HelloWorld2 extends ActionSupport {
 
diff --git a/message-store/src/main/resources/log4j2.xml 
b/message-store/src/main/resources/log4j2.xml
index 9160e24..06f1766 100644
--- a/message-store/src/main/resources/log4j2.xml
+++ b/message-store/src/main/resources/log4j2.xml
@@ -6,9 +6,7 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
-        <Logger name="org.apache.struts" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
         </Root>
diff --git a/pom.xml b/pom.xml
index 29f1562..5287eaf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,7 +46,7 @@
         <maven.compiler.target>17</maven.compiler.target>
         <maven.javadoc.skip>true</maven.javadoc.skip>
 
-        <struts2.version>7.0.0-M9</struts2.version>
+        <struts2.version>7.0.0</struts2.version>
         <log4j2.version>2.24.2</log4j2.version>
         <jetty-plugin.version>11.0.18</jetty-plugin.version>
         <jackson.version>2.14.1</jackson.version>
diff --git 
a/preparable-interface/src/main/java/org/apache/struts/edit/action/EditAction.java
 
b/preparable-interface/src/main/java/org/apache/struts/edit/action/EditAction.java
index 1d9f288..d657f63 100644
--- 
a/preparable-interface/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ 
b/preparable-interface/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,7 +1,5 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.edit.model.Person;
@@ -10,6 +8,8 @@ import org.apache.struts.edit.service.CarModelsService;
 import org.apache.struts.edit.service.CarModelsServiceHardCoded;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.Preparable;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/preparable-interface/src/main/resources/log4j2.xml 
b/preparable-interface/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/preparable-interface/src/main/resources/log4j2.xml
+++ b/preparable-interface/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git 
a/quarkus/src/main/java/org/apache/struts2/examples/quarkus/IndexAction.java 
b/quarkus/src/main/java/org/apache/struts2/examples/quarkus/IndexAction.java
index 8ce99e6..55db458 100644
--- a/quarkus/src/main/java/org/apache/struts2/examples/quarkus/IndexAction.java
+++ b/quarkus/src/main/java/org/apache/struts2/examples/quarkus/IndexAction.java
@@ -1,9 +1,9 @@
 package org.apache.struts2.examples.quarkus;
 
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.Result;
 import jakarta.servlet.http.HttpServletResponse;
 import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.action.Action;
+import org.apache.struts2.result.Result;
 
 public class IndexAction {
 
diff --git a/quarkus/src/main/resources/log4j2.xml 
b/quarkus/src/main/resources/log4j2.xml
index 712b825..8b9f4c9 100644
--- a/quarkus/src/main/resources/log4j2.xml
+++ b/quarkus/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="debug"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Logger name="org.apache.examples.struts" level="debug"/>
         <Root level="warn">
diff --git 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/IndexController.java
 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/IndexController.java
index 126e422..beaee09 100644
--- 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/IndexController.java
+++ 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/IndexController.java
@@ -18,7 +18,7 @@
  */
 package org.apache.examples.struts.actions;
 
-import com.opensymphony.xwork2.Action;
+import org.apache.struts2.action.Action;
 import org.apache.struts2.rest.DefaultHttpHeaders;
 import org.apache.struts2.rest.HttpHeaders;
 import org.apache.struts2.rest.RestActionSupport;
diff --git 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/data/LanguageController.java
 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/data/LanguageController.java
index 1fa09a5..295bc7b 100644
--- 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/data/LanguageController.java
+++ 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/data/LanguageController.java
@@ -1,10 +1,10 @@
 package org.apache.examples.struts.actions.data;
 
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ModelDriven;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionContext;
+import org.apache.struts2.ModelDriven;
+import org.apache.struts2.action.Action;
 import org.apache.struts2.rest.RestActionSupport;
 
 import java.util.Locale;
diff --git 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/data/OrderController.java
 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/data/OrderController.java
index dac8d30..00748d3 100644
--- 
a/rest-angular/src/main/java/org/apache/examples/struts/actions/data/OrderController.java
+++ 
b/rest-angular/src/main/java/org/apache/examples/struts/actions/data/OrderController.java
@@ -1,10 +1,10 @@
 package org.apache.examples.struts.actions.data;
 
-import com.opensymphony.xwork2.ModelDriven;
 import org.apache.examples.struts.models.Order;
 import org.apache.examples.struts.services.OrdersService;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ModelDriven;
 import org.apache.struts2.rest.DefaultHttpHeaders;
 import org.apache.struts2.rest.HttpHeaders;
 import org.apache.struts2.rest.RestActionSupport;
diff --git 
a/rest-angular/src/main/java/org/apache/examples/struts/interceptors/ExceptionHandlerInterceptor.java
 
b/rest-angular/src/main/java/org/apache/examples/struts/interceptors/ExceptionHandlerInterceptor.java
index d0a2f13..bee7de8 100644
--- 
a/rest-angular/src/main/java/org/apache/examples/struts/interceptors/ExceptionHandlerInterceptor.java
+++ 
b/rest-angular/src/main/java/org/apache/examples/struts/interceptors/ExceptionHandlerInterceptor.java
@@ -1,12 +1,12 @@
 package org.apache.examples.struts.interceptors;
 
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
 import jakarta.servlet.http.HttpServletResponse;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionInvocation;
+import org.apache.struts2.action.Action;
+import org.apache.struts2.inject.Inject;
+import org.apache.struts2.interceptor.MethodFilterInterceptor;
 import org.apache.struts2.rest.ContentTypeHandlerManager;
 import org.apache.struts2.rest.DefaultHttpHeaders;
 import org.apache.struts2.rest.HttpHeaders;
diff --git a/rest-angular/src/main/resources/log4j2.xml 
b/rest-angular/src/main/resources/log4j2.xml
index 712b825..8b9f4c9 100644
--- a/rest-angular/src/main/resources/log4j2.xml
+++ b/rest-angular/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="debug"/>
         <Logger name="org.apache.struts2" level="debug"/>
         <Logger name="org.apache.examples.struts" level="debug"/>
         <Root level="warn">
diff --git 
a/rest-angular/src/test/java/org/apache/examples/struts/actions/IndexControllerTest.java
 
b/rest-angular/src/test/java/org/apache/examples/struts/actions/IndexControllerTest.java
index eab7c71..8004cb7 100644
--- 
a/rest-angular/src/test/java/org/apache/examples/struts/actions/IndexControllerTest.java
+++ 
b/rest-angular/src/test/java/org/apache/examples/struts/actions/IndexControllerTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.examples.struts.actions;
 
-import com.opensymphony.xwork2.ActionProxy;
+import org.apache.struts2.ActionProxy;
 import org.apache.struts2.junit.StrutsRestTestCase;
 import org.junit.Before;
 import org.junit.Test;
diff --git 
a/rest-angular/src/test/java/org/apache/examples/struts/actions/data/OrderControllerTest.java
 
b/rest-angular/src/test/java/org/apache/examples/struts/actions/data/OrderControllerTest.java
index 44685b3..adf95ba 100644
--- 
a/rest-angular/src/test/java/org/apache/examples/struts/actions/data/OrderControllerTest.java
+++ 
b/rest-angular/src/test/java/org/apache/examples/struts/actions/data/OrderControllerTest.java
@@ -19,8 +19,8 @@
 package org.apache.examples.struts.actions.data;
 
 import com.jayway.jsonpath.JsonPath;
-import com.opensymphony.xwork2.ActionProxy;
 import org.apache.examples.struts.models.Order;
+import org.apache.struts2.ActionProxy;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.junit.StrutsRestTestCase;
 import org.junit.Before;
diff --git 
a/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java 
b/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
index 76b1cfb..ae316c3 100644
--- 
a/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
+++ 
b/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
@@ -1,18 +1,18 @@
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionSupport;
 
 public class MovieAction extends ActionSupport {
 
        private static final Logger log = 
LogManager.getLogger(MovieAction.class.getName());
        private static final long serialVersionUID = 1L;
-       
+
        private String id;
-       
+
        /**
-        * Method is called if url is move/[any value but new] 
+        * Method is called if url is move/[any value but new]
         * and http get request.  The value after the /
         * will be provided to the setId method.
         * @return success
@@ -21,7 +21,7 @@ public class MovieAction extends ActionSupport {
                log.debug("Value of id is " + id);
                return SUCCESS;
        }
-       
+
        /**
         * Method is called if url is movie/ .
         * No value will be sent to setId.
diff --git a/restful2actionmapper/src/main/resources/log4j2.xml 
b/restful2actionmapper/src/main/resources/log4j2.xml
index b92f2ea..b325299 100644
--- a/restful2actionmapper/src/main/resources/log4j2.xml
+++ b/restful2actionmapper/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.example" level="debug"/>
         <Root level="warn">
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
index 88f7ba5..c531825 100644
--- 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java
@@ -8,10 +8,10 @@ import org.apache.shiro.authc.UnknownAccountException;
 import org.apache.shiro.authc.UsernamePasswordToken;
 import org.apache.shiro.session.Session;
 import org.apache.shiro.subject.Subject;
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.Preparable;
 
 public class LoginAction extends ActionSupport implements Preparable
 {
@@ -22,95 +22,95 @@ public class LoginAction extends ActionSupport implements 
Preparable
     private String username;
     private String password;
     private transient Subject shiroUser;
-    
+
     @Override
-    public void prepare() throws Exception 
+    public void prepare() throws Exception
     {
         shiroUser = SecurityUtils.getSubject();
     }
-    
+
     @Override
     public String execute()
     {
         String result = INPUT;
-        
+
         if (shiroUser != null)
         {
             // Do some stuff with a Session
             Session session = shiroUser.getSession();
             session.setAttribute("MyUsername", username);
             log.info("Saving 'username' value to session [" + username + "]");
-            
+
             // let's login the current user so we can check against roles and 
permissions:
-            if (! shiroUser.isAuthenticated()) 
+            if (! shiroUser.isAuthenticated())
             {
                 UsernamePasswordToken token = new 
UsernamePasswordToken(username, password);
                 token.setRememberMe(true);
-                try 
+                try
                 {
-                    shiroUser.login(token);                
+                    shiroUser.login(token);
                     result = SUCCESS;
-                } 
-                catch (UnknownAccountException uae) 
+                }
+                catch (UnknownAccountException uae)
                 {
                     addActionError("There is no user with username of '" + 
token.getPrincipal() + "'");
                     log.error(uae.getMessage());
-                } 
-                catch (IncorrectCredentialsException ice) 
+                }
+                catch (IncorrectCredentialsException ice)
                 {
                     addActionError("Password for account '" + 
token.getPrincipal() + "' was incorrect!");
                     log.error(ice.getMessage());
-                } 
-                catch (LockedAccountException lae) 
+                }
+                catch (LockedAccountException lae)
                 {
                     addActionError("The account for username '" + 
token.getPrincipal() + "' is locked.  " +
                             "Please contact your administrator to unlock it.");
                     log.error(lae.getMessage());
                 }
                 // ... catch more exceptions here (maybe custom ones specific 
to your application?
-                catch (AuthenticationException ae) 
+                catch (AuthenticationException ae)
                 {
                     addActionError("An authentication exception has occurred 
trying to login user: " + token.getPrincipal());
                     log.error(ae.getMessage());
-                }        
+                }
             }
             else if (shiroUser.isAuthenticated())
             {
                 result = SUCCESS;
             }
         }
-                
+
         return result;
     }
-    
-    public Subject getShiroUser() 
+
+    public Subject getShiroUser()
     {
         return shiroUser;
     }
 
-    public void setShiroUser(Subject shiroUser) 
+    public void setShiroUser(Subject shiroUser)
     {
         this.shiroUser = shiroUser;
     }
 
-    public String getUsername() 
+    public String getUsername()
     {
         return username;
     }
 
-    public void setUsername(String username) 
+    public void setUsername(String username)
     {
         this.username = username;
     }
 
-    public String getPassword() 
+    public String getPassword()
     {
         return password;
     }
 
-    public void setPassword(String password) 
+    public void setPassword(String password)
     {
         this.password = password;
-    }    
-    
+    }
+
 }
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/ShiroBaseAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/ShiroBaseAction.java
index e93c145..526c08f 100644
--- 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/ShiroBaseAction.java
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/ShiroBaseAction.java
@@ -1,27 +1,25 @@
 package org.apache.struts2.shiro.example.action;
 
 import org.apache.shiro.subject.Subject;
-
-import com.opensymphony.xwork2.ActionSupport;
-
+import org.apache.struts2.ActionSupport;
 
 public class ShiroBaseAction extends ActionSupport
 {
     private static final long serialVersionUID = 1L;
-    
+
     private transient Subject shiroUser;
 
-    public boolean isAuthenticated() 
+    public boolean isAuthenticated()
     {
         return shiroUser != null && shiroUser.isAuthenticated();
     }
 
-    public Subject getShiroUser() 
+    public Subject getShiroUser()
     {
         return shiroUser;
     }
 
-    public void setShiroUser(Subject shiroUser) 
+    public void setShiroUser(Subject shiroUser)
     {
         this.shiroUser = shiroUser;
     }
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/interceptor/ShiroUserInterceptor.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/interceptor/ShiroUserInterceptor.java
index 794422c..44622a3 100644
--- 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/interceptor/ShiroUserInterceptor.java
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/interceptor/ShiroUserInterceptor.java
@@ -1,13 +1,13 @@
 /**
- * 
+ *
  */
 package org.apache.struts2.shiro.example.interceptor;
 
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
 
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.Interceptor;
+import org.apache.struts2.ActionInvocation;
+import org.apache.struts2.interceptor.Interceptor;
 
 /**
  * Inserts the current Shiro user into the value stack so that it can be
@@ -16,41 +16,27 @@ import com.opensymphony.xwork2.interceptor.Interceptor;
  */
 public class ShiroUserInterceptor implements Interceptor {
 
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 1L;
-
-    /* (non-Javadoc)
-     * @see com.opensymphony.xwork2.interceptor.Interceptor#destroy()
-     */
     @Override
-    public void destroy() 
+    public void destroy()
     {
         //release resources here
     }
 
-    /* (non-Javadoc)
-     * @see com.opensymphony.xwork2.interceptor.Interceptor#init()
-     */
     @Override
-    public void init() 
+    public void init()
     {
         // create resources here
     }
 
-    /* (non-Javadoc)
-     * @see 
com.opensymphony.xwork2.interceptor.Interceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
-     */
     @Override
-    public String intercept(ActionInvocation actionInvocation) throws 
Exception 
+    public String intercept(ActionInvocation actionInvocation) throws Exception
     {
         if (actionInvocation.getAction() instanceof 
org.apache.struts2.shiro.example.action.ShiroBaseAction)
         {
             Subject shiroUser = SecurityUtils.getSubject();
             actionInvocation.getStack().setValue("shiroUser", shiroUser);
         }
-            
+
         return actionInvocation.invoke();
     }
 
diff --git 
a/spring-struts/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/spring-struts/src/main/java/org/apache/struts/edit/action/EditAction.java
index 8cd09f5..ca37390 100644
--- a/spring-struts/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ b/spring-struts/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,9 +1,9 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -16,72 +16,72 @@ import java.util.List;
  *
  */
 public class EditAction extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private EditService editService ;
-       
+
        private Person personBean;
-       
+
        private String [] sports = {"football", "baseball", "basketball" };
-       
+
        private String [] genders = {"male", "female", "not sure" };
-       
+
        private List<State> states ;
 
        private String [] carModelsAvailable = 
{"Ford","Chrysler","Toyota","Nissan"};
 
        public String execute() throws Exception {
-               
+
            editService.savePerson( getPersonBean() );
-               
+
                return SUCCESS;
-               
+
        }
-       
-       
+
+
        public String input() throws Exception {
-               
+
                setPersonBean( editService.getPerson() );
-               
+
                return INPUT;
        }
-       
+
        public Person getPersonBean() {
-               
-               
+
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 
        public List<String> getSports() {
                return Arrays.asList(sports);
        }
-       
+
        public List<String> getGenders() {
-               
+
                return Arrays.asList(genders);
-               
+
        }
 
 
 
        public List<State> getStates() {
-               
+
                states = new ArrayList<State>();
                states.add( new State("AZ", "Arizona") );
                states.add( new State("CA", "California") );
                states.add( new State("FL", "Florida") );
                states.add( new State("KS", "Kansas") );
                states.add( new State("NY", "New York") );
-               
+
                return states;
        }
 
@@ -98,9 +98,9 @@ public class EditAction extends ActionSupport {
 
 
        public void setEditService(EditService editService) {
-               
+
                this.editService = editService;
-               
+
        }
 
 }
diff --git a/spring-struts/src/main/resources/log4j2.xml 
b/spring-struts/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/spring-struts/src/main/resources/log4j2.xml
+++ b/spring-struts/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/FactoryAction.java 
b/text-provider/src/main/java/org/apache/struts_example/FactoryAction.java
index 5ffd0cb..616da2e 100644
--- a/text-provider/src/main/java/org/apache/struts_example/FactoryAction.java
+++ b/text-provider/src/main/java/org/apache/struts_example/FactoryAction.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * This class is using thr factory defined in "struts.xml"
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/IndexAction.java 
b/text-provider/src/main/java/org/apache/struts_example/IndexAction.java
index 6b0fa3b..ebf2b1f 100644
--- a/text-provider/src/main/java/org/apache/struts_example/IndexAction.java
+++ b/text-provider/src/main/java/org/apache/struts_example/IndexAction.java
@@ -19,10 +19,9 @@
 
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.TextProvider;
-import com.opensymphony.xwork2.TextProviderFactory;
-import com.opensymphony.xwork2.config.Configuration;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.text.TextProvider;
+import org.apache.struts2.text.TextProviderFactory;
 
 public class IndexAction extends ActionSupport {
 
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java
 
b/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java
index 9d6ba3c..05f3ed5 100644
--- 
a/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java
+++ 
b/text-provider/src/main/java/org/apache/struts_example/MyLocalizedTextProvider.java
@@ -1,6 +1,6 @@
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.util.StrutsLocalizedTextProvider;
+import org.apache.struts2.text.StrutsLocalizedTextProvider;
 
 import java.io.File;
 import java.net.MalformedURLException;
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/MyTextProviderFactory.java
 
b/text-provider/src/main/java/org/apache/struts_example/MyTextProviderFactory.java
index e428944..7b906a9 100644
--- 
a/text-provider/src/main/java/org/apache/struts_example/MyTextProviderFactory.java
+++ 
b/text-provider/src/main/java/org/apache/struts_example/MyTextProviderFactory.java
@@ -1,11 +1,11 @@
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.StrutsTextProviderFactory;
-import com.opensymphony.xwork2.TextProvider;
+import org.apache.struts2.text.StrutsTextProviderFactory;
+import org.apache.struts2.text.TextProvider;
 
 import java.util.ResourceBundle;
-/** 
- * Exdending the TextProviderFactory is optional, as Factory return the 
TextProvider class it gets as argument. 
+/**
+ * Exdending the TextProviderFactory is optional, as Factory return the 
TextProvider class it gets as argument.
  * See struts.xml for example configuration without extending 
TextProviderFactory.
  */
 public class MyTextProviderFactory extends StrutsTextProviderFactory {
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/MyTextTextProvider.java 
b/text-provider/src/main/java/org/apache/struts_example/MyTextTextProvider.java
index 41ddfed..487cc26 100644
--- 
a/text-provider/src/main/java/org/apache/struts_example/MyTextTextProvider.java
+++ 
b/text-provider/src/main/java/org/apache/struts_example/MyTextTextProvider.java
@@ -1,9 +1,9 @@
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.LocaleProvider;
-import com.opensymphony.xwork2.LocalizedTextProvider;
-import com.opensymphony.xwork2.TextProviderSupport;
-import com.opensymphony.xwork2.util.ValueStack;
+import org.apache.struts2.locale.LocaleProvider;
+import org.apache.struts2.text.LocalizedTextProvider;
+import org.apache.struts2.text.TextProviderSupport;
+import org.apache.struts2.util.ValueStack;
 
 import java.util.List;
 import java.util.ResourceBundle;
diff --git 
a/text-provider/src/main/java/org/apache/struts_example/SystemAction.java 
b/text-provider/src/main/java/org/apache/struts_example/SystemAction.java
index 52d7064..fd8a477 100644
--- a/text-provider/src/main/java/org/apache/struts_example/SystemAction.java
+++ b/text-provider/src/main/java/org/apache/struts_example/SystemAction.java
@@ -19,9 +19,9 @@
 
 package org.apache.struts_example;
 
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.TextProvider;
-import com.opensymphony.xwork2.inject.Inject;
+import org.apache.struts2.ActionSupport;
+import org.apache.struts2.inject.Inject;
+import org.apache.struts2.text.TextProvider;
 
 public class SystemAction extends ActionSupport {
 
diff --git a/text-provider/src/main/resources/struts.xml 
b/text-provider/src/main/resources/struts.xml
index 35d19a4..7d1e2b4 100644
--- a/text-provider/src/main/resources/struts.xml
+++ b/text-provider/src/main/resources/struts.xml
@@ -12,7 +12,7 @@
   <!--
   This factory overrides the one defined in Struts and will be used a default 
one across the framework
   -->
-  <bean type="com.opensymphony.xwork2.TextProviderFactory"
+  <bean type="org.apache.struts2.text.TextProviderFactory"
         class="org.apache.struts_example.MyTextProviderFactory"
         name="myTextProviderFactory"
         scope="singleton"/>
@@ -25,11 +25,11 @@
   -->
   <!--
   <bean class="com.company.MyTextProviderSupport" name="MyTextProviderSupport"
-    type="com.opensymphony.xwork2.TextProvider" />
+    type="org.apache.struts2.text.TextProvider" />
   <constant name="struts.xworkTextProvider" value="MyTextProviderSupport" />
   -->
 
-  <bean type="com.opensymphony.xwork2.LocalizedTextProvider" name="myProvider" 
class="org.apache.struts_example.MyLocalizedTextProvider" scope="singleton" />
+  <bean type="org.apache.struts2.text.LocalizedTextProvider" name="myProvider" 
class="org.apache.struts_example.MyLocalizedTextProvider" scope="singleton" />
 
   <constant name="struts.localizedTextProvider" value="myProvider" />
 
diff --git 
a/themes-override/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/themes-override/src/main/java/org/apache/struts/edit/action/EditAction.java
index 700b2f5..728a4fc 100644
--- 
a/themes-override/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ 
b/themes-override/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.edit.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
+import org.apache.struts2.ActionSupport;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -17,72 +17,72 @@ import java.util.List;
  *
  */
 public class EditAction extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private EditService editService = new EditServiceInMemory();
-       
+
        private Person personBean;
-       
+
        private String [] sports = {"football", "baseball", "basketball" };
-       
+
        private String [] genders = {"male", "female", "not sure" };
-       
+
        private List<State> states ;
 
        private String [] carModelsAvailable = 
{"Ford","Chrysler","Toyota","Nissan"};
 
        public String execute() throws Exception {
-               
+
            editService.savePerson( getPersonBean() );
-               
+
                return SUCCESS;
-               
+
        }
-       
-       
+
+
        public String input() throws Exception {
-               
+
                setPersonBean( editService.getPerson() );
-               
+
                return INPUT;
        }
-       
+
        public Person getPersonBean() {
-               
-               
+
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 
        public List<String> getSports() {
                return Arrays.asList(sports);
        }
-       
+
        public List<String> getGenders() {
-               
+
                return Arrays.asList(genders);
-               
+
        }
 
 
 
        public List<State> getStates() {
-               
+
                states = new ArrayList<State>();
                states.add( new State("AZ", "Arizona") );
                states.add( new State("CA", "California") );
                states.add( new State("FL", "Florida") );
                states.add( new State("KS", "Kansas") );
                states.add( new State("NY", "New York") );
-               
+
                return states;
        }
 
diff --git a/themes-override/src/main/resources/log4j2.xml 
b/themes-override/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/themes-override/src/main/resources/log4j2.xml
+++ b/themes-override/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git a/themes/src/main/java/org/apache/struts/edit/action/EditAction.java 
b/themes/src/main/java/org/apache/struts/edit/action/EditAction.java
index aa07ff2..45b1206 100644
--- a/themes/src/main/java/org/apache/struts/edit/action/EditAction.java
+++ b/themes/src/main/java/org/apache/struts/edit/action/EditAction.java
@@ -8,8 +8,7 @@ import org.apache.struts.edit.model.Person;
 import org.apache.struts.edit.model.State;
 import org.apache.struts.edit.service.EditService;
 import org.apache.struts.edit.service.EditServiceInMemory;
-
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a controller to handle actions
@@ -18,72 +17,72 @@ import com.opensymphony.xwork2.ActionSupport;
  *
  */
 public class EditAction extends ActionSupport {
-       
+
        private static final long serialVersionUID = 1L;
-       
+
        private EditService editService = new EditServiceInMemory();
-       
+
        private Person personBean;
-       
+
        private String [] sports = {"football", "baseball", "basketball" };
-       
+
        private String [] genders = {"male", "female", "not sure" };
-       
+
        private List<State> states ;
 
        private String [] carModelsAvailable = 
{"Ford","Chrysler","Toyota","Nissan"};
 
        public String execute() throws Exception {
-               
+
            editService.savePerson( getPersonBean() );
-               
+
                return SUCCESS;
-               
+
        }
-       
-       
+
+
        public String input() throws Exception {
-               
+
                setPersonBean( editService.getPerson() );
-               
+
                return INPUT;
        }
-       
+
        public Person getPersonBean() {
-               
-               
+
+
                return personBean;
-               
+
        }
-       
+
        public void setPersonBean(Person person) {
-               
+
                personBean = person;
-               
+
        }
 
 
        public List<String> getSports() {
                return Arrays.asList(sports);
        }
-       
+
        public List<String> getGenders() {
-               
+
                return Arrays.asList(genders);
-               
+
        }
 
 
 
        public List<State> getStates() {
-               
+
                states = new ArrayList<State>();
                states.add( new State("AZ", "Arizona") );
                states.add( new State("CA", "California") );
                states.add( new State("FL", "Florida") );
                states.add( new State("KS", "Kansas") );
                states.add( new State("NY", "New York") );
-               
+
                return states;
        }
 
diff --git a/themes/src/main/resources/log4j2.xml 
b/themes/src/main/resources/log4j2.xml
index d7c09f9..2192788 100644
--- a/themes/src/main/resources/log4j2.xml
+++ b/themes/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.edit" level="debug"/>
         <Root level="warn">
diff --git a/tiles/src/main/java/org/demo/example/ExampleSupport.java 
b/tiles/src/main/java/org/demo/example/ExampleSupport.java
index 24f0d48..54e2d22 100644
--- a/tiles/src/main/java/org/demo/example/ExampleSupport.java
+++ b/tiles/src/main/java/org/demo/example/ExampleSupport.java
@@ -21,7 +21,7 @@
 
 package org.demo.example;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Base Action class for the Tutorial package.
diff --git 
a/type-conversion/src/main/java/org/apache/struts/example/NumberAction.java 
b/type-conversion/src/main/java/org/apache/struts/example/NumberAction.java
index 5b2e0e0..32a78b4 100644
--- a/type-conversion/src/main/java/org/apache/struts/example/NumberAction.java
+++ b/type-conversion/src/main/java/org/apache/struts/example/NumberAction.java
@@ -1,8 +1,8 @@
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionSupport;
 
 import java.math.BigDecimal;
 
diff --git 
a/type-conversion/src/main/java/org/apache/struts/example/ThemeAction.java 
b/type-conversion/src/main/java/org/apache/struts/example/ThemeAction.java
index 35109ee..95fb639 100644
--- a/type-conversion/src/main/java/org/apache/struts/example/ThemeAction.java
+++ b/type-conversion/src/main/java/org/apache/struts/example/ThemeAction.java
@@ -19,11 +19,11 @@
 
 package org.apache.struts.example;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.model.ThemeDescriptor;
 import org.apache.struts.model.Themes;
+import org.apache.struts2.ActionSupport;
 
 import java.util.Map;
 
diff --git a/type-conversion/src/main/resources/log4j2.xml 
b/type-conversion/src/main/resources/log4j2.xml
index 9160e24..06f1766 100644
--- a/type-conversion/src/main/resources/log4j2.xml
+++ b/type-conversion/src/main/resources/log4j2.xml
@@ -6,9 +6,7 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
-        <Logger name="org.apache.struts" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
         </Root>
diff --git 
a/unit-testing/src/main/java/org/apache/struts/register/action/Register.java 
b/unit-testing/src/main/java/org/apache/struts/register/action/Register.java
index e44c1d7..aef541c 100644
--- a/unit-testing/src/main/java/org/apache/struts/register/action/Register.java
+++ b/unit-testing/src/main/java/org/apache/struts/register/action/Register.java
@@ -1,7 +1,7 @@
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.register.model.Person;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.interceptor.parameter.StrutsParameter;
 
 /**
diff --git a/unit-testing/src/main/resources/log4j2.xml 
b/unit-testing/src/main/resources/log4j2.xml
index d3660f4..e394dfd 100644
--- a/unit-testing/src/main/resources/log4j2.xml
+++ b/unit-testing/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.register" level="debug"/>
         <Root level="warn">
diff --git 
a/unit-testing/src/test/java/org/apache/struts/register/action/RegisterTest.java
 
b/unit-testing/src/test/java/org/apache/struts/register/action/RegisterTest.java
index d3ce410..38450f2 100644
--- 
a/unit-testing/src/test/java/org/apache/struts/register/action/RegisterTest.java
+++ 
b/unit-testing/src/test/java/org/apache/struts/register/action/RegisterTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.struts.register.action;
 
-import com.opensymphony.xwork2.ActionProxy;
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionProxy;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.junit.StrutsTestCase;
 import org.junit.Test;
 
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Home.java 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Home.java
index c9e654d..2c44279 100644
--- a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Home.java
+++ b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Home.java
@@ -1,6 +1,6 @@
 package org.apache.strutsexamples.actions;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class Home extends ActionSupport {
 
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Index.java 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Index.java
index 114ad2e..440ff52 100644
--- a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Index.java
+++ b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Index.java
@@ -1,6 +1,6 @@
 package org.apache.strutsexamples.actions;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class Index extends ActionSupport {
 
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
index 06647e9..6dca722 100644
--- a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
+++ b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/Login.java
@@ -1,6 +1,6 @@
 package org.apache.strutsexamples.actions;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 import org.apache.struts2.convention.annotation.Action;
 import org.apache.struts2.action.SessionAware;
 
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/admin/Users.java
 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/admin/Users.java
index 8a923f2..3bc6285 100644
--- 
a/unknown-handler/src/main/java/org/apache/strutsexamples/actions/admin/Users.java
+++ 
b/unknown-handler/src/main/java/org/apache/strutsexamples/actions/admin/Users.java
@@ -1,6 +1,6 @@
 package org.apache.strutsexamples.actions.admin;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class Users extends ActionSupport {
 
diff --git 
a/unknown-handler/src/main/java/org/apache/strutsexamples/web/TilesUnknownHandler.java
 
b/unknown-handler/src/main/java/org/apache/strutsexamples/web/TilesUnknownHandler.java
index efe573e..95451af 100644
--- 
a/unknown-handler/src/main/java/org/apache/strutsexamples/web/TilesUnknownHandler.java
+++ 
b/unknown-handler/src/main/java/org/apache/strutsexamples/web/TilesUnknownHandler.java
@@ -1,16 +1,16 @@
 package org.apache.strutsexamples.web;
 
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.Result;
-import com.opensymphony.xwork2.UnknownHandler;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ActionContext;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsException;
+import org.apache.struts2.UnknownHandler;
+import org.apache.struts2.config.entities.ActionConfig;
+import org.apache.struts2.result.Result;
 import org.apache.struts2.views.tiles.TilesResult;
 import org.apache.tiles.api.TilesContainer;
 import org.apache.tiles.api.access.TilesAccess;
@@ -60,7 +60,7 @@ public class TilesUnknownHandler implements UnknownHandler {
             namespace = namespace.substring(1);
         }
 
-        if (!Objects.equals(namespace, "") && !Objects.equals(namespace, "/")){
+        if (!Objects.equals(namespace, "") && !Objects.equals(namespace, "/")) 
{
             if (namespace.endsWith("/")) {
                 definitions.add(namespace + actionName);
                 definitions.add(namespace + actionName + "-" + resultCode);
diff --git a/unknown-handler/src/main/resources/log4j2.xml 
b/unknown-handler/src/main/resources/log4j2.xml
index 043ce96..06f1766 100644
--- a/unknown-handler/src/main/resources/log4j2.xml
+++ b/unknown-handler/src/main/resources/log4j2.xml
@@ -6,9 +6,7 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
-        <Logger name="org.apache.org" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
         </Root>
diff --git a/unknown-handler/src/main/resources/struts.xml 
b/unknown-handler/src/main/resources/struts.xml
index 1dabe25..2725064 100644
--- a/unknown-handler/src/main/resources/struts.xml
+++ b/unknown-handler/src/main/resources/struts.xml
@@ -9,7 +9,7 @@
   <constant name="struts.convention.action.packages" 
value="org.apache.strutsexamples.web.actions"/>
   <constant name="struts.convention.default.parent.package" value="default"/>
 
-  <bean type="com.opensymphony.xwork2.UnknownHandler" name="tiles-convention" 
class="org.apache.strutsexamples.web.TilesUnknownHandler"/>
+  <bean type="org.apache.struts2.UnknownHandler" name="tiles-convention" 
class="org.apache.strutsexamples.web.TilesUnknownHandler"/>
 
   <package name="default" namespace="/" extends="struts-default">
 
diff --git 
a/using-tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
 
b/using-tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
index 6111deb..c4c22d7 100644
--- 
a/using-tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
+++ 
b/using-tags/src/main/java/org/apache/struts/using_tags/helloworld/action/HelloWorldAction.java
@@ -1,13 +1,13 @@
 package org.apache.struts.using_tags.helloworld.action;
 
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.struts.using_tags.helloworld.model.MessageStore;
+import org.apache.struts2.ActionSupport;
 
 /**
  * Acts as a Struts 2 controller that responds
  * to a user action by setting the value
- * of the MessageStore model class, and returns a String 
+ * of the MessageStore model class, and returns a String
  * result.
  * @author Bruce Phillips
  *
@@ -15,32 +15,30 @@ import 
org.apache.struts.using_tags.helloworld.model.MessageStore;
 public class HelloWorldAction extends ActionSupport {
 
     private static final long serialVersionUID = 1L;
-    
+
     /**
      * The model class that stores the message
      * to display in the view.
      */
     private MessageStore messageStore;
-    
+
     private static int helloCount = 0;
-    
+
     public int getHelloCount() {
         return helloCount;
     }
 
     /*
-     * Creates the MessageStore model object, 
-     * increase helloCount by 1 and 
+     * Creates the MessageStore model object,
+     * increase helloCount by 1 and
      * returns success.  The MessageStore model
      * object will be available to the view.
-     * (non-Javadoc)
-     * @see com.opensymphony.xwork2.ActionSupport#execute()
      */
     public String execute() throws Exception {
         messageStore = new MessageStore() ;
-        
+
         helloCount++;
-        
+
         return SUCCESS;
     }
 
diff --git a/using-tags/src/main/resources/log4j2.xml 
b/using-tags/src/main/resources/log4j2.xml
index f269402..a6d2013 100644
--- a/using-tags/src/main/resources/log4j2.xml
+++ b/using-tags/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.using_tags" level="debug"/>
         <Root level="warn">
diff --git 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/ExampleSupport.java
 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/ExampleSupport.java
index ed08c2d..bdbc4d9 100644
--- 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/ExampleSupport.java
+++ 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/ExampleSupport.java
@@ -1,6 +1,6 @@
 package org.apache.struts.validation_messages;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class ExampleSupport extends ActionSupport {
 }
diff --git 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
index 6fec733..39bbb10 100644
--- 
a/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
+++ 
b/validation-messages/src/main/java/org/apache/struts/validation_messages/Login.java
@@ -19,8 +19,6 @@
 
 package org.apache.struts.validation_messages;
 
-import com.opensymphony.xwork2.ActionSupport;
-
 public class Login extends ExampleSupport {
 
     public String execute() {
diff --git a/validation-messages/src/main/resources/log4j2.xml 
b/validation-messages/src/main/resources/log4j2.xml
index 9160e24..06f1766 100644
--- a/validation-messages/src/main/resources/log4j2.xml
+++ b/validation-messages/src/main/resources/log4j2.xml
@@ -6,9 +6,7 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
-        <Logger name="org.apache.struts" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
         </Root>
diff --git 
a/wildcard-method-selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/action/PersonAction.java
 
b/wildcard-method-selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/action/PersonAction.java
index 4bc65e5..ee0688d 100644
--- 
a/wildcard-method-selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/action/PersonAction.java
+++ 
b/wildcard-method-selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/action/PersonAction.java
@@ -1,10 +1,10 @@
 package org.apache.struts.tutorials.wildcardmethod.action;
 
-import com.opensymphony.xwork2.ActionSupport;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts.tutorials.wildcardmethod.model.Person;
 import org.apache.struts.tutorials.wildcardmethod.service.PersonService;
+import org.apache.struts2.ActionSupport;
 
 import java.util.List;
 
diff --git a/wildcard-method-selection/src/main/resources/log4j2.xml 
b/wildcard-method-selection/src/main/resources/log4j2.xml
index 3d7ad0b..006c5a3 100644
--- a/wildcard-method-selection/src/main/resources/log4j2.xml
+++ b/wildcard-method-selection/src/main/resources/log4j2.xml
@@ -6,7 +6,6 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
         <Logger name="org.apache.struts2.tutorials" level="debug"/>
         <Root level="warn">
diff --git a/wildcard-regex/src/main/java/org/apache/struts/form/Start.java 
b/wildcard-regex/src/main/java/org/apache/struts/form/Start.java
index 8c24cd9..e13d56c 100644
--- a/wildcard-regex/src/main/java/org/apache/struts/form/Start.java
+++ b/wildcard-regex/src/main/java/org/apache/struts/form/Start.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts.form;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class Start extends ActionSupport {
 
diff --git a/wildcard-regex/src/main/java/org/apache/struts/store/Save.java 
b/wildcard-regex/src/main/java/org/apache/struts/store/Save.java
index b40a4b5..de1c31c 100644
--- a/wildcard-regex/src/main/java/org/apache/struts/store/Save.java
+++ b/wildcard-regex/src/main/java/org/apache/struts/store/Save.java
@@ -19,7 +19,7 @@
 
 package org.apache.struts.store;
 
-import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.ActionSupport;
 
 public class Save extends ActionSupport {
 
diff --git a/wildcard-regex/src/main/resources/log4j2.xml 
b/wildcard-regex/src/main/resources/log4j2.xml
index 9160e24..06f1766 100644
--- a/wildcard-regex/src/main/resources/log4j2.xml
+++ b/wildcard-regex/src/main/resources/log4j2.xml
@@ -6,9 +6,7 @@
         </Console>
     </Appenders>
     <Loggers>
-        <Logger name="com.opensymphony.xwork2" level="info"/>
         <Logger name="org.apache.struts2" level="info"/>
-        <Logger name="org.apache.struts" level="debug"/>
         <Root level="warn">
             <AppenderRef ref="STDOUT"/>
         </Root>

Reply via email to