Author: bphillips
Date: Mon Jul  1 15:24:51 2013
New Revision: 1498520

URL: http://svn.apache.org/r1498520
Log:
initial commit of debugging struts example application that goes with the 
Struts 2 Getting Started tutorials

Added:
    struts/sandbox/trunk/struts2examples/debugging_struts/   (with props)
    struts/sandbox/trunk/struts2examples/debugging_struts/README.txt
    struts/sandbox/trunk/struts2examples/debugging_struts/pom.xml
    struts/sandbox/trunk/struts2examples/debugging_struts/src/
    struts/sandbox/trunk/struts2examples/debugging_struts/src/main/
    struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/
    struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/Register.java
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/SecurityBreachException.java
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/Person.java
    struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.dtd
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.xml
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/struts.xml
    struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/HelloWorld.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/MANIFEST.MF
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/web.xml
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/error.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/index.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/login.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/register.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/securityerror.jsp
    
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/thankyou.jsp
    struts/sandbox/trunk/struts2examples/debugging_struts/src/test/

Propchange: struts/sandbox/trunk/struts2examples/debugging_struts/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jul  1 15:24:51 2013
@@ -0,0 +1,5 @@
+.settings
+target
+.classpath
+.project
+README.txt

Added: struts/sandbox/trunk/struts2examples/debugging_struts/README.txt
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/README.txt?rev=1498520&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/debugging_struts/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/debugging_struts/README.txt Mon Jul  1 
15:24:51 2013
@@ -0,0 +1,17 @@
+This is the example project referred to in the
+Struts 2 documentation, Debugging Struts 2 tutorial.
+See:  http://struts.apache.org.
+
+To build the application's war file run mvn clean package
+from the project's root folder.
+
+The war file is created in the target sub-folder.
+
+Copy the war file to your Servlet container (e.g. Tomcat, GlassFish) and 
+then startup the Servlet container.
+
+In a web browser go to:  http://localhost:8080/debugging_struts/index.action.
+
+You should see a web page with Welcome to Struts 2 and a link for the showing 
+the Struts 2 configuration.
+

