[CONF] Confluence Changes in the last 24 hours
- This is a daily summary of all recent changes in Confluence. - Updated Spaces: - Apache Camel (CAMEL) http://cwiki.apache.org/confluence/display/CAMEL | |-Pages Added or Edited in This Space |-- XQuery Endpoint was last edited by davsclaus (11:13 PM). | http://cwiki.apache.org/confluence/display/CAMEL/XQuery+Endpoint |-- Bean Binding was last edited by davsclaus (04:42 AM). | http://cwiki.apache.org/confluence/display/CAMEL/Bean+Binding |-- Camel 1.4.0 Release was last edited by davsclaus (03:51 AM). | http://cwiki.apache.org/confluence/display/CAMEL/Camel+1.4.0+Release |-- Tracer was last edited by davsclaus (02:35 AM). | http://cwiki.apache.org/confluence/display/CAMEL/Tracer Apache Geronimo Project Management (GMOxPMGT) http://cwiki.apache.org/confluence/display/GMOxPMGT | |-Pages Added or Edited in This Space |-- Geronimo Samples 2.1 release work items was last edited by jbohn (02:42 PM). | http://cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+Samples+2.1+release+work+items |-- Apache Geronimo Board Report - 2008-07 - July was last edited by djencks (10:29 AM). | http://cwiki.apache.org/confluence/display/GMOxPMGT/Apache+Geronimo+Board+Report+-+2008-07+-+July Apache Struts 2 Documentation (WW) http://cwiki.apache.org/confluence/display/WW | |-Pages Added or Edited in This Space |-- Validation was last edited by [EMAIL PROTECTED] (09:41 AM). | http://cwiki.apache.org/confluence/display/WW/Validation | |-New Comments in This Space |-- http://cwiki.apache.org/confluence/display/WW/Plugins (1) Apache Geronimo v2.1 (GMOxDOC21) http://cwiki.apache.org/confluence/display/GMOxDOC21 | |-Pages Added or Edited in This Space |-- mytime - Very Simple Session EJB Example was last edited by jbohn (02:16 PM). | http://cwiki.apache.org/confluence/display/GMOxDOC21/mytime+-+Very+Simple+Session+EJB+Example |-- myphonebook - Very Simple Entity EJB Example was last edited by jbohn (02:16 PM). | http://cwiki.apache.org/confluence/display/GMOxDOC21/myphonebook+-+Very+Simple+Entity+EJB+Example Apache Wicket (WICKET) http://cwiki.apache.org/confluence/display/WICKET | |-Pages Added or Edited in This Space |-- Community meetups was last edited by [EMAIL PROTECTED] (10:40 AM). | http://cwiki.apache.org/confluence/display/WICKET/Community+meetups Apache Felix (FELIX) http://cwiki.apache.org/confluence/display/FELIX | |-Pages Added or Edited in This Space |-- iPOJO in 10 minutes was last edited by clement.escoffier (12:18 AM). | http://cwiki.apache.org/confluence/display/FELIX/iPOJO+in+10+minutes Apache Geronimo (GMOxSITE) http://cwiki.apache.org/confluence/display/GMOxSITE | |-Pages Added or Edited in This Space |-- Developing the Geronimo Eclipse Plugin in Eclipse was last edited by mcconne (08:23 PM). | http://cwiki.apache.org/confluence/display/GMOxSITE/Developing+the+Geronimo+Eclipse+Plugin+in+Eclipse Apache Qpid (qpid) http://cwiki.apache.org/confluence/display/qpid | |-Pages Added or Edited in This Space |-- Management Design notes was last edited by tross (06:56 AM). | http://cwiki.apache.org/confluence/display/qpid/Management+Design+notes OpenEJB 3.0.x documentation (OPENEJBx30) http://cwiki.apache.org/confluence/display/OPENEJBx30 | |-Pages Added or Edited in This Space |-- JPA Concepts was last edited by dblevins (01:14 PM). | http://cwiki.apache.org/confluence/display/OPENEJBx30/JPA+Concepts Apache ActiveMQ (ACTIVEMQ) http://cwiki.apache.org/confluence/display/ACTIVEMQ | |-Pages Added or Edited in This Space |-- Apache ActiveMQ Board Report - July 2008 was last edited by chirino (09:11 AM). | http://cwiki.apache.org/confluence/display/ACTIVEMQ/Apache+ActiveMQ+Board+Report+-+July+2008 |-- Networks of Brokers was last edited by gtully (02:26 AM). | http://cwiki.apache.org/confluence/display/ACTIVEMQ/Networks+of+Brokers Apache ServiceMix (SM) http://cwiki.apache.org/confluence/display/SM | |-Pages Added or Edited in This Space |-- How does ServiceMix compare to Synapse was last edited by gnodet (04:41 AM). | http://cwiki.apache.org/confluence/display/SM/How+does+ServiceMix+compare+to+Synapse Tuscany Wiki (TUSCANYWIKI) http://cwiki.apache.org/confluence/display/TUSCANYWIKI | |-Pages Added or Edited in This Space |-- Google Summer of Code (2008) Applications was last edited by haleh (11:55 AM). | http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Google+Summer+of+Code+%282008%29+Applications |-- Allow Google Android applications to easily consume business services was last edited by [EMAIL PROTECTED] (09:56 AM). | http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Allow+Google+Android+applications+to+easily+consume+business+services |-- Midterm summary email to Dev list was created by [EMAIL PR
svn commit: r676179 - /struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java
Author: mrdon Date: Sat Jul 12 06:55:51 2008 New Revision: 676179 URL: http://svn.apache.org/viewvc?rev=676179&view=rev Log: Adding test to ensure action tags are executed without the method from the URI polluting the result WW-2290 Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java?rev=676179&r1=676178&r2=676179&view=diff == --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java Sat Jul 12 06:55:51 2008 @@ -106,6 +106,35 @@ this.testSimple(); } +public void testSimpleWithctionMethodInOriginalURI() { +request.setupGetServletPath("/foo!foo.action"); + +ActionTag tag = new ActionTag(); +tag.setPageContext(pageContext); +tag.setName("testAction"); +tag.setId("testAction"); + +int stackSize = stack.size(); + +try { +tag.doStartTag(); +tag.addParameter("foo", "myFoo"); +tag.doEndTag(); + +assertEquals(stack.size(), ActionContext.getContext().getValueStack().size()); +assertEquals("myFoo", stack.findValue("#testAction.foo")); +assertEquals(stackSize, stack.size()); + +Object o = pageContext.findAttribute("testAction"); +assertTrue(o instanceof TestAction); +assertEquals("myFoo", ((TestAction) o).getFoo()); +assertEquals(Action.SUCCESS, ((TestAction) o).getResult()); +} catch (JspException ex) { +ex.printStackTrace(); +fail(); +} +} + public void testActionWithExecuteResult() throws Exception { ActionTag tag = new ActionTag(); tag.setPageContext(pageContext);
svn commit: r676181 - in /struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher: Dispatcher.java ng/PrepareOperations.java ng/filter/StrutsPrepareAndExecuteFilter.java ng/filter/Struts
Author: mrdon Date: Sat Jul 12 07:40:27 2008 New Revision: 676181 URL: http://svn.apache.org/viewvc?rev=676181&view=rev Log: Ensuring action context is setup by prepare dispatcher ahead of action execution WW-2079 Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=676181&r1=676180&r2=676181&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java Sat Jul 12 07:40:27 2008 @@ -488,7 +488,10 @@ Map application = new ApplicationMap(context); Map extraContext = createContextMap(requestMap, params, session, application, request, response, context); -extraContext.put(ServletActionContext.ACTION_MAPPING, mapping); + +if (mapping != null) { +extraContext.put(ServletActionContext.ACTION_MAPPING, mapping); +} return extraContext; } Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java?rev=676181&r1=676180&r2=676181&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java Sat Jul 12 07:40:27 2008 @@ -58,7 +58,7 @@ /** * Creates the action context and initializes the thread local */ -public ActionContext createActionContext(HttpServletRequest request) { +public ActionContext createActionContext(HttpServletRequest request, HttpServletResponse response) { ActionContext ctx; Integer counter = 1; Integer oldCounter = (Integer) request.getAttribute(CLEANUP_RECURSION_COUNTER); @@ -72,6 +72,7 @@ ctx = new ActionContext(new HashMap(oldContext.getContextMap())); } else { ValueStack stack = dispatcher.getContainer().getInstance(ValueStackFactory.class).createValueStack(); +stack.getContext().putAll(dispatcher.createContextMap(request, response, null, servletContext)); ctx = new ActionContext(stack.getContext()); } request.setAttribute(CLEANUP_RECURSION_COUNTER, counter); Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java?rev=676181&r1=676180&r2=676181&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java Sat Jul 12 07:40:27 2008 @@ -62,7 +62,7 @@ HttpServletResponse response = (HttpServletResponse) res; try { -prepare.createActionContext(request); +prepare.createActionContext(request, response); prepare.assignDispatcherToThread(); prepare.setEncodingAndLocale(request, response); request = prepare.wrapRequest(request); Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java?rev=676181&r1=676180&r2=676181&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java Sat Jul 12 07:40:27 2008 @@ -56,7 +56,7 @@ HttpServletResponse response =
svn commit: r676182 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
Author: mrdon Date: Sat Jul 12 07:43:27 2008 New Revision: 676182 URL: http://svn.apache.org/viewvc?rev=676182&view=rev Log: Adding override annotations WW-2691 Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java?rev=676182&r1=676181&r2=676182&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java Sat Jul 12 07:43:27 2008 @@ -78,6 +78,7 @@ * @return the parameters from the action mapping in the context. If none found, returns * an empty map. */ +@Override protected Map retrieveParameters(ActionContext ac) { ActionMapping mapping = (ActionMapping) ac.get(ServletActionContext.ACTION_MAPPING); if (mapping != null) { @@ -96,6 +97,7 @@ * In this class this is a no-op, since the parameters were fetched from the same location. * In subclasses both retrieveParameters() and addParametersToContext() should be overridden. */ +@Override protected void addParametersToContext(ActionContext ac, Map newParams) { Map previousParams = ac.getParameters(); Map combinedParams = null;
svn commit: r676195 - in /struts/struts2/trunk/plugins/rest/src: main/java/org/apache/struts2/rest/ main/resources/ test/java/org/apache/struts2/rest/
Author: mrdon Date: Sat Jul 12 08:55:58 2008 New Revision: 676195 URL: http://svn.apache.org/viewvc?rev=676195&view=rev Log: Adding ability to customize validation failure status code, refactoring content type handler manager into interface and impl for easier testing WW-2358 Added: struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java (contents, props changed) - copied, changed from r676177, struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestWorkflowInterceptorTest.java Modified: struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java struts/struts2/trunk/plugins/rest/src/main/resources/struts-plugin.xml struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/ContentTypeHandlerManagerTest.java Added: struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java?rev=676195&view=auto == --- struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java (added) +++ struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java Sat Jul 12 08:55:58 2008 @@ -0,0 +1,64 @@ +/* + * $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.rest; + +import org.apache.struts2.rest.handler.ContentTypeHandler; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.opensymphony.xwork2.config.entities.ActionConfig; + +import java.io.IOException; + +/** + * Manages content type handlers + */ +public interface ContentTypeHandlerManager { +String STRUTS_REST_HANDLER_OVERRIDE_PREFIX = "struts.rest.handlerOverride."; + +/** + * Gets the handler for the request by looking at the request content type and extension + * @param req The request + * @return The appropriate handler + */ +ContentTypeHandler getHandlerForRequest(HttpServletRequest req); + +/** + * Gets the handler for the response by looking at the extension of the request + * @param req The request + * @return The appropriate handler + */ +ContentTypeHandler getHandlerForResponse(HttpServletRequest req, HttpServletResponse res); + +/** + * Handles the result using handlers to generate content type-specific content + * + * @param actionConfig The action config for the current request + * @param methodResult The object returned from the action method + * @param target The object to return, usually the action object + * @return The new result code to process + * @throws IOException If unable to write to the response + */ +String handleResult(ActionConfig actionConfig, Object methodResult, Object target) +throws IOException; +} Copied: struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java (from r676177, struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java) URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java?p2=struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultContentTypeHandlerManager.java&p1=struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java&r1=676177&r2=676195&rev=676195&view=diff == --- struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeHandlerManager.java (original) +++ struts/struts2/trunk/plugins/rest/src/main/ja