();
- params.put("appended", "/org/springframework/js/resource/TestResource2.js");
- request.setParameters(params);
- servlet.doGet(request, response);
-
- assertEquals(200, response.getStatus());
- }
-
- public final void testExecute_CompressedResponse() throws Exception {
-
- String requestPath = "/org/springframework/js/resource/TestResource1.js";
- request.setPathInfo(requestPath);
- request.addHeader("Accept-Encoding", "gzip");
- servlet.doGet(request, response);
-
- assertEquals(200, response.getStatus());
- assertEquals("gzip", response.getHeader("Content-Encoding"));
- }
-
- public final void testExecute_ResourceNotFound() throws Exception {
-
- String requestPath = "/xxx/xxx.js";
- request.setPathInfo(requestPath);
- servlet.doGet(request, response);
-
- assertEquals(404, response.getStatus());
- }
-
- public final void testExecute_ProtectedPath() throws Exception {
- String requestPath = "/WEB-INF/web.xml";
- request.setPathInfo(requestPath);
- servlet.doGet(request, response);
-
- assertEquals(404, response.getStatus());
- }
-
- public final void testExecute_DisallowedPath() throws Exception {
- String requestPath = "/persistence.xml";
- request.setPathInfo(requestPath);
- servlet.doGet(request, response);
-
- assertEquals(404, response.getStatus());
- }
-
- private class ResourceTestMockServletContext extends MockServletContext {
-
- public String getMimeType(String filePath) {
- return null;
- }
-
- }
-}
diff --git a/spring-js/src/test/java/org/springframework/js/resource/TestResource1.js b/spring-js/src/test/java/org/springframework/js/resource/TestResource1.js
deleted file mode 100644
index e69de29b..00000000
diff --git a/spring-js/src/test/java/org/springframework/js/resource/TestResource2.js b/spring-js/src/test/java/org/springframework/js/resource/TestResource2.js
deleted file mode 100644
index e69de29b..00000000
diff --git a/spring-js/src/test/resources/log4j.xml b/spring-js/src/test/resources/log4j.xml
deleted file mode 100644
index b33a7753..00000000
--- a/spring-js/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/AbstractAjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java
similarity index 96%
rename from spring-js/src/main/java/org/springframework/js/ajax/AbstractAjaxHandler.java
rename to spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java
index 637a9340..ec30153a 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/AbstractAjaxHandler.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AbstractAjaxHandler.java
@@ -1,4 +1,4 @@
-package org.springframework.js.ajax;
+package org.springframework.webflow.context.servlet;
import java.io.IOException;
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java
similarity index 92%
rename from spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java
rename to spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java
index 4dd4b52c..a1b58e83 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/AjaxHandler.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.js.ajax;
+package org.springframework.webflow.context.servlet;
import java.io.IOException;
@@ -41,7 +41,7 @@ public interface AjaxHandler {
* @param request the current request
* @param response the current response
* @param targetUrl the target url to redirect to
- * @param popup wheter the redirect should be sent from a new popup dialog window
+ * @param popup whether the redirect should be sent from a new popup dialog window
*/
void sendAjaxRedirect(String targetUrl, HttpServletRequest request, HttpServletResponse response,
boolean popup) throws IOException;
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java
similarity index 50%
rename from spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java
rename to spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java
index 2ddb7f06..0b8edfda 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/DefaultAjaxHandler.java
@@ -13,73 +13,66 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.js.ajax;
-
-import java.io.IOException;
+package org.springframework.webflow.context.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.springframework.http.HttpHeaders;
import org.springframework.util.StringUtils;
/**
- * Ajax handler for Spring Javascript (Spring.js).
+ * Default {@link AjaxHandler} implementation.
*
- * @see AbstractAjaxHandler
+ * Detects Ajax requests through an "Accept" header with the value
+ * {@link #AJAX_ACCEPT_CONTENT_TYPE} or a request parameter with the name
+ * {@link #AJAX_SOURCE_PARAM}.
*
- * @author Jeremy Grelle
- * @author Keith Donald
+ *
Also for a redirect during an Ajax request it sets the response headers
+ * {@link #REDIRECT_URL_HEADER} and {@link #POPUP_VIEW_HEADER}. The latter is
+ * set if the redirect occurs on a view state with popup="true".
*
- * @deprecated as of version 2.4 Spring.js is deprecated
+ * @author Rossen Stoyanchev
+ * @since 2.5
*/
-public class SpringJavascriptAjaxHandler extends AbstractAjaxHandler {
+public class DefaultAjaxHandler extends AbstractAjaxHandler {
- /**
- * The response header to be set on an Ajax redirect
- */
- public static final String REDIRECT_URL_HEADER = "Spring-Redirect-URL";
-
- /**
- * The response header to be set on an redirect that should be issued from a popup window.
- */
- public static final String POPUP_VIEW_HEADER = "Spring-Modal-View";
-
- /**
- * The accept header value that signifies an Ajax request.
- */
+ /** "Accept" header value that indicates an Ajax request. */
public static final String AJAX_ACCEPT_CONTENT_TYPE = "text/html;type=ajax";
- /**
- * Alternate request parameter to indicate an Ajax request for cases when control of the header is not available.
- */
+ /** Request parameter alternative that indicate an Ajax request. */
public static final String AJAX_SOURCE_PARAM = "ajaxSource";
+ /** Response header to be set on an Ajax redirect with the redirect location */
+ public static final String REDIRECT_URL_HEADER = "Spring-Redirect-URL";
+
+ /** Response header to be set on a redirect that should be issued from a popup window. */
+ public static final String POPUP_VIEW_HEADER = "Spring-Modal-View";
+
+
/**
- * Create a SpringJavascriptAjaxHandler that is not part of a chain of AjaxHandler's.
+ * Create a DefaultAjaxHandler that is not part of a chain of AjaxHandler's.
*/
- public SpringJavascriptAjaxHandler() {
+ public DefaultAjaxHandler() {
this(null);
}
/**
- * Create a SpringJavascriptAjaxHandler as part of a chain of AjaxHandler's.
+ * Create a DefaultAjaxHandler as part of a chain of AjaxHandler's.
*/
- public SpringJavascriptAjaxHandler(AbstractAjaxHandler delegate) {
+ public DefaultAjaxHandler(AbstractAjaxHandler delegate) {
super(delegate);
}
protected boolean isAjaxRequestInternal(HttpServletRequest request, HttpServletResponse response) {
- String acceptHeader = request.getHeader("Accept");
- String ajaxParam = request.getParameter(AJAX_SOURCE_PARAM);
- if (AJAX_ACCEPT_CONTENT_TYPE.equals(acceptHeader) || StringUtils.hasText(ajaxParam)) {
- return true;
- } else {
- return false;
- }
+ String header = request.getHeader(HttpHeaders.ACCEPT);
+ String param = request.getParameter(AJAX_SOURCE_PARAM);
+ return AJAX_ACCEPT_CONTENT_TYPE.equals(header) || StringUtils.hasText(param);
}
- protected void sendAjaxRedirectInternal(String targetUrl, HttpServletRequest request, HttpServletResponse response,
- boolean popup) throws IOException {
+ protected void sendAjaxRedirectInternal(String targetUrl, HttpServletRequest request,
+ HttpServletResponse response, boolean popup) {
+
if (popup) {
response.setHeader(POPUP_VIEW_HEADER, "true");
}
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java
index 11bcdcae..732f30c3 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/context/servlet/FilenameFlowUrlHandler.java
@@ -20,13 +20,12 @@ import javax.servlet.http.HttpServletRequest;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UrlPathHelper;
import org.springframework.webflow.core.collection.AttributeMap;
-import org.springframework.webflow.mvc.servlet.FlowController;
/**
* A file name based {@link FlowUrlHandler} implementation that is an alternative to the standard
* {@link DefaultFlowUrlHandler}. Treats the filename of a request without the URL suffix and/or prefix as the flow id.
- * Used by the {@link FlowController} implementation as a default implementation to preserve compatibility with existing
- * Web Flow 2 applications.
+ * Used by the {@link org.springframework.webflow.mvc.servlet.FlowController} implementation as a default
+ * implementation to preserve compatibility with existing Web Flow 2 applications.
*
*
* This implementation extracts the filename and removes the file extension from the request URL. The results will be
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java
index acc5e625..aaced904 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowController.java
@@ -25,7 +25,7 @@ import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
-import org.springframework.js.ajax.AjaxHandler;
+import org.springframework.webflow.context.servlet.AjaxHandler;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.webflow.context.servlet.FilenameFlowUrlHandler;
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
index 66fbd8d1..3f436b22 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
@@ -25,8 +25,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.http.HttpStatus;
-import org.springframework.js.ajax.AjaxHandler;
-import org.springframework.js.ajax.SpringJavascriptAjaxHandler;
+import org.springframework.webflow.context.servlet.AjaxHandler;
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
@@ -234,7 +234,7 @@ public class FlowHandlerAdapter extends WebContentGenerator implements HandlerAd
flowUrlHandler = new DefaultFlowUrlHandler();
}
if (ajaxHandler == null) {
- ajaxHandler = new SpringJavascriptAjaxHandler();
+ ajaxHandler = new DefaultAjaxHandler();
}
}
diff --git a/spring-js-tiles3/src/main/java/org/springframework/js/ajax/tiles3/AjaxTilesView.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxTiles3View.java
similarity index 95%
rename from spring-js-tiles3/src/main/java/org/springframework/js/ajax/tiles3/AjaxTilesView.java
rename to spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxTiles3View.java
index 2216ab3f..88c018c4 100644
--- a/spring-js-tiles3/src/main/java/org/springframework/js/ajax/tiles3/AjaxTilesView.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxTiles3View.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.js.ajax.tiles3;
+package org.springframework.webflow.mvc.view;
import java.util.HashMap;
import java.util.HashSet;
@@ -33,8 +33,8 @@ import org.apache.tiles.impl.BasicTilesContainer;
import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.request.Request;
import org.apache.tiles.request.servlet.ServletRequest;
-import org.springframework.js.ajax.AjaxHandler;
-import org.springframework.js.ajax.SpringJavascriptAjaxHandler;
+import org.springframework.webflow.context.servlet.AjaxHandler;
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.support.JstlUtils;
@@ -45,7 +45,7 @@ import org.springframework.web.servlet.view.tiles3.TilesView;
* Tiles 3 view implementation that is able to handle partial rendering for Spring
* Javascript Ajax requests.
*
- *
This implementation uses the {@link SpringJavascriptAjaxHandler} by default
+ *
This implementation uses the {@link DefaultAjaxHandler} by default
* to determine whether the current request is an Ajax request. On an Ajax request,
* a "fragments" parameter will be extracted from the request in order to
* determine which attributes to render from the current tiles view.
@@ -53,11 +53,11 @@ import org.springframework.web.servlet.view.tiles3.TilesView;
* @author Rossen Stoyanchev
* @since 2.4
*/
-public class AjaxTilesView extends TilesView {
+public class AjaxTiles3View extends TilesView {
private static final String FRAGMENTS_PARAM = "fragments";
- private AjaxHandler ajaxHandler = new SpringJavascriptAjaxHandler();
+ private AjaxHandler ajaxHandler = new DefaultAjaxHandler();
public AjaxHandler getAjaxHandler() {
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java
similarity index 91%
rename from spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java
rename to spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java
index 986ce57b..f60b5481 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AjaxUrlBasedViewResolver.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.js.ajax;
+package org.springframework.webflow.mvc.view;
import java.io.IOException;
import java.util.Locale;
@@ -24,6 +24,8 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.View;
import org.springframework.web.servlet.view.RedirectView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
+import org.springframework.webflow.context.servlet.AjaxHandler;
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
/**
* View resolver that provides special view resolution for Spring Javascript Ajax requests.
@@ -54,7 +56,7 @@ public class AjaxUrlBasedViewResolver extends UrlBasedViewResolver {
private class AjaxRedirectView extends RedirectView implements View {
- private AjaxHandler ajaxHandler = new SpringJavascriptAjaxHandler();
+ private AjaxHandler ajaxHandler = new DefaultAjaxHandler();
public AjaxRedirectView(String redirectUrl, boolean redirectContextRelative, boolean redirectHttp10Compatible) {
super(redirectUrl, redirectContextRelative, redirectHttp10Compatible);
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/FlowAjaxTiles3View.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/FlowAjaxTiles3View.java
index 9b63e7db..69042c3e 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/FlowAjaxTiles3View.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/FlowAjaxTiles3View.java
@@ -16,11 +16,10 @@
package org.springframework.webflow.mvc.view;
import java.util.Map;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.springframework.js.ajax.tiles3.AjaxTilesView;
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
import org.springframework.webflow.execution.View;
@@ -29,17 +28,16 @@ import org.springframework.webflow.execution.View;
* Tiles view implementation that is able to handle partial rendering for Spring
* Javascript Ajax requests.
*
- *
This implementation uses the {@link org.springframework.js.ajax.SpringJavascriptAjaxHandler}
+ *
This implementation uses the {@link DefaultAjaxHandler}
* by default to determine whether the current request is an Ajax request. On an
* Ajax request for an active flow execution, the fragments set by a {@code }
- * action will be respected, otherwise the parent
- * {@link org.springframework.js.ajax.tiles2.AjaxTilesView}'s resolution algorithm
+ * action will be respected, otherwise the parent {@link AjaxTiles3View}'s resolution algorithm
* will be applied.
*
* @author Rossen Stoyanchev
* @since 2.4
*/
-public class FlowAjaxTiles3View extends AjaxTilesView {
+public class FlowAjaxTiles3View extends AjaxTiles3View {
protected String[] getRenderFragments(Map model, HttpServletRequest request,
diff --git a/spring-js/src/test/java/org/springframework/js/ajax/AbstractAjaxHandlerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java
similarity index 98%
rename from spring-js/src/test/java/org/springframework/js/ajax/AbstractAjaxHandlerTests.java
rename to spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java
index 229488ea..d82d6220 100644
--- a/spring-js/src/test/java/org/springframework/js/ajax/AbstractAjaxHandlerTests.java
+++ b/spring-webflow/src/test/java/org/springframework/webflow/context/servlet/AbstractAjaxHandlerTests.java
@@ -1,7 +1,6 @@
-package org.springframework.js.ajax;
+package org.springframework.webflow.context.servlet;
import java.io.IOException;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java
index 4f8d94e4..4d2cb2cf 100644
--- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java
+++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/servlet/FlowControllerTests.java
@@ -9,7 +9,8 @@ import javax.servlet.http.HttpServletResponse;
import junit.framework.TestCase;
import org.easymock.EasyMock;
-import org.springframework.js.ajax.SpringJavascriptAjaxHandler;
+
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletContext;
@@ -165,9 +166,9 @@ public class FlowControllerTests extends TestCase {
ModelAndView mv = controller.handleRequest(request, response);
assertNull(mv);
assertEquals(null, response.getRedirectedUrl());
- assertEquals("true", response.getHeader(SpringJavascriptAjaxHandler.POPUP_VIEW_HEADER));
+ assertEquals("true", response.getHeader(DefaultAjaxHandler.POPUP_VIEW_HEADER));
assertEquals("/springtravel/app/foo?execution=12345",
- response.getHeader(SpringJavascriptAjaxHandler.REDIRECT_URL_HEADER));
+ response.getHeader(DefaultAjaxHandler.REDIRECT_URL_HEADER));
EasyMock.verify(new Object[] { executor });
}
@@ -189,9 +190,9 @@ public class FlowControllerTests extends TestCase {
ModelAndView mv = controller.handleRequest(request, response);
assertNull(mv);
assertEquals(null, response.getRedirectedUrl());
- assertEquals(null, response.getHeader(SpringJavascriptAjaxHandler.POPUP_VIEW_HEADER));
+ assertEquals(null, response.getHeader(DefaultAjaxHandler.POPUP_VIEW_HEADER));
assertEquals("/springtravel/app/foo?execution=12345",
- response.getHeader(SpringJavascriptAjaxHandler.REDIRECT_URL_HEADER));
+ response.getHeader(DefaultAjaxHandler.REDIRECT_URL_HEADER));
EasyMock.verify(new Object[] { executor });
}
diff --git a/spring-js-tiles3/src/test/java/org/springframework/js/ajax/tiles3/AjaxTilesViewTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/AjaxTiles3ViewTests.java
similarity index 79%
rename from spring-js-tiles3/src/test/java/org/springframework/js/ajax/tiles3/AjaxTilesViewTests.java
rename to spring-webflow/src/test/java/org/springframework/webflow/mvc/view/AjaxTiles3ViewTests.java
index 881fec0f..e0b1bbff 100644
--- a/spring-js-tiles3/src/test/java/org/springframework/js/ajax/tiles3/AjaxTilesViewTests.java
+++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/view/AjaxTiles3ViewTests.java
@@ -1,11 +1,9 @@
-package org.springframework.js.ajax.tiles3;
+package org.springframework.webflow.mvc.view;
import java.util.HashMap;
import java.util.Map;
-import junit.framework.Assert;
import junit.framework.TestCase;
-
import org.apache.tiles.Attribute;
import org.apache.tiles.AttributeContext;
import org.apache.tiles.Definition;
@@ -16,8 +14,8 @@ import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.request.Request;
import org.apache.tiles.request.servlet.ServletRequest;
import org.apache.tiles.request.servlet.wildcard.WildcardServletApplicationContext;
-import org.springframework.js.ajax.SpringJavascriptAjaxHandler;
-import org.springframework.js.ajax.tiles3.AjaxTilesView;
+
+import org.springframework.webflow.context.servlet.DefaultAjaxHandler;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletContext;
@@ -26,9 +24,9 @@ import org.springframework.web.servlet.support.RequestContext;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
-public class AjaxTilesViewTests extends TestCase {
+public class AjaxTiles3ViewTests extends TestCase {
- private AjaxTilesView ajaxTilesView;
+ private AjaxTiles3View ajaxTilesView;
private MockHttpServletRequest request;
@@ -39,18 +37,18 @@ public class AjaxTilesViewTests extends TestCase {
protected void setUp() throws Exception {
- servletContext = new MockServletContext("/org/springframework/js/ajax/tiles3/");
+ servletContext = new MockServletContext("/org/springframework/webflow/mvc/view/");
request = new MockHttpServletRequest(servletContext);
response = new MockHttpServletResponse();
TilesConfigurer tc = new TilesConfigurer();
- tc.setDefinitions(new String[] { "tiles-definitions.xml" });
+ tc.setDefinitions("tiles-definitions.xml");
tc.setValidateDefinitions(true);
tc.setServletContext(servletContext);
tc.setUseMutableTilesContainer(false);
tc.afterPropertiesSet();
- ajaxTilesView = new AjaxTilesView();
+ ajaxTilesView = new AjaxTiles3View();
}
private void setupStaticWebApplicationContext() {
@@ -65,46 +63,46 @@ public class AjaxTilesViewTests extends TestCase {
setupStaticWebApplicationContext();
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertEquals("/WEB-INF/layout.jsp", response.getForwardedUrl());
}
public void testAjaxRequestNoFragments() throws Exception {
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertEquals("/WEB-INF/layout.jsp", response.getForwardedUrl());
}
public void testRenderFragment_Template() throws Exception {
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
request.addParameter("fragments", "searchResults");
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertEquals("/WEB-INF/searchResults.jsp", response.getForwardedUrl());
}
public void testRenderFragment_Definition() throws Exception {
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
request.addParameter("fragments", "body");
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertEquals("/WEB-INF/search.jsp", response.getForwardedUrl());
}
public void testRenderFragment_CascadedAttribute() throws Exception {
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
request.addParameter("fragments", "searchNavigation");
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertEquals("/WEB-INF/searchNavigation.jsp", response.getForwardedUrl());
}
@@ -115,11 +113,11 @@ public class AjaxTilesViewTests extends TestCase {
Definition definition = container.getDefinitionsFactory().getDefinition("search.body", tilesRequest);
definition.setPreparer(AttributeTestingPreparer.class.getName());
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
request.addParameter("fragments", "body");
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertTrue(AttributeTestingPreparer.invoked);
}
@@ -138,11 +136,11 @@ public class AjaxTilesViewTests extends TestCase {
public void testRenderFragment_Multiple() throws Exception {
setupStaticWebApplicationContext();
- request.addHeader("Accept", SpringJavascriptAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
+ request.addHeader("Accept", DefaultAjaxHandler.AJAX_ACCEPT_CONTENT_TYPE);
request.addParameter("fragments", "body,searchNavigation");
ajaxTilesView.setUrl("search");
ajaxTilesView.afterPropertiesSet();
- ajaxTilesView.renderMergedOutputModel(new HashMap(), request, response);
+ ajaxTilesView.renderMergedOutputModel(new HashMap<>(), request, response);
assertTrue("Multiple fragments should result in include, not forward", response.getIncludedUrls().size() == 2);
assertEquals("/WEB-INF/search.jsp", response.getIncludedUrls().get(0));
assertEquals("/WEB-INF/searchNavigation.jsp", response.getIncludedUrls().get(1));
@@ -162,7 +160,7 @@ public class AjaxTilesViewTests extends TestCase {
}
public void testGetRenderFragments() throws Exception {
- Map model = new HashMap();
+ Map model = new HashMap<>();
request.setParameter("fragments", "f1,f2, f3");
String[] fragments = ajaxTilesView.getRenderFragments(model, request, response);
assertEquals("f1", fragments[0]);
@@ -177,7 +175,7 @@ public class AjaxTilesViewTests extends TestCase {
public void execute(Request tilesContext, AttributeContext attributeContext) {
invoked = true;
- Assert.assertTrue(attributeContext.getAttribute("searchNavigation") != null);
+ assertTrue(attributeContext.getAttribute("searchNavigation") != null);
}
}
diff --git a/spring-js-tiles3/src/test/java/org/springframework/js/ajax/tiles3/tiles-definitions.xml b/spring-webflow/src/test/resources/org/springframework/webflow/mvc/view/tiles-definitions.xml
similarity index 100%
rename from spring-js-tiles3/src/test/java/org/springframework/js/ajax/tiles3/tiles-definitions.xml
rename to spring-webflow/src/test/resources/org/springframework/webflow/mvc/view/tiles-definitions.xml
diff --git a/src/dist/readme.txt b/src/dist/readme.txt
index d427c8f6..f4b5b90a 100644
--- a/src/dist/readme.txt
+++ b/src/dist/readme.txt
@@ -50,25 +50,19 @@ SpringSource repository. Add the following repository to your Maven pom.xml:
Then declare the following dependencies (note that many times it's sufficient
-to include spring-webflow only, which will give you spring-binding and spring-js
+to include spring-webflow only, which will give you spring-binding
via transitive dependencies):
org.springframework.webflow
org.springframework.binding
- 2.4.4.RELEASE
-
-
-
- org.springframework.webflow
- org.springframework.js
- 2.4.4.RELEASE
+ x.y.z.RELEASE
org.springframework.webflow
org.springframework.webflow
- 2.4.4.RELEASE
+ x.y.z.RELEASE
If using JSF all you need to include is:
@@ -76,7 +70,7 @@ If using JSF all you need to include is:
org.springframework.webflow
org.springframework.faces
- 2.4.4.RELEASE
+ x.y.z.RELEASE
To access jars using Ivy, add the following repositories to your Ivy config:
@@ -93,13 +87,13 @@ To access jars using Ivy, add the following repositories to your Ivy config:
Then declare the following dependencies in your ivy.xml:
-
-
-
+
+
+
If using JavaServerFaces:
-
+
For more information see the reference documentation and the SpringSource Repository FAQ:
https://github.com/spring-projects/spring-framework/wiki/Spring-repository-FAQ
diff --git a/src/reference/overview.xml b/src/reference/overview.xml
index fd083515..ecfe2752 100644
--- a/src/reference/overview.xml
+++ b/src/reference/overview.xml
@@ -49,7 +49,7 @@
To access Web Flow jars from Maven Central, declare the following dependency in your pom (includes
- transitive dependencies "spring-binding" and "spring-js"):
+ transitive dependencies "spring-binding"):
@@ -60,7 +60,8 @@
]]>
- If using JavaServer Faces, declare the following dependency in your pom (includes transitive dependencies "spring-binding", "spring-webflow" and "spring-js"):
+ If using JavaServer Faces, declare the following dependency in your pom
+ (includes transitive dependencies "spring-binding", "spring-webflow"):
@@ -148,12 +149,6 @@
x.y.z.BUILD-SNAPSHOT
-
- org.springframework.webflow
- spring-js
- x.y.z.BUILD-SNAPSHOT
-
-
org.springframework.webflow
spring-webflow
diff --git a/src/reference/spring-js.xml b/src/reference/spring-js.xml
index 5a5d01c9..11b0690d 100644
--- a/src/reference/spring-js.xml
+++ b/src/reference/spring-js.xml
@@ -48,7 +48,7 @@
(note that these extensions require the use of Tiles for templating):
+
]]>