You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/06/12 16:27:17 UTC
[1/2] struts-examples git commit: Switch to log4j2 in all examples
which are using log4j
Repository: struts-examples
Updated Branches:
refs/heads/master c91792787 -> a66c0865e
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/resources/log4j.dtd b/wildcard_method_selection/src/main/resources/log4j.dtd
deleted file mode 100644
index 8868820..0000000
--- a/wildcard_method_selection/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
- (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging -->
-<!-- statements. -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field -->
-<!-- keeps its old value. -->
-
-<!ATTLIST log4j:configuration
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- threshold (all|trace|debug|info|warn|error|fatal|off|null) "null"
- debug (true|false|null) "null"
- reset (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of -->
-<!-- message objects to String. -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
- renderedClass CDATA #REQUIRED
- renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
- rollingPolicy?, triggeringPolicy?, connectionSource?,
- layout?, filter*, appender-ref*)>
-<!ATTLIST appender
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
- class CDATA #REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
- class CDATA #REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)>
-<!ATTLIST errorHandler
- class CDATA #REQUIRED
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
- ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
- class CDATA #IMPLIED
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
- ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!-- A logging event -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- version (1.1|1.2) "1.2"
- includesLocationInfo (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
- log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
- logger CDATA #REQUIRED
- level CDATA #REQUIRED
- thread CDATA #REQUIRED
- timestamp CDATA #REQUIRED
- time CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
- class CDATA #REQUIRED
- method CDATA #REQUIRED
- file CDATA #REQUIRED
- line CDATA #REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/resources/log4j.xml b/wildcard_method_selection/src/main/resources/log4j.xml
deleted file mode 100644
index ea94c42..0000000
--- a/wildcard_method_selection/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.SimpleLayout"/>
- </appender>
-
-
- <!-- specify the logging level for loggers from other libraries -->
- <logger name="com.opensymphony">
- <level value="ERROR" />
- </logger>
-
- <logger name="org.apache.struts2">
- <level value="ERROR" />
- </logger>
-
- <!-- log only ERROR and above messages for loggers with
- a name of the name value below -->
- <logger name="org.apache.struts.tutorials">
- <level value="DEGUG" />
- </logger>
-
-
-
- <!-- for all other loggers log only info and above log messages -->
- <root>
- <priority value="WARN"/>
- <appender-ref ref="STDOUT" />
- </root>
-
-</log4j:configuration>
-
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/resources/log4j2.xml b/wildcard_method_selection/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..3d7ad0b
--- /dev/null
+++ b/wildcard_method_selection/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+ <Appenders>
+ <Console name="STDOUT" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </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">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/webapp/WEB-INF/web.xml b/wildcard_method_selection/src/main/webapp/WEB-INF/web.xml
index 7951a40..9be994d 100644
--- a/wildcard_method_selection/src/main/webapp/WEB-INF/web.xml
+++ b/wildcard_method_selection/src/main/webapp/WEB-INF/web.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Wildcard_Method_Struts2_Mvn</display-name>
+
<welcome-file-list>
- <welcome-file>input.jsp</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/webapp/index.jsp b/wildcard_method_selection/src/main/webapp/index.jsp
new file mode 100644
index 0000000..efdb306
--- /dev/null
+++ b/wildcard_method_selection/src/main/webapp/index.jsp
@@ -0,0 +1 @@
+<% response.sendRedirect("Person.action"); %>
\ No newline at end of file
[2/2] struts-examples git commit: Switch to log4j2 in all examples
which are using log4j
Posted by jo...@apache.org.
Switch to log4j2 in all examples which are using log4j
Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/a66c0865
Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/a66c0865
Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/a66c0865
Branch: refs/heads/master
Commit: a66c0865e8a3a8870c8e5183e439a08ee0a5b89e
Parents: c917927
Author: Johannes Geppert <jo...@apache.org>
Authored: Fri Jun 12 16:27:15 2015 +0200
Committer: Johannes Geppert <jo...@apache.org>
Committed: Fri Jun 12 16:27:15 2015 +0200
----------------------------------------------------------------------
annotations/pom.xml | 61 +++--
.../main/java/example/actions/HelloAction.java | 65 +++---
.../java/example/actions/RegisterAction.java | 81 +++----
.../src/main/java/example/model/Person.java | 36 ++-
annotations/src/main/resources/log4j.dtd | 227 -------------------
annotations/src/main/resources/log4j.xml | 28 ---
annotations/src/main/resources/log4j2.xml | 16 ++
.../webapp/WEB-INF/content/hello-success.jsp | 11 +-
.../src/main/webapp/WEB-INF/content/index.jsp | 1 +
.../webapp/WEB-INF/content/register-input.jsp | 28 +--
.../webapp/WEB-INF/content/register-success.jsp | 10 +-
annotations/src/main/webapp/WEB-INF/web.xml | 36 +--
blank/src/main/webapp/WEB-INF/web.xml | 2 +-
.../apache/struts/edit/action/EditAction.java | 60 +----
exclude_parameters/src/main/resources/log4j.dtd | 227 -------------------
exclude_parameters/src/main/resources/log4j.xml | 28 ---
.../src/main/resources/log4j2.xml | 16 ++
pom.xml | 7 +-
.../apache/struts/edit/action/EditAction.java | 191 +++++++---------
.../src/main/resources/log4j.dtd | 227 -------------------
.../src/main/resources/log4j.xml | 28 ---
.../src/main/resources/log4j2.xml | 16 ++
.../org/apache/struts/example/MovieAction.java | 19 +-
.../src/main/resources/log4j.dtd | 227 -------------------
.../src/main/resources/log4j.xml | 28 ---
.../src/main/resources/log4j2.xml | 16 ++
wildcard_method_selection/pom.xml | 54 +++--
.../wildcardmethod/action/PersonAction.java | 194 +++++++---------
.../wildcardmethod/service/PersonService.java | 73 ++----
.../src/main/resources/log4j.dtd | 227 -------------------
.../src/main/resources/log4j.xml | 35 ---
.../src/main/resources/log4j2.xml | 16 ++
.../src/main/webapp/WEB-INF/web.xml | 3 +-
.../src/main/webapp/index.jsp | 1 +
34 files changed, 467 insertions(+), 1828 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/pom.xml
----------------------------------------------------------------------
diff --git a/annotations/pom.xml b/annotations/pom.xml
index 3396449..98a1d45 100644
--- a/annotations/pom.xml
+++ b/annotations/pom.xml
@@ -1,33 +1,46 @@
<?xml version="1.0"?>
<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>struts.apache.org</groupId>
- <artifactId>struts2examples</artifactId>
- <version>1.0.0</version>
- </parent>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>struts.apache.org</groupId>
+ <artifactId>struts2examples</artifactId>
+ <version>1.0.0</version>
+ </parent>
- <artifactId>annotations</artifactId>
+ <artifactId>annotations</artifactId>
- <name>annotations</name>
+ <name>Annotations with Convention Plugin</name>
- <description>Annotations example application for the
- Struts 2 getting started tutorials</description>
- <packaging>war</packaging>
- <build>
- <finalName>annotations</finalName>
- </build>
+ <description>Annotations example application for the Struts 2 getting started tutorials</description>
+ <packaging>war</packaging>
- <dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-convention-plugin</artifactId>
+ <version>${struts2.version}</version>
+ </dependency>
+ </dependencies>
-
- <dependency>
- <groupId>org.apache.struts</groupId>
- <artifactId>struts2-convention-plugin</artifactId>
- <version>${struts2.version}</version>
- </dependency>
- </dependencies>
+ <build>
+ <finalName>annotations</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>8.1.16.v20140903</version>
+ <configuration>
+ <stopKey>CTRL+C</stopKey>
+ <stopPort>8999</stopPort>
+ <scanIntervalSeconds>10</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
+ </scanTargets>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/java/example/actions/HelloAction.java
----------------------------------------------------------------------
diff --git a/annotations/src/main/java/example/actions/HelloAction.java b/annotations/src/main/java/example/actions/HelloAction.java
index 03f7eab..91c2c9d 100644
--- a/annotations/src/main/java/example/actions/HelloAction.java
+++ b/annotations/src/main/java/example/actions/HelloAction.java
@@ -1,48 +1,41 @@
package example.actions;
-import org.apache.log4j.Logger;
-
-
import com.opensymphony.xwork2.ActionSupport;
-
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* Acts as a controller to handle actions
* related to registering a user.
- * @author bruce phillips
*
+ * @author bruce phillips
*/
public class HelloAction extends ActionSupport {
-
- private static final long serialVersionUID = 1L;
-
- private static final Logger logger = Logger.getLogger( HelloAction.class.getName() );
-
- private String message;
-
-
- public String execute() throws Exception {
-
- logger.info("In execute method of class Hello");
-
- message = "Hello from Struts 2 with no XML configuration.";
-
- return SUCCESS;
-
- }
-
-
- public void setMessage(String message) {
- this.message = message;
- }
-
-
- public String getMessage() {
- return message;
- }
-
-
-
-
+
+ private static final long serialVersionUID = 1L;
+
+ private static final Logger log = LogManager.getLogger(HelloAction.class);
+
+ private String message;
+
+
+ public String execute() throws Exception {
+
+ log.info("In execute method of class Hello");
+
+ message = "Hello from Struts 2 with no XML configuration.";
+
+ return SUCCESS;
+ }
+
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+
+ public String getMessage() {
+ return message;
+ }
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/java/example/actions/RegisterAction.java
----------------------------------------------------------------------
diff --git a/annotations/src/main/java/example/actions/RegisterAction.java b/annotations/src/main/java/example/actions/RegisterAction.java
index 50d19ee..42e5f32 100644
--- a/annotations/src/main/java/example/actions/RegisterAction.java
+++ b/annotations/src/main/java/example/actions/RegisterAction.java
@@ -1,58 +1,49 @@
package example.actions;
-import org.apache.log4j.Logger;
-import org.apache.struts2.convention.annotation.Action;
-
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.convention.annotation.Action;
/**
* Acts as a controller to handle actions
* related to registering a user.
- * @author bruce phillips
*
+ * @author bruce phillips
*/
public class RegisterAction extends ActionSupport {
-
- private static final long serialVersionUID = 1L;
-
- private static final Logger logger = Logger.getLogger( RegisterAction.class.getName() );
-
- private Person personBean;
-
- @Action("register-input")
- public String input() throws Exception {
-
- logger.info("In input method of class RegisterAction");
-
- return INPUT;
-
- }
-
- public String execute() throws Exception {
-
- logger.info("In execute method of class RegisterAction");
-
- //call Service class to store personBean's state in database
-
- return SUCCESS;
-
- }
-
-
-
-
- public Person getPersonBean() {
-
- return personBean;
-
- }
-
- public void setPersonBean(Person person) {
-
- personBean = person;
-
- }
+
+ private static final long serialVersionUID = 1L;
+
+ private static final Logger log = LogManager.getLogger(RegisterAction.class);
+
+ private Person personBean;
+
+ @Action("register-input")
+ public String input() throws Exception {
+
+ log.info("In input method of class RegisterAction");
+
+ return INPUT;
+ }
+
+ public String execute() throws Exception {
+
+ log.info("In execute method of class RegisterAction");
+
+ //call Service class to store personBean's state in database
+
+ return SUCCESS;
+ }
+
+
+ public Person getPersonBean() {
+ return personBean;
+ }
+
+ public void setPersonBean(Person person) {
+ personBean = person;
+ }
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/java/example/model/Person.java
----------------------------------------------------------------------
diff --git a/annotations/src/main/java/example/model/Person.java b/annotations/src/main/java/example/model/Person.java
index 010f9ef..92669e3 100644
--- a/annotations/src/main/java/example/model/Person.java
+++ b/annotations/src/main/java/example/model/Person.java
@@ -3,60 +3,50 @@ package example.model;
/**
* Models a Person who registers.
- * @author bruce phillips
*
+ * @author bruce phillips
*/
-public class Person
-{
+public class Person {
private String firstName;
private String lastName;
private String email;
private int age;
- public String getFirstName()
- {
+ public String getFirstName() {
return firstName;
}
- public void setFirstName(String firstName)
- {
+ public void setFirstName(String firstName) {
this.firstName = firstName;
}
- public String getLastName()
- {
+ public String getLastName() {
return lastName;
}
- public void setLastName(String lastName)
- {
+ public void setLastName(String lastName) {
this.lastName = lastName;
}
- public String getEmail()
- {
+ public String getEmail() {
return email;
}
- public void setEmail(String email)
- {
+ public void setEmail(String email) {
this.email = email;
}
- public int getAge()
- {
+ public int getAge() {
return age;
}
- public void setAge( int age)
- {
+ public void setAge(int age) {
this.age = age;
}
- public String toString()
- {
- return "First Name: " + getFirstName() + " Last Name: " + getLastName() +
- " Email: " + getEmail() + " Age: " + getAge() ;
+ public String toString() {
+ return "First Name: " + getFirstName() + " Last Name: " + getLastName() +
+ " Email: " + getEmail() + " Age: " + getAge();
}
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/annotations/src/main/resources/log4j.dtd b/annotations/src/main/resources/log4j.dtd
deleted file mode 100644
index 1aabd96..0000000
--- a/annotations/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
- (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging -->
-<!-- statements. -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field -->
-<!-- keeps its old value. -->
-
-<!ATTLIST log4j:configuration
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- threshold (all|trace|debug|info|warn|error|fatal|off|null) "null"
- debug (true|false|null) "null"
- reset (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of -->
-<!-- message objects to String. -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
- renderedClass CDATA #REQUIRED
- renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
- rollingPolicy?, triggeringPolicy?, connectionSource?,
- layout?, filter*, appender-ref*)>
-<!ATTLIST appender
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
- class CDATA #REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
- class CDATA #REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)>
-<!ATTLIST errorHandler
- class CDATA #REQUIRED
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
- ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
- class CDATA #IMPLIED
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
- ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!-- A logging event -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- version (1.1|1.2) "1.2"
- includesLocationInfo (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
- log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
- logger CDATA #REQUIRED
- level CDATA #REQUIRED
- thread CDATA #REQUIRED
- timestamp CDATA #REQUIRED
- time CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
- class CDATA #REQUIRED
- method CDATA #REQUIRED
- file CDATA #REQUIRED
- line CDATA #REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/annotations/src/main/resources/log4j.xml b/annotations/src/main/resources/log4j.xml
deleted file mode 100644
index 2100cb2..0000000
--- a/annotations/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
- </layout>
- </appender>
-
- <!-- specify the logging level for loggers from other libraries -->
- <logger name="com.opensymphony">
- <level value="DEBUG" />
- </logger>
-
- <logger name="org.apache.struts2">
- <level value="DEBUG" />
- </logger>
-
- <!-- for all other loggers log only debug and above log messages -->
- <root>
- <priority value="INFO"/>
- <appender-ref ref="STDOUT" />
- </root>
-
-</log4j:configuration>
-
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/annotations/src/main/resources/log4j2.xml b/annotations/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..3b08ab1
--- /dev/null
+++ b/annotations/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+ <Appenders>
+ <Console name="STDOUT" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </Console>
+ </Appenders>
+ <Loggers>
+ <Logger name="com.opensymphony.xwork2" level="info"/>
+ <Logger name="org.apache.struts2" level="info"/>
+ <Logger name="example" level="debug"/>
+ <Root level="info">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/webapp/WEB-INF/content/hello-success.jsp
----------------------------------------------------------------------
diff --git a/annotations/src/main/webapp/WEB-INF/content/hello-success.jsp b/annotations/src/main/webapp/WEB-INF/content/hello-success.jsp
index 00119be..b02f233 100644
--- a/annotations/src/main/webapp/WEB-INF/content/hello-success.jsp
+++ b/annotations/src/main/webapp/WEB-INF/content/hello-success.jsp
@@ -1,19 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
+ pageEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Hello</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+ <title>Hello</title>
</head>
<body>
-<h3><s:property value="message" /></h3>
+<h3><s:property value="message"/></h3>
-
-<p><a href="index.jsp" >Return to home page</a>.</p>
+<p><a href="index.jsp">Return to home page</a>.</p>
</body>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/webapp/WEB-INF/content/index.jsp
----------------------------------------------------------------------
diff --git a/annotations/src/main/webapp/WEB-INF/content/index.jsp b/annotations/src/main/webapp/WEB-INF/content/index.jsp
new file mode 100644
index 0000000..08ef1fc
--- /dev/null
+++ b/annotations/src/main/webapp/WEB-INF/content/index.jsp
@@ -0,0 +1 @@
+<% response.sendRedirect("/index.jsp"); %>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/webapp/WEB-INF/content/register-input.jsp
----------------------------------------------------------------------
diff --git a/annotations/src/main/webapp/WEB-INF/content/register-input.jsp b/annotations/src/main/webapp/WEB-INF/content/register-input.jsp
index ab6562f..7ec62b7 100644
--- a/annotations/src/main/webapp/WEB-INF/content/register-input.jsp
+++ b/annotations/src/main/webapp/WEB-INF/content/register-input.jsp
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
+ pageEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Register</title>
-<s:head />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+ <title>Register</title>
+ <s:head/>
</head>
<body>
<h3>Register for a prize by completing this form.</h3>
-<s:form action="register" >
+<s:form action="register">
+
+ <s:textfield name="personBean.firstName" label="First name"/>
+ <s:textfield name="personBean.lastName" label="Last name"/>
+ <s:textfield name="personBean.email" label="Email"/>
+ <s:textfield name="personBean.age" label="Age"/>
+
+ <s:submit/>
+
+</s:form>
- <s:textfield name="personBean.firstName" label="First name" />
- <s:textfield name="personBean.lastName" label="Last name" />
- <s:textfield name="personBean.email" label ="Email"/>
- <s:textfield name="personBean.age" label="Age" />
-
- <s:submit/>
-
-</s:form>
-
</body>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/webapp/WEB-INF/content/register-success.jsp
----------------------------------------------------------------------
diff --git a/annotations/src/main/webapp/WEB-INF/content/register-success.jsp b/annotations/src/main/webapp/WEB-INF/content/register-success.jsp
index 174f0ad..c9c0e52 100644
--- a/annotations/src/main/webapp/WEB-INF/content/register-success.jsp
+++ b/annotations/src/main/webapp/WEB-INF/content/register-success.jsp
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
+ pageEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Registration Successful</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+ <title>Registration Successful</title>
</head>
<body>
<h3>Thank you for registering for a prize.</h3>
-<p>Your registration information: <s:property value="personBean" /> </p>
+<p>Your registration information: <s:property value="personBean"/></p>
-<p><a href="index.jsp" >Return to home page</a>.</p>
+<p><a href="index.jsp">Return to home page</a>.</p>
</body>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/annotations/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/annotations/src/main/webapp/WEB-INF/web.xml b/annotations/src/main/webapp/WEB-INF/web.xml
index 84ed515..f67db04 100644
--- a/annotations/src/main/webapp/WEB-INF/web.xml
+++ b/annotations/src/main/webapp/WEB-INF/web.xml
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <display-name>annotations</display-name>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
+ xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>annotations</display-name>
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- <init-param>
- <param-name>struts.devMode</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
+ <filter>
+ <filter-name>struts2</filter-name>
+ <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
+ <init-param>
+ <param-name>struts.devMode</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
+ <filter-mapping>
+ <filter-name>struts2</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
</web-app>
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/blank/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/blank/src/main/webapp/WEB-INF/web.xml b/blank/src/main/webapp/WEB-INF/web.xml
index f15252b..301bcb2 100644
--- a/blank/src/main/webapp/WEB-INF/web.xml
+++ b/blank/src/main/webapp/WEB-INF/web.xml
@@ -16,7 +16,7 @@
</filter-mapping>
<welcome-file-list>
- <welcome-file>index.html</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Restricts access to pure JSP files - access available only via Struts action -->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/exclude_parameters/src/main/java/org/apache/struts/edit/action/EditAction.java
----------------------------------------------------------------------
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 a576a9d..0383bbc 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,10 +1,9 @@
package org.apache.struts.edit.action;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.log4j.Logger;
+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;
import org.apache.struts.edit.model.State;
import org.apache.struts.edit.service.CarModelsService;
@@ -12,8 +11,9 @@ import org.apache.struts.edit.service.CarModelsServiceHardCoded;
import org.apache.struts.edit.service.EditService;
import org.apache.struts.edit.service.EditServiceInMemory;
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
* Acts as a controller to handle actions
@@ -22,98 +22,64 @@ import com.opensymphony.xwork2.Preparable;
*
*/
public class EditAction extends ActionSupport implements Preparable {
-
- private static Logger log = Logger.getLogger( EditAction.class.getName() );
-
+
+ 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" };
-
private List<State> states ;
-
private String [] carModelsAvailable ;
-
-
@Override
public void prepare() throws Exception {
-
log.info("In prepare method...");
-
carModelsAvailable = carModelsService.getCarModels() ;
-
setPersonBean( editService.getPerson() );
-
}
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;
-
}
-
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 = new ArrayList<>();
states.add( new State("AZ", "Arizona") );
states.add( new State("CA", "California") );
states.add( new State("FL", "Florida") );
@@ -123,11 +89,7 @@ public class EditAction extends ActionSupport implements Preparable {
return states;
}
-
-
public String [] getCarModelsAvailable() {
return carModelsAvailable;
}
-
-
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/exclude_parameters/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/exclude_parameters/src/main/resources/log4j.dtd b/exclude_parameters/src/main/resources/log4j.dtd
deleted file mode 100644
index 1aabd96..0000000
--- a/exclude_parameters/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
- (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging -->
-<!-- statements. -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field -->
-<!-- keeps its old value. -->
-
-<!ATTLIST log4j:configuration
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- threshold (all|trace|debug|info|warn|error|fatal|off|null) "null"
- debug (true|false|null) "null"
- reset (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of -->
-<!-- message objects to String. -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
- renderedClass CDATA #REQUIRED
- renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
- rollingPolicy?, triggeringPolicy?, connectionSource?,
- layout?, filter*, appender-ref*)>
-<!ATTLIST appender
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
- class CDATA #REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
- class CDATA #REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)>
-<!ATTLIST errorHandler
- class CDATA #REQUIRED
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
- ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
- class CDATA #IMPLIED
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
- ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!-- A logging event -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- version (1.1|1.2) "1.2"
- includesLocationInfo (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
- log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
- logger CDATA #REQUIRED
- level CDATA #REQUIRED
- thread CDATA #REQUIRED
- timestamp CDATA #REQUIRED
- time CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
- class CDATA #REQUIRED
- method CDATA #REQUIRED
- file CDATA #REQUIRED
- line CDATA #REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/exclude_parameters/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/exclude_parameters/src/main/resources/log4j.xml b/exclude_parameters/src/main/resources/log4j.xml
deleted file mode 100644
index 2100cb2..0000000
--- a/exclude_parameters/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
- </layout>
- </appender>
-
- <!-- specify the logging level for loggers from other libraries -->
- <logger name="com.opensymphony">
- <level value="DEBUG" />
- </logger>
-
- <logger name="org.apache.struts2">
- <level value="DEBUG" />
- </logger>
-
- <!-- for all other loggers log only debug and above log messages -->
- <root>
- <priority value="INFO"/>
- <appender-ref ref="STDOUT" />
- </root>
-
-</log4j:configuration>
-
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/exclude_parameters/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/exclude_parameters/src/main/resources/log4j2.xml b/exclude_parameters/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..d7c09f9
--- /dev/null
+++ b/exclude_parameters/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+ <Appenders>
+ <Console name="STDOUT" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </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">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2e355a9..86ee2cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,6 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<struts2.version>2.3.25-SNAPSHOT</struts2.version>
- <log4j.version>1.2.17</log4j.version>
<log4j2.version>2.3</log4j2.version>
</properties>
@@ -78,9 +77,9 @@
</dependency>
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>${log4j.version}</version>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j2.version}</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/preparable_interface/src/main/java/org/apache/struts/edit/action/EditAction.java
----------------------------------------------------------------------
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 a576a9d..1d9f288 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,10 +1,9 @@
package org.apache.struts.edit.action;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.log4j.Logger;
+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;
import org.apache.struts.edit.model.State;
import org.apache.struts.edit.service.CarModelsService;
@@ -12,122 +11,86 @@ import org.apache.struts.edit.service.CarModelsServiceHardCoded;
import org.apache.struts.edit.service.EditService;
import org.apache.struts.edit.service.EditServiceInMemory;
-import com.opensymphony.xwork2.ActionSupport;
-import com.opensymphony.xwork2.Preparable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
* Acts as a controller to handle actions
* related to editing a Person.
- * @author bruce phillips
*
+ * @author bruce phillips
*/
public class EditAction extends ActionSupport implements Preparable {
-
- private static Logger log = Logger.getLogger( EditAction.class.getName() );
-
- 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" };
-
- private List<State> states ;
-
- private String [] carModelsAvailable ;
-
-
-
- @Override
- public void prepare() throws Exception {
-
- log.info("In prepare method...");
-
- carModelsAvailable = carModelsService.getCarModels() ;
-
- setPersonBean( editService.getPerson() );
-
- }
-
- 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;
-
- }
-
-
- 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;
- }
-
-
-
- public String [] getCarModelsAvailable() {
- return carModelsAvailable;
- }
+ 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"};
+ private List<State> states;
+ private String[] carModelsAvailable;
+
+
+ @Override
+ public void prepare() throws Exception {
+ log.debug("In prepare method...");
+ carModelsAvailable = carModelsService.getCarModels();
+ setPersonBean(editService.getPerson());
+ }
+
+ public void prepareExecute() {
+ log.debug("In prepareExecute method...");
+ }
+
+ public String execute() throws Exception {
+ log.debug("In execute method...");
+ editService.savePerson(getPersonBean());
+ return SUCCESS;
+ }
+
+ public void prepareInput() {
+ log.debug("In prepareInput method...");
+ }
+
+ public String input() throws Exception {
+ log.debug("In input method...");
+ 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<>();
+ 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;
+ }
+ public String[] getCarModelsAvailable() {
+ return carModelsAvailable;
+ }
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/preparable_interface/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/preparable_interface/src/main/resources/log4j.dtd b/preparable_interface/src/main/resources/log4j.dtd
deleted file mode 100644
index 1aabd96..0000000
--- a/preparable_interface/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
- (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging -->
-<!-- statements. -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field -->
-<!-- keeps its old value. -->
-
-<!ATTLIST log4j:configuration
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- threshold (all|trace|debug|info|warn|error|fatal|off|null) "null"
- debug (true|false|null) "null"
- reset (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of -->
-<!-- message objects to String. -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
- renderedClass CDATA #REQUIRED
- renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
- rollingPolicy?, triggeringPolicy?, connectionSource?,
- layout?, filter*, appender-ref*)>
-<!ATTLIST appender
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
- class CDATA #REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
- class CDATA #REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)>
-<!ATTLIST errorHandler
- class CDATA #REQUIRED
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
- ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
- class CDATA #IMPLIED
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
- ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!-- A logging event -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- version (1.1|1.2) "1.2"
- includesLocationInfo (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
- log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
- logger CDATA #REQUIRED
- level CDATA #REQUIRED
- thread CDATA #REQUIRED
- timestamp CDATA #REQUIRED
- time CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
- class CDATA #REQUIRED
- method CDATA #REQUIRED
- file CDATA #REQUIRED
- line CDATA #REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/preparable_interface/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/preparable_interface/src/main/resources/log4j.xml b/preparable_interface/src/main/resources/log4j.xml
deleted file mode 100644
index 2100cb2..0000000
--- a/preparable_interface/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
- </layout>
- </appender>
-
- <!-- specify the logging level for loggers from other libraries -->
- <logger name="com.opensymphony">
- <level value="DEBUG" />
- </logger>
-
- <logger name="org.apache.struts2">
- <level value="DEBUG" />
- </logger>
-
- <!-- for all other loggers log only debug and above log messages -->
- <root>
- <priority value="INFO"/>
- <appender-ref ref="STDOUT" />
- </root>
-
-</log4j:configuration>
-
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/preparable_interface/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/preparable_interface/src/main/resources/log4j2.xml b/preparable_interface/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..d7c09f9
--- /dev/null
+++ b/preparable_interface/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+ <Appenders>
+ <Console name="STDOUT" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </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">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
----------------------------------------------------------------------
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 82773ae..76b1cfb 100644
--- a/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
+++ b/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
@@ -1,13 +1,12 @@
package org.apache.struts.example;
-import org.apache.log4j.Logger;
-
import com.opensymphony.xwork2.ActionSupport;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
public class MovieAction extends ActionSupport {
-
- private static final Logger LOGGER = Logger.getLogger(MovieAction.class.getName() );
+ private static final Logger log = LogManager.getLogger(MovieAction.class.getName());
private static final long serialVersionUID = 1L;
private String id;
@@ -19,11 +18,8 @@ public class MovieAction extends ActionSupport {
* @return success
*/
public String view() {
-
- LOGGER.debug("Value of id is " + id);
-
+ log.debug("Value of id is " + id);
return SUCCESS;
-
}
/**
@@ -32,12 +28,8 @@ public class MovieAction extends ActionSupport {
* @return
*/
public String index() {
-
-
- LOGGER.debug("Value of id is " + id);
-
+ log.debug("Value of id is " + id);
return SUCCESS;
-
}
public String getId() {
@@ -47,5 +39,4 @@ public class MovieAction extends ActionSupport {
public void setId(String id) {
this.id = id;
}
-
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/restful2actionmapper/src/main/resources/log4j.dtd
----------------------------------------------------------------------
diff --git a/restful2actionmapper/src/main/resources/log4j.dtd b/restful2actionmapper/src/main/resources/log4j.dtd
deleted file mode 100755
index 1aabd96..0000000
--- a/restful2actionmapper/src/main/resources/log4j.dtd
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- Authors: Chris Taylor, Ceki Gulcu. -->
-
-<!-- Version: 1.2 -->
-
-<!-- A configuration element consists of optional renderer
-elements,appender elements, categories and an optional root
-element. -->
-
-<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
- (categoryFactory|loggerFactory)?)>
-
-<!-- The "threshold" attribute takes a level value below which -->
-<!-- all logging statements are disabled. -->
-
-<!-- Setting the "debug" enable the printing of internal log4j logging -->
-<!-- statements. -->
-
-<!-- By default, debug attribute is "null", meaning that we not do touch -->
-<!-- internal log4j logging settings. The "null" value for the threshold -->
-<!-- attribute can be misleading. The threshold field of a repository -->
-<!-- cannot be set to null. The "null" value for the threshold attribute -->
-<!-- simply means don't touch the threshold field, the threshold field -->
-<!-- keeps its old value. -->
-
-<!ATTLIST log4j:configuration
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- threshold (all|trace|debug|info|warn|error|fatal|off|null) "null"
- debug (true|false|null) "null"
- reset (true|false) "false"
->
-
-<!-- renderer elements allow the user to customize the conversion of -->
-<!-- message objects to String. -->
-
-<!ELEMENT renderer EMPTY>
-<!ATTLIST renderer
- renderedClass CDATA #REQUIRED
- renderingClass CDATA #REQUIRED
->
-
-<!-- Appenders must have a name and a class. -->
-<!-- Appenders may contain an error handler, a layout, optional parameters -->
-<!-- and filters. They may also reference (or include) other appenders. -->
-<!ELEMENT appender (errorHandler?, param*,
- rollingPolicy?, triggeringPolicy?, connectionSource?,
- layout?, filter*, appender-ref*)>
-<!ATTLIST appender
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT layout (param*)>
-<!ATTLIST layout
- class CDATA #REQUIRED
->
-
-<!ELEMENT filter (param*)>
-<!ATTLIST filter
- class CDATA #REQUIRED
->
-
-<!-- ErrorHandlers can be of any class. They can admit any number of -->
-<!-- parameters. -->
-
-<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)>
-<!ATTLIST errorHandler
- class CDATA #REQUIRED
->
-
-<!ELEMENT root-ref EMPTY>
-
-<!ELEMENT logger-ref EMPTY>
-<!ATTLIST logger-ref
- ref CDATA #REQUIRED
->
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-
-
-<!-- The priority class is org.apache.log4j.Level by default -->
-<!ELEMENT priority (param*)>
-<!ATTLIST priority
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-<!-- The level class is org.apache.log4j.Level by default -->
-<!ELEMENT level (param*)>
-<!ATTLIST level
- class CDATA #IMPLIED
- value CDATA #REQUIRED
->
-
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named category. -->
-<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
-<!ATTLIST category
- class CDATA #IMPLIED
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-<!-- If no level element is specified, then the configurator MUST not -->
-<!-- touch the level of the named logger. -->
-<!ELEMENT logger (level?,appender-ref*)>
-<!ATTLIST logger
- name CDATA #REQUIRED
- additivity (true|false) "true"
->
-
-
-<!ELEMENT categoryFactory (param*)>
-<!ATTLIST categoryFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT loggerFactory (param*)>
-<!ATTLIST loggerFactory
- class CDATA #REQUIRED>
-
-<!ELEMENT appender-ref EMPTY>
-<!ATTLIST appender-ref
- ref CDATA #REQUIRED
->
-
-<!-- plugins must have a name and class and can have optional parameters -->
-<!ELEMENT plugin (param*, connectionSource?)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- class CDATA #REQUIRED
->
-
-<!ELEMENT connectionSource (dataSource?, param*)>
-<!ATTLIST connectionSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT dataSource (param*)>
-<!ATTLIST dataSource
- class CDATA #REQUIRED
->
-
-<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST triggeringPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST rollingPolicy
- name CDATA #IMPLIED
- class CDATA #REQUIRED
->
-
-
-<!-- If no priority element is specified, then the configurator MUST not -->
-<!-- touch the priority of root. -->
-<!-- The root category always exists and cannot be subclassed. -->
-<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
-
-
-<!-- ==================================================================== -->
-<!-- A logging event -->
-<!-- ==================================================================== -->
-<!ELEMENT log4j:eventSet (log4j:event*)>
-<!ATTLIST log4j:eventSet
- xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/"
- version (1.1|1.2) "1.2"
- includesLocationInfo (true|false) "true"
->
-
-
-
-<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
- log4j:locationInfo?, log4j:properties?) >
-
-<!-- The timestamp format is application dependent. -->
-<!ATTLIST log4j:event
- logger CDATA #REQUIRED
- level CDATA #REQUIRED
- thread CDATA #REQUIRED
- timestamp CDATA #REQUIRED
- time CDATA #IMPLIED
->
-
-<!ELEMENT log4j:message (#PCDATA)>
-<!ELEMENT log4j:NDC (#PCDATA)>
-
-<!ELEMENT log4j:throwable (#PCDATA)>
-
-<!ELEMENT log4j:locationInfo EMPTY>
-<!ATTLIST log4j:locationInfo
- class CDATA #REQUIRED
- method CDATA #REQUIRED
- file CDATA #REQUIRED
- line CDATA #REQUIRED
->
-
-<!ELEMENT log4j:properties (log4j:data*)>
-
-<!ELEMENT log4j:data EMPTY>
-<!ATTLIST log4j:data
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/restful2actionmapper/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/restful2actionmapper/src/main/resources/log4j.xml b/restful2actionmapper/src/main/resources/log4j.xml
deleted file mode 100755
index aac92af..0000000
--- a/restful2actionmapper/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
-
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
- </layout>
- </appender>
-
- <!-- specify the logging level for loggers from other libraries -->
- <logger name="com.opensymphony">
- <level value="DEBUG" />
- </logger>
-
- <logger name="org.apache.struts.example">
- <level value="DEBUG" />
- </logger>
-
- <!-- for all other loggers log only debug and above log messages -->
- <root>
- <priority value="INFO"/>
- <appender-ref ref="STDOUT" />
- </root>
-
-</log4j:configuration>
-
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/restful2actionmapper/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/restful2actionmapper/src/main/resources/log4j2.xml b/restful2actionmapper/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..b92f2ea
--- /dev/null
+++ b/restful2actionmapper/src/main/resources/log4j2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+ <Appenders>
+ <Console name="STDOUT" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+ </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">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/pom.xml
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/pom.xml b/wildcard_method_selection/pom.xml
index d8c0881..a76d999 100644
--- a/wildcard_method_selection/pom.xml
+++ b/wildcard_method_selection/pom.xml
@@ -1,22 +1,40 @@
<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>struts.apache.org</groupId>
- <artifactId>struts2examples</artifactId>
- <version>1.0.0</version>
- </parent>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>struts.apache.org</groupId>
+ <artifactId>struts2examples</artifactId>
+ <version>1.0.0</version>
+ </parent>
- <artifactId>wildcard_method_selection</artifactId>
+ <artifactId>wildcard_method_selection</artifactId>
+
+ <name>Wildcard Method Selection</name>
+
+ <description>Wildcard method selection example application for the
+ Struts 2 getting started tutorials
+ </description>
+ <packaging>war</packaging>
+
+ <build>
+ <finalName>wildcard_method_selection</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>8.1.16.v20140903</version>
+ <configuration>
+ <stopKey>CTRL+C</stopKey>
+ <stopPort>8999</stopPort>
+ <scanIntervalSeconds>10</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
+ </scanTargets>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
- <name>wildcard method selection</name>
-
- <description>Wildcard method selection example application for the
- Struts 2 getting started tutorials</description>
- <packaging>war</packaging>
- <build>
- <finalName>wildcard_method_selection</finalName>
- </build>
-
</project>
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/action/PersonAction.java
----------------------------------------------------------------------
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 55cdfda..ac3bf53 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,129 +1,93 @@
package org.apache.struts.tutorials.wildcardmethod.action;
-import java.util.List;
-
-import org.apache.log4j.Logger;
+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 java.util.List;
+public class PersonAction extends ActionSupport {
+ //Create a Logger object
+ private static final Logger log = LogManager.getLogger(PersonAction.class);
+ private static final long serialVersionUID = 1L;
-import com.opensymphony.xwork2.ActionSupport;
+ Person person;
+ int id;
+ List<Person> personList = PersonService.getPersons();
+ PersonService personService = new PersonService();
+ public String execute() throws Exception {
+ log.debug("In execute method");
+ return SUCCESS;
+ }
+ public String create() {
+ log.debug("In create method");
+ person = new Person();
+
+ return INPUT;
+ }
+
+ public String edit() {
+ log.debug("In edit method");
+ person = personService.getPerson(id);
+
+ return INPUT;
+ }
+
+ public String saveOrUpdate() {
+ log.debug("In saveOrUpdate method");
+ if (person.getId() > -1) {
+ personService.update(person);
+ } else {
+ personService.save(person);
+ }
+
+ personList = PersonService.getPersons();
+ return SUCCESS;
+ }
+
+
+ public String delete() {
+ log.debug("In delete method");
+ personService.deletePerson(id);
+
+ personList = PersonService.getPersons();
+
+ return SUCCESS;
+ }
+
+
+ public Person getPerson() {
+ return person;
+ }
+
+
+ public void setPerson(Person person) {
+ this.person = person;
+ }
+
+
+ public List<Person> getPersonList() {
+ return personList;
+ }
+
+
+ public void setPersonList(List<Person> personList) {
+ this.personList = personList;
+ }
+
+
+ public int getId() {
+ return id;
+ }
-public class PersonAction extends ActionSupport {
-
- //Create a Logger object
- private static final Logger logger = Logger.getLogger( PersonAction.class.getName() );
-
-
- private static final long serialVersionUID = 1L;
-
- Person person ;
-
- int id ;
-
- List<Person> personList = PersonService.getPersons();
-
- PersonService personService = new PersonService();
-
- public String execute() throws Exception {
-
- logger.debug("In execute method");
- return SUCCESS;
- }
-
-
- public String create() {
-
- logger.debug("In create method");
- person = new Person();
-
- return INPUT;
-
-
- }
-
-
- public String edit() {
-
- logger.debug("In edit method");
- person = personService.getPerson(id);
-
- return INPUT;
-
-
- }
-
-
- public String saveOrUpdate() {
-
-
- logger.debug("In saveOrUpdate method");
- if ( person.getId() > -1 ) {
-
- personService.update(person) ;
-
-
- } else {
-
- personService.save(person);
- }
-
-
- personList = PersonService.getPersons() ;
-
- return SUCCESS;
-
-
- }
-
-
- public String delete() {
-
- logger.debug("In delete method");
- personService.deletePerson(id);
-
- personList = PersonService.getPersons() ;
-
- return SUCCESS;
- }
-
-
- public Person getPerson() {
- return person;
- }
-
-
- public void setPerson(Person person) {
- this.person = person;
- }
-
-
- public List<Person> getPersonList() {
- return personList;
- }
-
-
- public void setPersonList(List<Person> personList) {
- this.personList = personList;
- }
-
-
- public int getId() {
- return id;
- }
-
-
- public void setId(int id) {
- this.id = id;
- }
-
-
-
-
+ public void setId(int id) {
+ this.id = id;
+ }
}
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a66c0865/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/service/PersonService.java
----------------------------------------------------------------------
diff --git a/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/service/PersonService.java b/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/service/PersonService.java
index 4e85eb7..0aa657c 100644
--- a/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/service/PersonService.java
+++ b/wildcard_method_selection/src/main/java/org/apache/struts/tutorials/wildcardmethod/service/PersonService.java
@@ -1,133 +1,88 @@
package org.apache.struts.tutorials.wildcardmethod.service;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.struts.tutorials.wildcardmethod.model.Person;
+import java.util.*;
+
public class PersonService {
//Create a Logger object
- private static final Logger logger = Logger.getLogger( PersonService.class.getName() );
+ private static final Logger log = LogManager.getLogger(PersonService.class);
-
- private static SortedMap<Integer, Person> people = new TreeMap<Integer, Person>();
+ private static SortedMap<Integer, Person> people = new TreeMap<>();
static {
-
people.put(0, new Person(0, "Steve", "Smith") );
people.put(1, new Person(1, "Sue", "Jones") );
-
-
}
-
-
- private static List<Person> personList = new ArrayList<Person>();
+
+
+ private static List<Person> personList = new ArrayList<>();
static{
-
for (Integer id : people.keySet() ) {
-
personList.add( people.get(id));
-
}
-
}
public static List<Person> getPersons() {
-
return personList;
-
}
public void save(Person person) {
-
int newId = getNewId();
-
person.setId( newId );
-
people.put( newId, person);
-
rebuildPersonList();
-
}
private int getNewId() {
-
int newId = 0;
try {
-
newId = people.lastKey() + 1;
-
} catch (NoSuchElementException ex) {
-
- logger.info("Id value set to 0");
-
- }
+ log.info("Id value set to 0");
+ }
return newId;
-
-
}
public void update(Person person) {
-
-
-
Person tempPerson = people.get( person.getId() );
tempPerson.setFirstName( person.getFirstName() );
tempPerson.setLastName(person.getLastName() );
rebuildPersonList();
-
-
}
public void deletePerson(int ID) {
-
-
people.remove(ID);
rebuildPersonList();
-
}
public Person getPerson(int id) {
-
return people.get(id);
-
}
public static void rebuildPersonList() {
-
-
- personList = new ArrayList<Person>();
-
- for (Integer id : people.keySet() ) {
-
+ personList = new ArrayList<>();
+
+ for (Integer id : people.keySet() ) {
personList.add( people.get(id));
-
}
-
-
-
-
}
-
-
}