You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2015/05/22 12:58:30 UTC

[03/50] struts git commit: Moves deprecated plugins to struts-archive repo

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-3.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-3.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-3.txt
deleted file mode 100644
index 5bb8140..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-3.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-<linkrel="stylesheet" href="/struts/TabbedPanel.css" type="text/css"/>
-<script type="text/javascript">
-dojo.require("dojo.io.cookie");
-dojo.addOnLoad(function(){
-    var tabContainer=dojo.widget.byId("foo");
-    dojo.event.connect(tabContainer,"selectChild",function(evt){
-        dojo.io.cookie.setCookie("Struts2TabbedPanel_selectedTab_foo",evt.widgetId,1,null,null,null);
-        }
-    )
-});
-</script>
-<div dojoType="struts:StrutsTabContainer" id="foo" selectedTab="bar" doLayout="false">
-</div>
-<script language="JavaScript" type="text/javascript">djConfig.searchIds.push("foo");</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-4.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-4.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-4.txt
deleted file mode 100644
index 0db1cf5..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/TabbedPanel-4.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-<script type="text/javascript">
-  dojo.require("dojo.widget.TabContainer");
-  dojo.require("dojo.widget.LinkPane");
-  dojo.require("dojo.widget.ContentPane");
-</script>
-<div
-    dojoType="TabContainer"
-    labelPosition="left-h"
-    doLayout="false">
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt
deleted file mode 100644
index 5e0cb51..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/div-1.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-<div
-  dojoType="struts:BindDiv"
-  delay="4000"
-  updateFreq="1000"
-  autoStart="true"
-  closable="true"
-  startTimerListenTopics="h"
-  stopTimerListenTopics="i"
-  refreshOnShow="true"
-  id="mylabel"
-  href="a"
-  loadingText="b"
-  errorText="c"
-  listenTopics="g"
-  beforeNotifyTopics="j"
-  afterNotifyTopics="k"
-  errorNotifyTopics="n"
-  handler="l"
-  indicator="m"
-  showError="true"
-  showLoading="true"
-  highlightColor="o"
-  highlightDuration="p"
-  scriptSeparation="false"
-  transport="q"
-  parseContent="false">
-</div>
-<script language="JavaScript" type="text/javascript">djConfig.searchIds.push("mylabel");</script>

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt
deleted file mode 100644
index 304fef2..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/href-1.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-<a
- dojoType="struts:BindAnchor"
- validate="true"
- ajaxAfterValidation="true"
- id="mylink"
- href="a"
- loadingText="d"
- errorText="c"
- listenTopics="g"
- notifyTopics="j"
- beforeNotifyTopics="e"
- afterNotifyTopics="f"
- errorNotifyTopics="l"
- targets="h"
- handler="i"
- indicator="k"
- showError="true"
- showLoading="true"
- highlightColor="m"
- highlightDuration="n"
- scriptSeparation="true"
- transport="o"
- parseContent="false">
-</a>
-<script language="JavaScript" type="text/javascript">djConfig.searchIds.push("mylink");</script>

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt
deleted file mode 100644
index 5686308..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-1.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-<input
-  type="submit"
-  dojoType="struts:Bind"
-  events="onclick"
-  value="Submit"
-  disabled="disabled"
-  validate="true"
-  ajaxAfterValidation="true"
-  id="a"
-  tabindex="1"
-  label="i"
-  href="b"
-  loadingText="c"
-  errorText="d"
-  listenTopics="e"
-  notifyTopics="k"
-  beforeNotifyTopics="f"
-  afterNotifyTopics="g"
-  errorNotifyTopics="m"
-  handler="h"
-  indicator="l"
-  showLoading="true"
-  highlightColor="n"
-  highlightDuration="o"
-  scriptSeparation="true"
-  transport="p"
-  parseContent="false"
-  />
-  <script language="JavaScript" type="text/javascript">djConfig.searchIds.push("a");</script>

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt
deleted file mode 100644
index e312a5d..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-2.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-<input
-  type="button"
-  dojoType="struts:Bind"
-  events="onclick"
-  id="a"
-  tabindex="1"
-  label="i"
-  href="b"
-  loadingText="c"
-  errorText="d"
-  listenTopics="e"
-  notifyTopics="k"
-  beforeNotifyTopics="f"
-  afterNotifyTopics="g"
-  errorNotifyTopics="m"
-  handler="h"
-  indicator="l"
-  scriptSeparation="true"
-  value="i"
-  disabled="disabled"
-  />
-  <script language="JavaScript" type="text/javascript">djConfig.searchIds.push("a");</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt
deleted file mode 100644
index b3e9069..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/submit-ajax-3.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-<input
-  type="image"
-  dojoType="struts:Bind"
-  events="onclick"
-  alt="i"
-  src="j"
-  value="Submit"
-  disabled="disabled"
-  validate="true"
-  ajaxAfterValidation="false"
-  id="a"
-  label="i"
-  href="b"
-  loadingText="c"
-  errorText="d"
-  listenTopics="e"
-  notifyTopics="k"
-  beforeNotifyTopics="f"
-  afterNotifyTopics="g"
-  errorNotifyTopics="m"
-  handler="h"
-  indicator="l"
-  scriptSeparation="true"
-  />
-  <script language="JavaScript" type="text/javascript">djConfig.searchIds.push("a");</script>

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-1.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-1.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-1.txt
deleted file mode 100644
index c78830f..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-1.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-<script type="text/javascript">
-        <!--
-        dojo.require("dojo.lang.*");
-        dojo.require("dojo.widget.*");
-        dojo.require("dojo.widget.Tree");
-        // dojo.hostenv.writeIncludes();
-        -->
- </script>
-<div dojoType="struts:StrutsTree"   
-		templateCssPath="/struts/tree.css"
-	showGrid="false"
-	showRootGrid="false"
-    id="rootId"
-    toggle="fade"
-    >
-    <div dojoType="struts:StrutsTreeNode" title="Root" id="rootId_root"
-    >
-<div dojoType="struts:StrutsTreeNode" 
-	    id="child1"
-    title="Child 1">
-</div>
-<div dojoType="struts:StrutsTreeNode" 
-	    id="child2"
-    title="Child 2">
-<div dojoType="struts:StrutsTreeNode" 
-	    id="gChild1"
-    title="Grand Child 1">
-</div>
-<div dojoType="struts:StrutsTreeNode" 
-	    id="gChild2"
-    title="Grand Child 2">
-</div>
-<div dojoType="struts:StrutsTreeNode" 
-	    id="gChild3"
-    title="Grand Child 3">
-</div>
-</div>
-<div dojoType="struts:StrutsTreeNode" 
-	    id="child3"
-    title="Child 4">
-</div>
-</div></div>
-<script language="JavaScript" type="text/javascript">
-   djConfig.searchIds.push("treeSelector_rootId");
-   djConfig.searchIds.push("rootId");
-   djConfig.searchIds.push("child1","child1","child2","gChild1","gChild1","gChild2","gChild2","gChild3","gChild3","child2","child3","child3");
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-2.txt
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-2.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-2.txt
deleted file mode 100644
index 325ad64..0000000
--- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/tree-2.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-<script type="text/javascript">
-        <!--
-        dojo.require("dojo.lang.*");
-        dojo.require("dojo.widget.*");
-        dojo.require("dojo.widget.Tree");
-        // dojo.hostenv.writeIncludes();
-        -->
- </script>
-<div dojoType="struts:StrutsTree"   
-	    id="myTree"
-    toggle="fade"
-    >
-    
-<div dojoType="struts:StrutsTreeNode" title="Root" id="1">
-    
-<div dojoType="struts:StrutsTreeNode" title="Java" id="2">
-    
-<div dojoType="struts:StrutsTreeNode" title="Web Frameworks" id="3">
-    
-<div dojoType="struts:StrutsTreeNode" title="Struts" id="4">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Stripes" id="7">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Rife" id="8">
-</div>
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Persistence" id="9">
-    
-<div dojoType="struts:StrutsTreeNode" title="iBatis" id="10">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Hibernate" id="11">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="JDO" id="12">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="JDBC" id="13">
-</div>
-</div>
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="JavaScript" id="14">
-    
-<div dojoType="struts:StrutsTreeNode" title="Dojo" id="15">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Prototype" id="16">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="Scriptaculous" id="17">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="OpenRico" id="18">
-</div>
-    
-<div dojoType="struts:StrutsTreeNode" title="DWR" id="19">
-</div>
-</div>
-</div>
-</div>
-<script language="JavaScript" type="text/javascript">
-    djConfig.searchIds.push("treeSelector_myTree");
-    djConfig.searchIds.push("myTree");
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/test/resources/struts.properties
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/test/resources/struts.properties b/plugins/dojo/src/test/resources/struts.properties
deleted file mode 100644
index 281991b..0000000
--- a/plugins/dojo/src/test/resources/struts.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# $Id$
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-struts.i18n.encoding=ISO-8859-1
-struts.locale=de_DE
-struts.multipart.saveDir=\temp
-struts.multipart.maxSize=12345
-
-### Load custom property files (does not override struts.properties!)
-struts.custom.properties=test,org/apache/struts2/othertest
-
-# added the MockTag to the path of Tags that the TagDirective will search through
-struts.velocity.tag.path = org.apache.struts2.views.velocity.ui, org.displaytag.tags
-
-struts.ui.templateDir = template
-
-### Load custom default resource bundles
-struts.custom.i18n.resources=testmessages,testmessages2
-
-### XSLT Cache
-struts.xslt.nocache = true

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jsf/pom.xml b/plugins/jsf/pom.xml
deleted file mode 100644
index 85d6f4f..0000000
--- a/plugins/jsf/pom.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.struts</groupId>
-        <artifactId>struts2-plugins</artifactId>
-        <version>2.5-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>struts2-jsf-plugin</artifactId>
-    <packaging>jar</packaging>
-    <name>Struts 2 JSF Plugin</name>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>myfaces</groupId>
-            <artifactId>myfaces-jsf-api</artifactId>
-            <version>1.0.9</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>mockobjects</groupId>
-            <artifactId>mockobjects-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    <properties>
-    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-</project>

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/ApplyRequestValuesInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/ApplyRequestValuesInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/ApplyRequestValuesInterceptor.java
deleted file mode 100644
index 0b6d3ab..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/ApplyRequestValuesInterceptor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-
-/**
- * Applies the request values to the component tree
- */
-public class ApplyRequestValuesInterceptor extends FacesInterceptor {
-
-    private static final long serialVersionUID = -1471180154211835323L;
-
-    /**
-     * Apply Request Values (JSF.2.2.2)
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The faces context
-     * @return true, if response is complete
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext)
-            throws FacesException {
-        boolean skipFurtherProcessing = false;
-        if (log.isTraceEnabled())
-            log.trace("entering applyRequestValues");
-
-        informPhaseListenersBefore(facesContext, PhaseId.APPLY_REQUEST_VALUES);
-
-        try {
-            if (isResponseComplete(facesContext, "applyRequestValues", true)) {
-                // have to return right away
-                return true;
-            }
-            if (shouldRenderResponse(facesContext, "applyRequestValues", true)) {
-                skipFurtherProcessing = true;
-            }
-
-            facesContext.getViewRoot().processDecodes(facesContext);
-        } finally {
-            informPhaseListenersAfter(facesContext,
-                    PhaseId.APPLY_REQUEST_VALUES);
-        }
-
-        if (isResponseComplete(facesContext, "applyRequestValues", false)
-                || shouldRenderResponse(facesContext, "applyRequestValues",
-                        false)) {
-            // since this phase is completed we don't need to return right away
-            // even if the response is completed
-            skipFurtherProcessing = true;
-        }
-
-        if (!skipFurtherProcessing && log.isTraceEnabled())
-            log.trace("exiting applyRequestValues");
-        return skipFurtherProcessing;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesInterceptor.java
deleted file mode 100644
index b3ab48d..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesInterceptor.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.context.FacesContext;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.Interceptor;
-
-/**
- * Translates JSF phases into individual interceptors, and adapts their expected
- * workflow to Action 2
- */
-public class FacesInterceptor extends FacesSupport implements Interceptor {
-
-    private static final long serialVersionUID = -5418255964277566516L;
-
-    /**
-     * Not used
-     */
-    public void init() {
-    }
-
-    /**
-     * Adapts the phase workflow to Action 2
-     *
-     * @param invocation
-     *            The action invocation
-     * @return The string result code
-     */
-    public String intercept(ActionInvocation invocation) throws Exception {
-
-        if (isFacesEnabled(invocation.getInvocationContext())) {
-            FacesContext context = FacesContext.getCurrentInstance();
-
-            if (context.getRenderResponse()) {
-                return invocation.invoke();
-            } else {
-
-                String viewId = invocation.getProxy().getNamespace() + '/'
-                        + invocation.getProxy().getActionName();
-                executePhase(viewId, context);
-
-                if (context.getResponseComplete()) {
-                    // Abort the chain as the result is done
-                    return null;
-                } else {
-                    if (invocation.getResultCode() != null) {
-                        return invocation.getResultCode();
-                    } else {
-                        return invocation.invoke();
-                    }
-                }
-            }
-        } else {
-            return invocation.invoke();
-        }
-    }
-
-    /**
-     * Executes the specific phase. The phase id is constructed as a composite
-     * of the namespace and action name.
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The current faces context
-     * @return True if the next phases should be skipped
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext) {
-        return false;
-    }
-
-    /**
-     * Not used
-     */
-    public void destroy() {
-    }
-
-    /**
-     * Determines whether to process this request with the JSF phases
-     *
-     * @param ctx The current action context
-     * @return True if it is a faces-enabled request
-     */
-    protected boolean isFacesEnabled(ActionContext ctx) {
-        return ctx.get(FACES_ENABLED) != null;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesRender.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesRender.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesRender.java
deleted file mode 100755
index c9ce35f..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesRender.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import java.io.IOException;
-
-import javax.faces.FacesException;
-import javax.faces.application.Application;
-import javax.faces.application.ViewHandler;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-
-/**
- * Performs the JSF render lifecycle phase.
- *
- */
-public class FacesRender extends FacesSupport {
-
-    /**
-     * Executes the render phase, borrowed from MyFaces
-     *
-     * @param facesContext
-     *            The faces context
-     * @throws FacesException
-     *             If anything goes wrong
-     */
-    public void render(FacesContext facesContext) throws FacesException {
-        // if the response is complete we should not be invoking the phase
-        // listeners
-        if (isResponseComplete(facesContext, "render", true)) {
-            return;
-        }
-        if (log.isTraceEnabled())
-            log.trace("entering renderResponse");
-
-        informPhaseListenersBefore(facesContext, PhaseId.RENDER_RESPONSE);
-        try {
-            // also possible that one of the listeners completed the response
-            if (isResponseComplete(facesContext, "render", true)) {
-                return;
-            }
-            Application application = facesContext.getApplication();
-            ViewHandler viewHandler = application.getViewHandler();
-            try {
-                viewHandler
-                        .renderView(facesContext, facesContext.getViewRoot());
-            } catch (IOException e) {
-                throw new FacesException(e.getMessage(), e);
-            }
-        } finally {
-            informPhaseListenersAfter(facesContext, PhaseId.RENDER_RESPONSE);
-        }
-        if (log.isTraceEnabled()) {
-            // Note: DebugUtils Logger must also be in trace level
-            // DebugUtils.traceView("View after rendering");
-        }
-
-        if (log.isTraceEnabled())
-            log.trace("exiting renderResponse");
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesResult.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesResult.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesResult.java
deleted file mode 100644
index 1f3ec6a..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesResult.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.application.ViewHandler;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.FacesContext;
-
-import org.apache.struts2.dispatcher.StrutsResultSupport;
-
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.Result;
-
-/**
- * Executes the JSF render phase
- */
-public class FacesResult extends StrutsResultSupport implements Result {
-
-    private static final long serialVersionUID = -3548970638740937804L;
-
-    public FacesResult() {
-        super();
-    }
-
-    public FacesResult(String location) {
-        super(location);
-    }
-    /**
-     * Checks to see if we need to build a new JSF ViewId from the Struts Result
-     * config and then renders the result by delegating to the
-     * FacesRender.render().
-     *
-     * @see org.apache.struts2.dispatcher.StrutsResultSupport#doExecute(String, ActionInvocation)
-     */
-    protected void doExecute(String finalLocation, ActionInvocation invocation)
-            throws Exception {
-        performNavigation(finalLocation, FacesContext.getCurrentInstance());
-        new FacesRender().render(FacesContext.getCurrentInstance());
-    }
-
-    /**
-     * Compares the Struts Result uri to the faces viewId. If they are different
-     * use the Struts uri to build a new faces viewId.
-     *
-     * @param finalLocation
-     *            The result uri
-     * @param facesContext
-     *            The FacesContext
-     */
-    private void performNavigation(String finalLocation,
-            FacesContext facesContext) {
-        String facesViewId = facesContext.getViewRoot().getViewId();
-        if (finalLocation != null) {
-            if (finalLocation.equals(facesViewId) == false) {
-                ViewHandler viewHandler = facesContext.getApplication()
-                        .getViewHandler();
-                UIViewRoot viewRoot = viewHandler.createView(facesContext,
-                        finalLocation);
-                facesContext.setViewRoot(viewRoot);
-                facesContext.renderResponse();
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSetupInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSetupInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSetupInterceptor.java
deleted file mode 100644
index 1f67e0e..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSetupInterceptor.java
+++ /dev/null
@@ -1,589 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
-import com.opensymphony.xwork2.config.entities.ResultConfig;
-import com.opensymphony.xwork2.interceptor.Interceptor;
-import com.opensymphony.xwork2.util.ClassLoaderUtil;
-import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.StrutsException;
-
-import javax.faces.FactoryFinder;
-import javax.faces.application.Application;
-import javax.faces.application.ApplicationFactory;
-import javax.faces.application.NavigationHandler;
-import javax.faces.application.StateManager;
-import javax.faces.application.ViewHandler;
-import javax.faces.context.FacesContext;
-import javax.faces.context.FacesContextFactory;
-import javax.faces.el.PropertyResolver;
-import javax.faces.el.VariableResolver;
-import javax.faces.event.ActionListener;
-import javax.faces.lifecycle.Lifecycle;
-import javax.faces.lifecycle.LifecycleFactory;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-/**
- * * Initializes the JSF context for this request.
- * <p>
- * </P>
- * The JSF Application can additionaly be configured from the Struts.xml by
- * adding &lt;param&gt; tags to the jsfSetup &lt;interceptor-ref&gt;.
- * <p>
- * </p>
- * <b>Example struts.xml configuration:</b>
- *
- * <pre>
- *   &lt;interceptor-ref name=&quot;jsfSetup&quot;&gt;
- *       &lt;param name=&quot;actionListener&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;defaultRenderKitId&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;supportedLocale&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;defaultLocale&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;messageBundle&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;navigationHandler&quot;&gt;org.apache.struts2.jsf.StrutsNavigationHandler&lt;/param&gt;
- *       &lt;param name=&quot;propertyResolver&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;stateManager&quot;&gt;&lt;/param&gt;
- *       &lt;param name=&quot;variableResolver&quot;&gt;
- *           org.apache.myfaces.el.VariableResolverImpl
- *          ,org.apache.struts2.jsf.StrutsVariableResolver
- *       &lt;/param&gt;
- *       &lt;param name=&quot;viewHandler;&quot;&gt;org.apache.shale.tiles.TilesViewHandler&lt;/param&gt;
- *   &lt;/interceptor-ref&gt;
- * </pre>
- *
- * <p>
- * </p>
- * <b>Note: None of the parameters are required but all are shown in the example
- * for completeness.</b>
- */
-public class FacesSetupInterceptor extends FacesSupport implements Interceptor {
-
-    private static final long serialVersionUID = -621512342655103941L;
-
-    private String lifecycleId = LifecycleFactory.DEFAULT_LIFECYCLE;
-
-    private FacesContextFactory facesContextFactory;
-
-    private Lifecycle lifecycle;
-
-    // jsf Application configuration
-    private List<String> actionListener;
-
-    private String defaultRenderKitId;
-
-    private List<String> supportedLocale;
-
-    private String defaultLocale;
-
-    private String messageBundle;
-
-    private List<String> navigationHandler;
-
-    private List<String> propertyResolver;
-
-    private List<String> stateManager;
-
-    private List<String> variableResolver;
-
-    private List<String> viewHandler;
-
-    /**
-     * Sets the lifecycle id
-     *
-     * @param id
-     *            The id
-     */
-    public void setLifecycleId(String id) {
-        this.lifecycleId = id;
-    }
-
-    /**
-     * Initializes the lifecycle and factories
-     */
-    public void init() {
-        try {
-            facesContextFactory = (FacesContextFactory) FactoryFinder
-                    .getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
-        } catch (Exception ex) {
-            log.debug("Unable to initialize faces", ex);
-            return;
-        }
-
-        // Javadoc says: Lifecycle instance is shared across multiple
-        // simultaneous requests, it must be implemented in a thread-safe
-        // manner.
-        // So we can acquire it here once:
-        LifecycleFactory lifecycleFactory = (LifecycleFactory) FactoryFinder
-                .getFactory(FactoryFinder.LIFECYCLE_FACTORY);
-        lifecycle = lifecycleFactory.getLifecycle(lifecycleId);
-
-        Application application = ((ApplicationFactory) FactoryFinder
-                .getFactory(FactoryFinder.APPLICATION_FACTORY))
-                .getApplication();
-
-        if (actionListener != null) {
-            Iterator i = actionListener.iterator();
-            application
-                    .setActionListener((ActionListener) getApplicationObject(
-                            ActionListener.class, i, application
-                                    .getActionListener()));
-        }
-        if (defaultRenderKitId != null && defaultRenderKitId.length() > 0) {
-            application.setDefaultRenderKitId(defaultRenderKitId);
-        }
-        if (messageBundle != null && messageBundle.length() > 0) {
-            application.setMessageBundle(messageBundle);
-        }
-        if (supportedLocale != null) {
-            List<Locale> locales = new ArrayList<Locale>();
-            for (Iterator i = supportedLocale.iterator(); i.hasNext();) {
-                locales.add(toLocale((String) i.next()));
-            }
-            application.setSupportedLocales(locales);
-        }
-        if (defaultLocale != null && defaultLocale.length() > 0) {
-            application.setDefaultLocale(toLocale(defaultLocale));
-        }
-        if (navigationHandler != null) {
-            Iterator i = navigationHandler.iterator();
-            application
-                    .setNavigationHandler((NavigationHandler) getApplicationObject(
-                            NavigationHandler.class, i, application
-                                    .getNavigationHandler()));
-        }
-        if (propertyResolver != null) {
-            Iterator i = propertyResolver.iterator();
-            application
-                    .setPropertyResolver((PropertyResolver) getApplicationObject(
-                            PropertyResolver.class, i, application
-                                    .getPropertyResolver()));
-        }
-        if (stateManager != null) {
-            Iterator i = stateManager.iterator();
-            application.setStateManager((StateManager) getApplicationObject(
-                    StateManager.class, i, application.getStateManager()));
-        }
-        if (variableResolver != null) {
-            Iterator i = variableResolver.iterator();
-            application
-                    .setVariableResolver((VariableResolver) getApplicationObject(
-                            VariableResolver.class, i, application
-                                    .getVariableResolver()));
-        }
-        if (viewHandler != null) {
-            Iterator i = viewHandler.iterator();
-            application.setViewHandler((ViewHandler) getApplicationObject(
-                    ViewHandler.class, i, application.getViewHandler()));
-        }
-    }
-
-    /**
-     * Creates the faces context for other phases.
-     *
-     * @param invocation
-     *            The action invocation
-     */
-    public String intercept(ActionInvocation invocation) throws Exception {
-        if (facesContextFactory != null) {
-            if (isFacesAction(invocation)) {
-
-                invocation.getInvocationContext().put(
-                        FacesInterceptor.FACES_ENABLED, Boolean.TRUE);
-
-                FacesContext facesContext = facesContextFactory
-                        .getFacesContext(ServletActionContext
-                                .getServletContext(), ServletActionContext
-                                .getRequest(), ServletActionContext
-                                .getResponse(), lifecycle);
-
-                setLifecycle(lifecycle);
-
-                try {
-                    return invocation.invoke();
-                } finally {
-                    facesContext.release();
-                }
-            }
-        } else {
-            throw new StrutsException(
-                    "Unable to initialize jsf interceptors probably due missing JSF implementation libraries",
-                    invocation.getProxy().getConfig());
-        }
-        return invocation.invoke();
-    }
-
-    /**
-     * Cleans up the lifecycle and factories
-     */
-    public void destroy() {
-        facesContextFactory = null;
-        lifecycle = null;
-    }
-
-    /**
-     * Determines if this action mapping will be have a JSF view
-     *
-     * @param inv
-     *            The action invocation
-     * @return True if the JSF interceptors should fire
-     */
-    protected boolean isFacesAction(ActionInvocation inv) {
-        ActionConfig config = inv.getProxy().getConfig();
-        if (config != null) {
-            ResultConfig resultConfig = config.getResults().get(Action.SUCCESS);
-            Class resClass = null;
-            try {
-                resClass = Class.forName(resultConfig.getClassName());
-            } catch (ClassNotFoundException ex) {
-                log.warn(
-                        "Can't find result class, ignoring as a faces request",
-                        ex);
-            }
-            if (resClass != null) {
-                if (resClass.isAssignableFrom(FacesResult.class)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Constructs an object from a list of class names. This method supports
-     * creating the objects using constructor delegation, if the requested class
-     * supports it. Classes will be imbedded from top to bottom in the list with
-     * the last class listed being the one that will be returned.
-     *
-     * @param interfaceClass
-     *            The Class type that is expected to be returned
-     * @param classNamesIterator
-     *            An Iterator for a list of Strings that represent the class
-     *            names
-     * @param defaultObject
-     *            The current Object that the jsf Application has set
-     * @return
-     */
-    private Object getApplicationObject(Class interfaceClass,
-            Iterator classNamesIterator, Object defaultObject) {
-        Object current = defaultObject;
-
-        while (classNamesIterator.hasNext()) {
-            String implClassName = (String) classNamesIterator.next();
-            Class implClass = null;
-
-            try {
-                implClass = ClassLoaderUtil.loadClass(implClassName, this
-                        .getClass());
-            } catch (ClassNotFoundException e1) {
-                throw new IllegalArgumentException("Class " + implClassName
-                        + " was not found.");
-            }
-
-            // check, if class is of expected interface type
-            if (!interfaceClass.isAssignableFrom(implClass)) {
-                throw new IllegalArgumentException("Class " + implClassName
-                        + " is no " + interfaceClass.getName());
-            }
-
-            if (current == null) {
-                // nothing to decorate
-                try {
-                    current = implClass.newInstance();
-                } catch (InstantiationException e) {
-                    log.error(e.getMessage(), e);
-                    throw new StrutsException(e);
-                } catch (IllegalAccessException e) {
-                    log.error(e.getMessage(), e);
-                    throw new StrutsException(e);
-                }
-            } else {
-                // let's check if class supports the decorator pattern
-                try {
-                    Constructor delegationConstructor = implClass
-                            .getConstructor(new Class[] { interfaceClass });
-                    // impl class supports decorator pattern,
-                    try {
-                        // create new decorator wrapping current
-                        current = delegationConstructor
-                                .newInstance(new Object[] { current });
-                    } catch (InstantiationException e) {
-                        log.error(e.getMessage(), e);
-                        throw new StrutsException(e);
-                    } catch (IllegalAccessException e) {
-                        log.error(e.getMessage(), e);
-                        throw new StrutsException(e);
-                    } catch (InvocationTargetException e) {
-                        log.error(e.getMessage(), e);
-                        throw new StrutsException(e);
-                    }
-                } catch (NoSuchMethodException e) {
-                    // no decorator pattern support
-                    try {
-                        current = implClass.newInstance();
-                    } catch (InstantiationException e1) {
-                        log.error(e.getMessage(), e);
-                        throw new StrutsException(e);
-                    } catch (IllegalAccessException e1) {
-                        log.error(e.getMessage(), e);
-                        throw new StrutsException(e);
-                    }
-                }
-            }
-        }
-
-        return current;
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param actionListener
-     *            A comma delimited string of class names
-     */
-    public void setActionListener(String actionListener) {
-        if (this.actionListener == null) {
-            this.actionListener = new ArrayList<String>();
-        }
-        String clean = actionListener.replaceAll("[ \t\r\n]", "");
-        String[] actionListenerNames = clean.split(",");
-
-        for (int i = 0; i < actionListenerNames.length; i++) {
-            this.actionListener.add(actionListenerNames[i]);
-        }
-    }
-
-    /**
-     * A <code>String</code> to be used as the defaultRenderKitId for the jsf
-     * application. The incoming <code>String</code> will be cleaned of
-     * whitespace characters.
-     *
-     * @param defaultRenderKitId
-     *            The defaultRenderKitId
-     */
-    public void setDefaultRenderKitId(String defaultRenderKitId) {
-        String clean = defaultRenderKitId.replaceAll("[ \t\r\n]", "");
-        this.defaultRenderKitId = clean;
-    }
-
-    /**
-     * Takes a comma delimited string of local names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param supportedLocale
-     *            A comma delimited string of local names
-     */
-    public void setSupportedLocale(String supportedLocale) {
-        if (this.supportedLocale == null) {
-            this.supportedLocale = new ArrayList<String>();
-        }
-        String clean = supportedLocale.replaceAll("[ \t\r\n]", "");
-        String[] supportedLocaleNames = clean.split(",");
-
-        for (int i = 0; i < supportedLocaleNames.length; i++) {
-            this.supportedLocale.add(supportedLocaleNames[i]);
-        }
-    }
-
-    /**
-     * Stores a String representation of the defaultLocale. The incoming
-     * <code>String</code> will be cleaned of any whitespace characters before
-     * the class names are stored.
-     *
-     * @param defaultLocale
-     *            The default local
-     */
-    public void setDefaultLocale(String defaultLocale) {
-        String clean = defaultLocale.replaceAll("[ \t\r\n]", "");
-        this.defaultLocale = clean;
-    }
-
-    /**
-     * Stores the messageBundle to be used to configure the jsf Application.
-     *
-     * @param messageBundle
-     *            The messageBundle
-     */
-    public void setMessageBundle(String messageBundle) {
-        String clean = messageBundle.replaceAll("[ \t\r\n]", "");
-        this.messageBundle = clean;
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param navigationHandlerName
-     *            A comma delimited string of class names
-     */
-    public void setNavigationHandler(String navigationHandlerName) {
-        if (navigationHandler == null) {
-            navigationHandler = new ArrayList<String>();
-        }
-        String clean = navigationHandlerName.replaceAll("[ \t\r\n]", "");
-        String[] navigationHandlerNames = clean.split(",");
-
-        for (int i = 0; i < navigationHandlerNames.length; i++) {
-            navigationHandler.add(navigationHandlerNames[i]);
-        }
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param propertyResolverName
-     *            A comma delimited string of class names
-     */
-    public void setPropertyResolver(String propertyResolverName) {
-        if (propertyResolver == null) {
-            propertyResolver = new ArrayList<String>();
-        }
-        String clean = propertyResolverName.replaceAll("[ \t\r\n]", "");
-        String[] propertyResolverNames = clean.split(",");
-
-        for (int i = 0; i < propertyResolverNames.length; i++) {
-            propertyResolver.add(propertyResolverNames[i]);
-        }
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param stateManagerName
-     *            A comma delimited string of class names
-     */
-    public void setStateManager(String stateManagerName) {
-        if (stateManager == null) {
-            stateManager = new ArrayList<String>();
-        }
-        String clean = stateManagerName.replaceAll("[ \t\r\n]", "");
-        String[] stateManagerNames = clean.split(",");
-
-        for (int i = 0; i < stateManagerNames.length; i++) {
-            stateManager.add(stateManagerNames[i]);
-        }
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param variableResolverName
-     *            A comma delimited string of class names
-     */
-    public void setVariableResolver(String variableResolverName) {
-        if (variableResolver == null) {
-            variableResolver = new ArrayList<String>();
-        }
-        String clean = variableResolverName.replaceAll("[ \t\r\n]", "");
-        String[] variableResolverNames = clean.split(",");
-
-        for (int i = 0; i < variableResolverNames.length; i++) {
-            variableResolver.add(variableResolverNames[i]);
-        }
-    }
-
-    /**
-     * Takes a comma delimited string of class names and stores the names in an
-     * <code>ArrayList</code>. The incoming <code>String</code> will be
-     * cleaned of any whitespace characters before the class names are stored.
-     *
-     * @param viewHandlerName
-     *            A comma delimited string of class names
-     */
-    public void setViewHandler(String viewHandlerName) {
-        if (viewHandler == null) {
-            viewHandler = new ArrayList<String>();
-        }
-        String[] viewHandlerNames = viewHandlerName
-                .split(",^[ \t\r\n]+|[ \t\r\n]+$");
-
-        for (int i = 0; i < viewHandlerNames.length; i++) {
-            viewHandler.add(viewHandlerNames[i]);
-        }
-    }
-
-    /**
-     * Converts a locale string to <code>Locale</code> class. Accepts both '_'
-     * and '-' as separators for locale components.
-     *
-     * @param localeString
-     *            string representation of a locale
-     * @return Locale instance, compatible with the string representation
-     */
-    private Locale toLocale(String localeString) {
-        if ((localeString == null) || (localeString.length() == 0)) {
-            Locale locale = Locale.getDefault();
-            if (log.isWarnEnabled())
-                log
-                        .warn("Locale name in faces-config.xml null or empty, setting locale to default locale : "
-                                + locale.toString());
-            return locale;
-        }
-
-        int separatorCountry = localeString.indexOf('_');
-        char separator;
-        if (separatorCountry >= 0) {
-            separator = '_';
-        } else {
-            separatorCountry = localeString.indexOf('-');
-            separator = '-';
-        }
-
-        String language, country, variant;
-        if (separatorCountry < 0) {
-            language = localeString;
-            country = variant = "";
-        } else {
-            language = localeString.substring(0, separatorCountry);
-
-            int separatorVariant = localeString.indexOf(separator,
-                    separatorCountry + 1);
-            if (separatorVariant < 0) {
-                country = localeString.substring(separatorCountry + 1);
-                variant = "";
-            } else {
-                country = localeString.substring(separatorCountry + 1,
-                        separatorVariant);
-                variant = localeString.substring(separatorVariant + 1);
-            }
-        }
-
-        return new Locale(language, country, variant);
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSupport.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSupport.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSupport.java
deleted file mode 100644
index aecfe92..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSupport.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseEvent;
-import javax.faces.event.PhaseId;
-import javax.faces.event.PhaseListener;
-import javax.faces.lifecycle.Lifecycle;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
-
-/**
- * Provides common lifecycle phase methods needed by interceptors and results.
- */
-public class FacesSupport {
-
-    private static final String LIFECYCLE_KEY = "lifecycle";
-
-    /** Log instance for each class */
-    protected Logger log;
-
-    /**
-     * Marker key for the ActionContext to dictate whether to treat the request
-     * as a JSF faces request and therefore process the Faces phases
-     */
-    protected static final String FACES_ENABLED = "facesEnabled";
-
-    /** Initializes log instance for the instance object */
-    protected FacesSupport() {
-        log = LoggerFactory.getLogger(getClass());
-    }
-
-    /**
-     * Gets the shared lifecycle for this request
-     *
-     * @return The lifecycle
-     */
-    private Lifecycle getLifecycle() {
-        return (Lifecycle) ActionContext.getContext().get(LIFECYCLE_KEY);
-    }
-
-    /**
-     * Sets the lifecycle for this request
-     *
-     * @param lifecycle
-     *            The lifecycle
-     */
-    protected void setLifecycle(Lifecycle lifecycle) {
-        ActionContext.getContext().put(LIFECYCLE_KEY, lifecycle);
-    }
-
-    /**
-     * Informs phase listeners before a phase is executed
-     *
-     * @param facesContext
-     *            The current faces context
-     * @param phaseId
-     *            The phase id about to be executed
-     */
-    protected void informPhaseListenersBefore(FacesContext facesContext,
-            PhaseId phaseId) {
-        Lifecycle lifecycle = getLifecycle();
-        PhaseListener[] phaseListeners = lifecycle.getPhaseListeners();
-        for (int i = 0; i < phaseListeners.length; i++) {
-            PhaseListener phaseListener = phaseListeners[i];
-            int listenerPhaseId = phaseListener.getPhaseId().getOrdinal();
-            if (listenerPhaseId == PhaseId.ANY_PHASE.getOrdinal()
-                    || listenerPhaseId == phaseId.getOrdinal()) {
-                phaseListener.beforePhase(new PhaseEvent(FacesContext
-                        .getCurrentInstance(), phaseId, lifecycle));
-            }
-        }
-
-    }
-
-    /**
-     * Informs phase listeners after a phase is executed
-     *
-     * @param facesContext
-     *            The current faces context
-     * @param phaseId
-     *            The phase id that was executed
-     */
-    protected void informPhaseListenersAfter(FacesContext facesContext,
-            PhaseId phaseId) {
-        Lifecycle lifecycle = getLifecycle();
-        PhaseListener[] phaseListeners = lifecycle.getPhaseListeners();
-        for (int i = 0; i < phaseListeners.length; i++) {
-            PhaseListener phaseListener = phaseListeners[i];
-            int listenerPhaseId = phaseListener.getPhaseId().getOrdinal();
-            if (listenerPhaseId == PhaseId.ANY_PHASE.getOrdinal()
-                    || listenerPhaseId == phaseId.getOrdinal()) {
-                phaseListener.afterPhase(new PhaseEvent(FacesContext
-                        .getCurrentInstance(), phaseId, lifecycle));
-            }
-        }
-
-    }
-
-    /**
-     * Checks to see if the response has been completed. Mainly used for better
-     * debugging messages.
-     *
-     * @param facesContext
-     *            The current faces context
-     * @param phase
-     *            The phase id in execution
-     * @param before
-     *            Whether the phase has been executed or not
-     * @return True if the response is complete
-     */
-    protected boolean isResponseComplete(FacesContext facesContext,
-            String phase, boolean before) {
-        boolean flag = false;
-        if (facesContext.getResponseComplete()) {
-            if (log.isDebugEnabled())
-                log
-                        .debug("exiting from lifecycle.execute in "
-                                + phase
-                                + " because getResponseComplete is true from one of the "
-                                + (before ? "before" : "after") + " listeners");
-            flag = true;
-        }
-        return flag;
-    }
-
-    /**
-     * Checks to see the render phase should be executed next. Mainly used for
-     * better debugging messages.
-     *
-     * @param facesContext
-     *            The current faces context
-     * @param phase
-     *            The phase id in execution
-     * @param before
-     *            Whether the phase has been executed or not
-     * @return True if the response is complete
-     */
-    protected boolean shouldRenderResponse(FacesContext facesContext,
-            String phase, boolean before) {
-        boolean flag = false;
-        if (facesContext.getRenderResponse()) {
-            if (log.isDebugEnabled())
-                log.debug("exiting from lifecycle.execute in " + phase
-                        + " because getRenderResponse is true from one of the "
-                        + (before ? "before" : "after") + " listeners");
-            flag = true;
-        }
-        return flag;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/InvokeApplicationInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/InvokeApplicationInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/InvokeApplicationInterceptor.java
deleted file mode 100644
index 857a03f..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/InvokeApplicationInterceptor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-
-/**
- * Invokes the application
- */
-public class InvokeApplicationInterceptor extends FacesInterceptor {
-
-    private static final long serialVersionUID = -7388153356410171208L;
-
-    /**
-     * Invoke Application (JSF.2.2.5)
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The faces context
-     * @return true, if response is complete
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext)
-            throws FacesException {
-        boolean skipFurtherProcessing = false;
-        if (log.isTraceEnabled())
-            log.trace("entering invokeApplication");
-
-        informPhaseListenersBefore(facesContext, PhaseId.INVOKE_APPLICATION);
-
-        try {
-            if (isResponseComplete(facesContext, "invokeApplication", true)) {
-                // have to return right away
-                return true;
-            }
-            if (shouldRenderResponse(facesContext, "invokeApplication", true)) {
-                skipFurtherProcessing = true;
-            }
-
-            facesContext.getViewRoot().processApplication(facesContext);
-        } finally {
-            informPhaseListenersAfter(facesContext, PhaseId.INVOKE_APPLICATION);
-        }
-
-        if (isResponseComplete(facesContext, "invokeApplication", false)
-                || shouldRenderResponse(facesContext, "invokeApplication",
-                        false)) {
-            // since this phase is completed we don't need to return right away
-            // even if the response is completed
-            skipFurtherProcessing = true;
-        }
-
-        if (!skipFurtherProcessing && log.isTraceEnabled())
-            log.trace("exiting invokeApplication ");
-
-        return skipFurtherProcessing;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/ProcessValidationsInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/ProcessValidationsInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/ProcessValidationsInterceptor.java
deleted file mode 100644
index 3d99b98..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/ProcessValidationsInterceptor.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-
-/**
- * Processes validations on the component tree
- */
-public class ProcessValidationsInterceptor extends FacesInterceptor {
-
-    private static final long serialVersionUID = 8785236570688278147L;
-
-    /**
-     * Process Validations (JSF.2.2.3)
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The faces context
-     * @return true, if response is complete
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext)
-            throws FacesException {
-        boolean skipFurtherProcessing = false;
-        if (log.isTraceEnabled())
-            log.trace("entering processValidations");
-
-        informPhaseListenersBefore(facesContext, PhaseId.PROCESS_VALIDATIONS);
-
-        try {
-                if (isResponseComplete(facesContext, "processValidations", true)) {
-                    // have to return right away
-                    return true;
-                }
-                if (shouldRenderResponse(facesContext, "processValidations", true)) {
-                    skipFurtherProcessing = true;
-                }
-
-                facesContext.getViewRoot().processValidators(facesContext);
-        } finally {
-            informPhaseListenersAfter(facesContext, PhaseId.PROCESS_VALIDATIONS);
-        }
-
-        if (isResponseComplete(facesContext, "processValidations", false)
-                || shouldRenderResponse(facesContext, "processValidations",
-                        false)) {
-            // since this phase is completed we don't need to return right away
-            // even if the response is completed
-            skipFurtherProcessing = true;
-        }
-
-        if (!skipFurtherProcessing && log.isTraceEnabled())
-            log.trace("exiting processValidations");
-        return skipFurtherProcessing;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/RestoreViewInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/RestoreViewInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/RestoreViewInterceptor.java
deleted file mode 100644
index 7d86e5e..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/RestoreViewInterceptor.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-import javax.faces.FacesException;
-import javax.faces.application.Application;
-import javax.faces.application.ViewHandler;
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIInput;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import javax.faces.el.ValueBinding;
-import javax.faces.event.PhaseId;
-
-/**
- * Restores the view or component tree
- */
-public class RestoreViewInterceptor extends FacesInterceptor {
-
-    private static final long serialVersionUID = -1500785113037140668L;
-
-    /**
-     * Restore View (JSF.2.2.1)
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The faces context
-     * @return true, if immediate rendering should occur
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext) {
-        boolean skipFurtherProcessing = false;
-        if (log.isTraceEnabled())
-            log.trace("entering restoreView");
-
-        informPhaseListenersBefore(facesContext, PhaseId.RESTORE_VIEW);
-
-        try {
-            if (isResponseComplete(facesContext, "restoreView", true)) {
-                // have to skips this phase
-                return true;
-            }
-            if (shouldRenderResponse(facesContext, "restoreView", true)) {
-                skipFurtherProcessing = true;
-            }
-
-            ExternalContext externalContext = facesContext.getExternalContext();
-            String defaultSuffix = externalContext
-                    .getInitParameter(ViewHandler.DEFAULT_SUFFIX_PARAM_NAME);
-            String suffix = defaultSuffix != null ? defaultSuffix
-                    : ViewHandler.DEFAULT_SUFFIX;
-            if (viewId != null) {
-                viewId += suffix;
-            }
-
-            if (viewId == null) {
-                if (!externalContext.getRequestServletPath().endsWith("/")) {
-                    try {
-                        externalContext.redirect(externalContext
-                                .getRequestServletPath()
-                                + "/");
-                        facesContext.responseComplete();
-                        return true;
-                    } catch (IOException e) {
-                        throw new FacesException("redirect failed", e);
-                    }
-                }
-            }
-
-            Application application = facesContext.getApplication();
-            ViewHandler viewHandler = application.getViewHandler();
-
-            // boolean viewCreated = false;
-            UIViewRoot viewRoot = viewHandler.restoreView(facesContext, viewId);
-            if (viewRoot == null) {
-                viewRoot = viewHandler.createView(facesContext, viewId);
-                viewRoot.setViewId(viewId);
-                facesContext.renderResponse();
-                // viewCreated = true;
-            }
-
-            facesContext.setViewRoot(viewRoot);
-
-            /*
-             * This section has been disabled because it causes some bug. Be
-             * careful if you need to re-enable it. Furthermore, for an unknown
-             * reason, it seems that by default it is executed (i.e.
-             * log.isTraceEnabled() is true). Bug example : This traceView
-             * causes DebugUtil.printComponent to print all the attributes of
-             * the view components. And if you have a data table within an
-             * aliasBean, this causes the data table to initialize it's value
-             * attribute while the alias isn't set. So, the value initializes
-             * with an UIData.EMPTY_DATA_MODEL, and not with the aliased one.
-             * But as it's initialized, it will not try to get the value from
-             * the ValueBinding next time it needs to. I expect this to cause
-             * more similar bugs. TODO : Completely remove or be SURE by default
-             * it's not executed, and it has no more side-effects.
-             *
-             * if (log.isTraceEnabled()) { //Note: DebugUtils Logger must also
-             * be in trace level DebugUtils.traceView(viewCreated ? "Newly
-             * created view" : "Restored view"); }
-             */
-
-            if (facesContext.getExternalContext().getRequestParameterMap()
-                    .isEmpty()) {
-                // no POST or query parameters --> set render response flag
-                facesContext.renderResponse();
-            }
-
-            recursivelyHandleComponentReferencesAndSetValid(facesContext,
-                    viewRoot);
-        } finally {
-            informPhaseListenersAfter(facesContext, PhaseId.RESTORE_VIEW);
-        }
-
-        if (isResponseComplete(facesContext, "restoreView", false)
-                || shouldRenderResponse(facesContext, "restoreView", false)) {
-            // since this phase is completed we don't need to return right away
-            // even if the response is completed
-            skipFurtherProcessing = true;
-        }
-
-        if (!skipFurtherProcessing && log.isTraceEnabled())
-            log.trace("exiting restoreView ");
-        return skipFurtherProcessing;
-    }
-
-    /**
-     * Walk the component tree, executing any component-bindings to reattach
-     * components to their backing beans. Also, any UIInput component is marked
-     * as Valid.
-     * <p>
-     * Note that this method effectively breaks encapsulation; instead of asking
-     * each component to update itself and its children, this method just
-     * reaches into each component. That makes it impossible for any component
-     * to customise its behaviour at this point.
-     * <p>
-     * This has been filed as an issue against the spec. Until this issue is
-     * resolved, we'll add a new marker-interface for components to allow them
-     * to define their interest in handling children bindings themselves.
-     */
-    protected void recursivelyHandleComponentReferencesAndSetValid(
-            FacesContext facesContext, UIComponent parent) {
-        recursivelyHandleComponentReferencesAndSetValid(facesContext, parent,
-                false);
-    }
-
-    protected void recursivelyHandleComponentReferencesAndSetValid(
-            FacesContext facesContext, UIComponent parent, boolean forceHandle) {
-        Method handleBindingsMethod = getBindingMethod(parent);
-
-        if (handleBindingsMethod != null && !forceHandle) {
-            try {
-                handleBindingsMethod.invoke(parent, new Object[] {});
-            } catch (Throwable th) {
-                log.error(
-                        "Exception while invoking handleBindings on component with client-id:"
-                                + parent.getClientId(facesContext), th);
-            }
-        } else {
-            for (Iterator it = parent.getFacetsAndChildren(); it.hasNext();) {
-                UIComponent component = (UIComponent) it.next();
-
-                ValueBinding binding = component.getValueBinding("binding"); // TODO:
-                // constant
-                if (binding != null && !binding.isReadOnly(facesContext)) {
-                    binding.setValue(facesContext, component);
-                }
-
-                if (component instanceof UIInput) {
-                    ((UIInput) component).setValid(true);
-                }
-
-                recursivelyHandleComponentReferencesAndSetValid(facesContext,
-                        component);
-            }
-        }
-    }
-
-    /**
-     * This is all a hack to work around a spec-bug which will be fixed in
-     * JSF2.0
-     *
-     * @param parent
-     * @return true if this component is bindingAware (e.g. aliasBean)
-     */
-    private static Method getBindingMethod(UIComponent parent) {
-        Class[] clazzes = parent.getClass().getInterfaces();
-
-        for (int i = 0; i < clazzes.length; i++) {
-            Class clazz = clazzes[i];
-
-            if (clazz.getName().indexOf("BindingAware") != -1) {
-                try {
-                    return parent.getClass().getMethod("handleBindings",
-                            new Class[] {});
-                } catch (NoSuchMethodException e) {
-                    // return
-                }
-            }
-        }
-
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsNavigationHandler.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsNavigationHandler.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsNavigationHandler.java
deleted file mode 100644
index b0e4f03..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsNavigationHandler.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
-import com.opensymphony.xwork2.config.entities.ResultConfig;
-
-import javax.faces.application.NavigationHandler;
-import javax.faces.context.FacesContext;
-import java.util.Map;
-
-/**
- * Overrides the JFS navigation by delegating the result to handling by the core
- * result code lookup and execution.  If a result cannot be found, the previous
- * NavigationHandler is called.
- */
-public class StrutsNavigationHandler extends NavigationHandler {
-
-    private NavigationHandler parent;
-
-    /**
-     * Creates the handler
-     *
-     * @param handler The old NavigationHandler to possibly delegate to
-     */
-    public StrutsNavigationHandler(NavigationHandler handler) {
-        this.parent = handler;
-    }
-
-    /**
-     * Stores any outcomes as the result code, failing over to the old
-     * NavigationHandler
-     *
-     * @param facesContext The faces context
-     * @param fromAction The action we are coming from
-     * @param outcome The String return code
-     */
-    @Override
-    public void handleNavigation(FacesContext facesContext, String fromAction, String outcome) {
-        ActionContext ctx = ActionContext.getContext();
-        if (outcome != null) {
-            if (ctx == null || ctx.getActionInvocation() == null) {
-                delegateToParentNavigation(facesContext, fromAction, outcome);
-            } else {
-                ActionConfig config = ctx.getActionInvocation().getProxy().getConfig();
-                Map results = config.getResults();
-    
-                ResultConfig resultConfig = null;
-    
-                synchronized (config) {
-                    try {
-                        resultConfig = (ResultConfig) results.get(outcome);
-                    } catch (NullPointerException e) {
-                    }
-                    if (resultConfig == null) {
-                        // If no result is found for the given resultCode, try to get a wildcard '*' match.
-                        resultConfig = (ResultConfig) results.get("*");
-                    }
-                }
-                if (resultConfig != null) {
-                    ctx.getActionInvocation().setResultCode(outcome);
-                } else {
-                    delegateToParentNavigation(facesContext, fromAction, outcome);
-                }
-            }
-        }
-    }
-
-    private void delegateToParentNavigation(FacesContext facesContext, String fromAction, String outcome) {
-        // Failing over to parent handler
-        parent.handleNavigation(facesContext, fromAction, outcome);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsVariableResolver.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsVariableResolver.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsVariableResolver.java
deleted file mode 100644
index 9487005..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsVariableResolver.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.context.FacesContext;
-import javax.faces.el.EvaluationException;
-import javax.faces.el.VariableResolver;
-
-import com.opensymphony.xwork2.ognl.OgnlValueStack;
-import com.opensymphony.xwork2.ActionContext;
-
-/**
- * Will return a reference to the current action if the action name matches the
- * requested variable name. Otherwise it will attempt to resolve the name from
- * the value stack. Otherwise it will delegate to the original jsf resolver.
- */
-public class StrutsVariableResolver extends VariableResolver {
-
-    /** The original <code>VariableResolver</code> passed to our constructor. */
-    private VariableResolver original = null;
-
-    /** The variable name of our Struts action */
-    private static final String STRUTS_VARIABLE_NAME = "action";
-
-    /**
-     * Constructor
-     *
-     * @param original
-     *            Original resolver to delegate to.
-     */
-    public StrutsVariableResolver(VariableResolver original) {
-
-        this.original = original;
-
-    }
-
-    /**
-     * <p>
-     * Will return a reference to the current action if the action name matches
-     * the requested variable name. Otherwise it will attempt to resolve the
-     * name from the value stack. Otherwise it will delegate to the original jsf
-     * resolver.
-     * </p>
-     *
-     * @param name
-     *            Variable name to be resolved
-     */
-    public Object resolveVariable(FacesContext context, String name)
-            throws EvaluationException {
-
-        if (STRUTS_VARIABLE_NAME.equals(name)) {
-            return ActionContext.getContext().getActionInvocation().getAction();
-        }
-
-        Object obj = ActionContext.getContext().getValueStack().findValue(name);
-        if (obj != null) {
-            return obj;
-        } else {
-            return original.resolveVariable(context, name);
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/jsf/src/main/java/org/apache/struts2/jsf/UpdateModelValuesInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/jsf/src/main/java/org/apache/struts2/jsf/UpdateModelValuesInterceptor.java b/plugins/jsf/src/main/java/org/apache/struts2/jsf/UpdateModelValuesInterceptor.java
deleted file mode 100644
index 655a6b7..0000000
--- a/plugins/jsf/src/main/java/org/apache/struts2/jsf/UpdateModelValuesInterceptor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.struts2.jsf;
-
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseId;
-
-/**
- * Updates the model values from the component tree
- */
-public class UpdateModelValuesInterceptor extends FacesInterceptor {
-
-    private static final long serialVersionUID = 4011504235094251077L;
-
-    /**
-     * Update Model Values (JSF.2.2.4)
-     *
-     * @param viewId
-     *            The view id
-     * @param facesContext
-     *            The faces context
-     * @return true, if response is complete
-     */
-    protected boolean executePhase(String viewId, FacesContext facesContext)
-            throws FacesException {
-        boolean skipFurtherProcessing = false;
-        if (log.isTraceEnabled())
-            log.trace("entering updateModelValues");
-
-        informPhaseListenersBefore(facesContext, PhaseId.UPDATE_MODEL_VALUES);
-
-        try {
-            if (isResponseComplete(facesContext, "updateModelValues", true)) {
-                // have to return right away
-                return true;
-            }
-            if (shouldRenderResponse(facesContext, "updateModelValues", true)) {
-                skipFurtherProcessing = true;
-            }
-
-            facesContext.getViewRoot().processUpdates(facesContext);
-        } finally {
-            informPhaseListenersAfter(facesContext, PhaseId.UPDATE_MODEL_VALUES);
-        }
-
-        if (isResponseComplete(facesContext, "updateModelValues", false)
-                || shouldRenderResponse(facesContext, "updateModelValues",
-                        false)) {
-            // since this phase is completed we don't need to return right away
-            // even if the response is completed
-            skipFurtherProcessing = true;
-        }
-
-        if (!skipFurtherProcessing && log.isTraceEnabled())
-            log.trace("exiting updateModelValues");
-
-        return skipFurtherProcessing;
-    }
-}