Added: struts/sandbox/trunk/struts2examples/debugging_struts/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/pom.xml?rev=1498520&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/debugging_struts/pom.xml (added)
+++ struts/sandbox/trunk/struts2examples/debugging_struts/pom.xml Mon Jul  1 
15:24:51 2013
@@ -0,0 +1,29 @@
+<?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>
+
+  <artifactId>debugging_struts</artifactId>
+
+  <name>Debugging Struts</name>
+  
+  <description>Exception handling example application for the 
+  Struts 2 getting started tutorials</description>
+  <packaging>war</packaging>
+  <dependencies>
+               <dependency>
+                       <groupId>org.apache.struts</groupId>
+                       <artifactId>struts2-config-browser-plugin</artifactId>
+                       <version>${struts2.version}</version>
+               </dependency>
+  </dependencies>
+      <build>
+               <finalName>debugging_struts</finalName>
+       </build>
+  
+</project>

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/action/HelloWorldAction.java
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,80 @@
+package org.apache.struts.helloworld.action;
+
+import org.apache.struts.helloworld.model.MessageStore;
+
+import com.opensymphony.xwork2.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 
+ * result.
+ * @author Bruce Phillips
+ *
+ */
+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;
+       }
+
+       public void setHelloCount(int helloCount) {
+               HelloWorldAction.helloCount = helloCount;
+       }
+       
+       private String userName;
+
+       public String getUserName() {
+               return userName;
+       }
+
+       public void setUserName(String userName) {
+               this.userName = userName;
+       }
+
+       /*
+        * 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;
+       }
+
+       public MessageStore getMessageStore() {
+               return messageStore;
+       }
+
+       public void setMessageStore(MessageStore messageStore) {
+               this.messageStore = messageStore;
+       }
+       
+       
+
+}

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/MessageStore.java?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/helloworld/model/MessageStore.java
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,31 @@
+package org.apache.struts.helloworld.model;
+
+/**
+ * Model class that stores a message.
+ * @author Bruce Phillips
+ *
+ */
+public class MessageStore {
+       
+       private String message;
+       
+       public MessageStore() {
+               
+               setMessage("Hello Struts User");
+       }
+
+       public String getMessage() {
+               return message;
+       }
+
+       public void setMessage(String message) {
+               this.message = message;
+       }
+       
+       public String toString() {
+               
+               return message + " (from toString)";
+               
+       }
+
+}

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/Register.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/Register.java?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/Register.java
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/action/Register.java
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,61 @@
+package org.apache.struts.register.action;
+
+import org.apache.struts.register.exceptions.SecurityBreachException;
+import org.apache.struts.register.model.Person;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+
+
+/**
+ * Acts as a controller to handle actions related to registering a user.
+ * 
+ * @author bruce phillips
+ * 
+ */
+public class Register extends ActionSupport {
+
+       private static final long serialVersionUID = 1L;
+
+       private Person personBean;
+
+       @Override
+       public String execute() throws Exception {
+
+               // call Service class to store personBean's state in database
+
+               return SUCCESS;
+
+       }
+
+       public void throwException() throws Exception {
+
+               throw new Exception("Exception thrown from throwException");
+
+       }
+
+       public void throwNullPointerException() throws NullPointerException {
+
+               throw new NullPointerException("Null Pointer Exception thrown 
from "
+                               + Register.class.toString());
+       }
+
+       public void throwSecurityException() throws SecurityBreachException {
+
+               throw new SecurityBreachException(
+                               "Security breach exception thrown from 
throwSecurityException");
+       }
+
+       public Person getPersonBean() {
+
+               return personBean;
+
+       }
+
+       public void setPersonBean(Person person) {
+
+               personBean = person;
+
+       }
+
+}

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/SecurityBreachException.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/SecurityBreachException.java?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/SecurityBreachException.java
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/exceptions/SecurityBreachException.java
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,19 @@
+package org.apache.struts.register.exceptions;
+
+public class SecurityBreachException extends Exception {
+
+       private static final long serialVersionUID = -1232121594261703341L;
+
+       public SecurityBreachException() {
+               
+               super("Security Exception");
+               
+               
+       }
+       
+       public SecurityBreachException(String message) {
+               
+               super(message);
+       }
+
+}

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/Person.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/Person.java?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/Person.java
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/java/org/apache/struts/register/model/Person.java
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,62 @@
+package org.apache.struts.register.model;
+
+
+/**
+ * Models a Person who registers.
+ * @author bruce phillips
+ *
+ */
+public class Person
+{
+    private String firstName;
+    private String lastName;
+    private String email;
+    private int age;
+
+    public String getFirstName()
+    {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName)
+    {
+        this.firstName = firstName;
+    }
+
+    public String getLastName()
+    {
+        return lastName;
+    }
+
+    public void setLastName(String lastName)
+    {
+        this.lastName = lastName;
+    }
+
+    public String getEmail()
+    {
+        return email;
+    }
+
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+
+    public int getAge()
+    {
+        return age;
+    }
+
+    public void setAge( int age)
+    {
+        this.age = age;
+    }
+
+
+    public String toString()
+    {
+        return "First Name: " + getFirstName() + " Last Name:  " + 
getLastName() + 
+        " Email:      " + getEmail() + " Age:      " + getAge() ;
+    }
+}

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.dtd
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.dtd?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.dtd
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.dtd
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,227 @@
+<?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
+>

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.xml?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.xml
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/log4j.xml
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,28 @@
+<?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> 
+

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/struts.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/struts.xml?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/struts.xml
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/resources/struts.xml
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd";>
+
+<struts>
+
+       <constant name="struts.devMode" value="true" />
+
+       <package name="basicstruts2" extends="struts-default">
+       
+       <!-- setup the default-stack exception mapping interceptor 
+               so that any exceptions not caught by this application 
+               will be logged and then handled by the global exception 
+               mapping -->
+               <interceptors>
+               <interceptor-stack name="appDefault">
+                <interceptor-ref name="defaultStack">
+                       <param name="exception.logEnabled">true</param>
+                       <param name="exception.logLevel">ERROR</param>
+                       </interceptor-ref>
+           </interceptor-stack>
+               </interceptors>
+               
+               <default-interceptor-ref name="appDefault" />
+               
+        <global-results>
+                 <result name="error">/error.jsp</result>
+                 <result name="securityerror">/securityerror.jsp</result>
+           </global-results>
+               
+
+           <global-exception-mappings>
+               <exception-mapping 
exception="org.apache.struts.register.exceptions.SecurityBreachException" 
result="securityerror" />
+               <exception-mapping exception="java.lang.Exception" 
result="error" />
+               </global-exception-mappings>
+         
+           
+         
+        <action name="causesecurityexception" 
class="org.apache.struts.register.action.Register" 
method="throwSecurityException">
+               <result>/register.jsp</result>
+        </action>
+        
+        <action name="causeexception" 
class="org.apache.struts.register.action.Register" method="throwException">
+               <result>/register.jsp</result>
+        </action>
+        
+        <action name="causenullpointerexception" 
class="org.apache.struts.register.action.Register" 
method="throwNullPointerException">
+               <result>/register.jsp</result>
+        </action>
+        
+        <action name="actionspecificexception" 
class="org.apache.struts.register.action.Register" 
method="throwSecurityException">
+               <exception-mapping 
exception="org.apache.struts.register.exceptions.SecurityBreachException" 
+                  result="login" />
+               <result>/register.jsp</result>
+               <result name="login">/login.jsp</result>
+        </action>
+
+        <!-- If no class attribute is specified the framework will assume 
success and 
+        render the result index.jsp -->
+        <!-- If no name value for the result node is specified the success 
value is the default -->
+               <action name="index">
+                       <result>/index.jsp</result>
+               </action>
+               
+               <!-- If the URL is hello.action the call the execute method of 
class HelloWorldAction.
+               If the result returned by the execute method is success render 
the HelloWorld.jsp -->
+               <action name="hello" 
class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
+                       <result name="success">/HelloWorld.jsp</result>
+               </action>
+               
+  <action name="register" class="org.apache.struts.register.action.Register" 
method="execute">
+       <result name="success">/thankyou.jsp</result>
+  </action>
+
+       </package>
+
+</struts>
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/HelloWorld.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/HelloWorld.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/HelloWorld.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/HelloWorld.jsp
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,16 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Hello World!</title>
+</head>
+<body>
+<h2><s:property value="messageStore.message" /></h2>
+<p>I've said hello <s:property value="helloCount" /> times!</p>
+<p><s:property value="messageStore" /></p>
+<p><a href="<s:url action='index' />" >Return to home page</a>.</p>
+</body>
+</html>
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/MANIFEST.MF
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/MANIFEST.MF?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/MANIFEST.MF
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/META-INF/MANIFEST.MF
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/web.xml?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/web.xml
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/WEB-INF/web.xml
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,19 @@
+<?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>Debugging Struts</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>
+    </filter>
+
+     <filter-mapping>
+        <filter-name>struts2</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    
+</web-app>

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/error.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/error.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/error.jsp 
(added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/error.jsp 
Mon Jul  1 15:24:51 2013
@@ -0,0 +1,24 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<html>
+
+       <head>
+    <title>Error</title>
+       </head>
+
+       <body>
+               <h4>The application has malfunctioned.</h4>
+               <p>  Please contact technical support with the following 
information:</p> 
+               
+               <!-- the exception and exceptionStack bean properties
+               were created by Struts2's Exception Intercepter (see page 89) 
-->
+               <h4>Exception Name: <s:property value="exception" /> </h4>
+               <h4>Exception Details: <s:property value="exceptionStack" 
/></h4> 
+               
+       
+           <p><a href="index.jsp">Return to the home page.</a></p>
+         
+               
+       </body>
+       
+</html>

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/index.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/index.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/index.jsp 
(added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/index.jsp 
Mon Jul  1 15:24:51 2013
@@ -0,0 +1,49 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<s:head/> 
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Debugging Struts 2 - Welcome</title>
+</head>
+<body>
+<h1>Welcome To Struts 2!</h1>
+<p><a href="<s:url action='hello'/>">Hello World</a></p>
+<s:url action="hello" var="helloLink">
+  <s:param name="userName">Bruce Phillips</s:param>
+</s:url>
+<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
+
+<p>Get your own personal hello by filling out and submitting this form.</p>
+
+<s:form action="hello">
+
+       <s:textfield name="userName" label="Your name" />
+       
+       <s:submit value="Submit" />
+
+</s:form>
+
+<p><a href="register.jsp">Please register</a> for our prize drawing.</p>
+
+<p><a href='<s:url action="causeexception" />' >Cause Exception</a></p> 
+
+<p><a href='<s:url action="causenullpointerexception" />' >Cause Null Pointer 
Exception</a></p> 
+
+<p><a href='<s:url action="causesecurityexception" />' >Cause Global Security 
Exception</a></p> 
+
+<p><a href='<s:url action="actionspecificexception" />' >Cause ActionSpecific 
Security Exception</a></p>
+
+<hr />
+<h3>Debugging</h3>
+<p><a href="<s:url action="index" namespace="config-browser" />">Launch the 
configuration browser</a></p>
+<s:url action="index" var="indexLink">
+  <s:param name="debug">browser</s:param>
+</s:url>
+<p><a href="${indexLink}">Reload this page with debugging</a></p>
+
+  
+</body>
+</html>
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/login.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/login.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/login.jsp 
(added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/login.jsp 
Mon Jul  1 15:24:51 2013
@@ -0,0 +1,17 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Exception Handling Struts 2 Application - Login</title>
+</head>
+<body>
+<h1>You Must Login</h1>
+<p>Please login</p>
+
+<p><a href="index.jsp">Return to the home page.</a></p>
+         
+</body>
+</html>
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/register.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/register.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/register.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/register.jsp
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,26 @@
+<?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"%>
+<!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>
+</head>
+<body>
+<h3>Register for a prize by completing this form.</h3>
+
+<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>      
+ 
+</body>
+</html>
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/securityerror.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/securityerror.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/securityerror.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/securityerror.jsp
 Mon Jul  1 15:24:51 2013
@@ -0,0 +1,24 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<html>
+
+       <head>
+    <title>Security Error</title>
+       </head>
+
+       <body>
+               <h4>There has been a security error.</h4>
+               <p>  Please contact technical support with the following 
information:</p> 
+               
+               <!-- the exception and exceptionStack bean properties
+               were created by Struts2's Exception Intercepter (see page 89) 
-->
+               <h4>Exception Name: <s:property value="exception" /> </h4>
+               <h4>Exception Details: <s:property value="exceptionStack" 
/></h4> 
+               
+       
+           <p><a href="index.jsp">Return to the home page.</a></p>
+         
+               
+       </body>
+       
+</html>

Added: 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/thankyou.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/thankyou.jsp?rev=1498520&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/thankyou.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2examples/debugging_struts/src/main/webapp/thankyou.jsp
 Mon Jul  1 15:24:51 2013
@@ -0,0 +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"%>
+<!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>
+</head>
+<body>
+<h3>Thank you for registering for a prize.</h3>
+
+<p>Your registration information: <s:property value="personBean" /> </p>
+
+<p><a href="<s:url action='index' />" >Return to home page</a>.</p>
+
+</body>
+</html>
\ No newline at end of file


Reply via email to