You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/08/15 18:53:47 UTC
svn commit: r232835 - in /beehive/trunk/netui:
src/core/org/apache/beehive/netui/core/urltemplates/
src/pageflow/org/apache/beehive/netui/pageflow/ src/scoping/
src/scoping/org/apache/beehive/netui/pageflow/scoping/
test/src/junitTests/org/apache/beehi...
Author: rich
Date: Mon Aug 15 09:53:28 2005
New Revision: 232835
URL: http://svn.apache.org/viewcvs?rev=232835&view=rev
Log:
Two contributions from Carlin Rogers to address:
- http://issues.apache.org/jira/browse/BEEHIVE-880 : Remove trailing '?' from URLTemplate.format(true)
- http://issues.apache.org/jira/browse/BEEHIVE-882 : ScopedServletUtils.getOuterRequest() does not handle an instance of MultipartRequestWrapper
Thanks Carlin!
tests: bvt in netui (WinXP)
BB: self (linux)
Modified:
beehive/trunk/netui/src/core/org/apache/beehive/netui/core/urltemplates/URLTemplate.java
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/MultipartRequestUtils.java
beehive/trunk/netui/src/scoping/build.xml
beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java
beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/core/urltemplates/URLTemplateTest.java
Modified: beehive/trunk/netui/src/core/org/apache/beehive/netui/core/urltemplates/URLTemplate.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/core/org/apache/beehive/netui/core/urltemplates/URLTemplate.java?rev=232835&r1=232834&r2=232835&view=diff
==============================================================================
--- beehive/trunk/netui/src/core/org/apache/beehive/netui/core/urltemplates/URLTemplate.java (original)
+++ beehive/trunk/netui/src/core/org/apache/beehive/netui/core/urltemplates/URLTemplate.java Mon Aug 15 09:53:28 2005
@@ -292,6 +292,11 @@
}
}
+ if ( result.length() > 0 && result.charAt( result.length() - 1 ) == '?' )
+ {
+ result.deleteCharAt( result.length() - 1 );
+ }
+
return result.toString();
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/MultipartRequestUtils.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/MultipartRequestUtils.java?rev=232835&r1=232834&r2=232835&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/MultipartRequestUtils.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/MultipartRequestUtils.java Mon Aug 15 09:53:28 2005
@@ -178,7 +178,7 @@
}
else
{
- ScopedRequest scopedRequest = ScopedServletUtils.unwrapRequest( PageFlowUtils.unwrapMultipart( request ) );
+ ScopedRequest scopedRequest = ScopedServletUtils.unwrapRequest( request );
if ( scopedRequest != null )
{
@@ -200,15 +200,14 @@
{
multipartHandler = getMultipartHandler(request);
- if(multipartHandler != null)
+ if (multipartHandler != null)
{
//
// Run the request through the handler, and cache the handler in the outer request.
//
multipartHandler.handleRequest(request);
- HttpServletRequest outerRequest =
- ScopedServletUtils.getOuterRequest(PageFlowUtils.unwrapMultipart(request));
- outerRequest.setAttribute(PREHANDLED_MULTIPART_REQUEST_ATTR, multipartHandler );
+ HttpServletRequest outerRequest = ScopedServletUtils.getOuterRequest(request);
+ outerRequest.setAttribute(PREHANDLED_MULTIPART_REQUEST_ATTR, multipartHandler);
}
}
}
@@ -340,7 +339,7 @@
static MultipartRequestHandler getCachedMultipartHandler( HttpServletRequest request )
{
- HttpServletRequest req = ScopedServletUtils.getOuterRequest( PageFlowUtils.unwrapMultipart( request ) );
+ HttpServletRequest req = ScopedServletUtils.getOuterRequest( request );
return ( MultipartRequestHandler ) req.getAttribute( MultipartRequestUtils.PREHANDLED_MULTIPART_REQUEST_ATTR );
}
}
Modified: beehive/trunk/netui/src/scoping/build.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/scoping/build.xml?rev=232835&r1=232834&r2=232835&view=diff
==============================================================================
--- beehive/trunk/netui/src/scoping/build.xml (original)
+++ beehive/trunk/netui/src/scoping/build.xml Mon Aug 15 09:53:28 2005
@@ -9,6 +9,7 @@
<path id="module.classpath">
<path refid="servlet.dependency.path"/>
+ <path refid="${struts.dependency.path.ref}"/>
<path refid="commons-codec.dependency.path"/>
<pathelement path="${classes.dir}/util"/>
</path>
Modified: beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java?rev=232835&r1=232834&r2=232835&view=diff
==============================================================================
--- beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java (original)
+++ beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java Mon Aug 15 09:53:28 2005
@@ -20,6 +20,7 @@
import org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestImpl;
import org.apache.beehive.netui.pageflow.scoping.internal.ScopedResponseImpl;
import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.struts.upload.MultipartRequestWrapper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -235,6 +236,12 @@
*/
public static ScopedRequest unwrapRequest( ServletRequest request )
{
+ // Unwrap the multipart request, if there is one.
+ if ( request instanceof MultipartRequestWrapper )
+ {
+ request = ( ( MultipartRequestWrapper ) request ).getRequest();
+ }
+
while ( request instanceof ServletRequestWrapper )
{
if ( request instanceof ScopedRequest )
Modified: beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/core/urltemplates/URLTemplateTest.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/core/urltemplates/URLTemplateTest.java?rev=232835&r1=232834&r2=232835&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/core/urltemplates/URLTemplateTest.java (original)
+++ beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/core/urltemplates/URLTemplateTest.java Mon Aug 15 09:53:28 2005
@@ -160,4 +160,19 @@
urlTemplate.substitute( tokensAndValues );
assertEquals( result, urlTemplate.format() );
}
+
+ public void testEmptyQuery()
+ {
+ String temp = "http://{url:domain}:80/{url:path}?{url:queryString}";
+ String result = "http://myhost.com:80/my/path";
+ URLTemplate urlTemplate = new URLTemplate( temp );
+ urlTemplate.verify( KNOWN_TEMPLATE_TOKENS, REQUIRED_TEMPLATE_TOKENS );
+ urlTemplate.substitute( "{url:domain}", "myhost.com" );
+ urlTemplate.substitute( "{url:path}", "/my/path" );
+ assertEquals( result, urlTemplate.format() );
+ assertEquals( result, urlTemplate.format(true) );
+ urlTemplate.substitute( "{url:queryString}", "" );
+ assertEquals( result, urlTemplate.format() );
+ assertEquals( result, urlTemplate.format(true) );
+ }
}