Should I put in a JIRA for this issue?

On Wed, Oct 20, 2010 at 10:15 AM, VANKEISBELCK Remi <r...@rvkb.com> wrote:

> Hi Nathan,
>
> Just had a quick look to your test. Refactored to :
> http://pastebin.com/02nY8aWF
>
> The two test methods that use a string url for the binding work fine. The
> one using the beanclass doesn't work...
>
> As a workaround for now, you can use stringified urls in your tests. I'll
> try to understand what's going on as soon as I have a moment.
>
> Cheers
>
> Remi
>
> 2010/10/20 Nathan Maves <nathan.ma...@gmail.com>
>
>> Sure thing Remi.  The following example fails because the id is null.
>>
>> Nathan
>>
>>
>> ACTION
>>
>> package com.foo.stripes;
>>
>> import net.sourceforge.stripes.action.ActionBean;
>> import net.sourceforge.stripes.action.ActionBeanContext;
>> import net.sourceforge.stripes.action.DefaultHandler;
>> import net.sourceforge.stripes.action.Resolution;
>> import net.sourceforge.stripes.action.UrlBinding;
>>
>> @UrlBinding("/foo/{$event}/{id}")
>> public class TestAction implements ActionBean {
>>        ActionBeanContext context;
>>
>>        Integer id;
>>
>>        @DefaultHandler
>>        public Resolution bar() {
>>
>>                return null;
>>        }
>>
>>        public Integer getId() {
>>                return id;
>>        }
>>
>>        public void setId(Integer id) {
>>                this.id = id;
>>        }
>>
>>        @Override
>>        public void setContext(ActionBeanContext context) {
>>                this.context = context;
>>        }
>>
>>        @Override
>>        public ActionBeanContext getContext() {
>>                return this.context;
>>        }
>> }
>>
>> TEST
>>
>> package com.foo.stripes;
>>
>> import java.util.HashMap;
>> import java.util.Map;
>> import net.sourceforge.stripes.controller.DispatcherServlet;
>> import net.sourceforge.stripes.controller.StripesFilter;
>> import net.sourceforge.stripes.mock.MockRoundtrip;
>> import net.sourceforge.stripes.mock.MockServletContext;
>> import org.junit.Before;
>> import org.junit.Test;
>>
>> import static org.junit.Assert.*;
>>
>> public class ParameterTestAction {
>>        MockServletContext context;
>>
>>        @Before
>>        public void setup() {
>>                context = new MockServletContext("test");
>>
>>                // Add the Stripes Filter
>>                Map<String,String> filterParams = new
>> HashMap<String,String>();
>>                filterParams.put("ActionResolver.Packages",
>> "com.foo.stripes");
>>                context.addFilter(StripesFilter.class, "StripesFilter",
>> filterParams);
>>
>>                // Add the Stripes Dispatcher
>>                context.setServlet(DispatcherServlet.class,
>> "StripesDispatcher", null);
>>        }
>>
>>        @Test
>>        public void testParameter() throws Exception {
>>                final Integer id = 2;
>>                MockRoundtrip trip = new MockRoundtrip(context,
>> TestAction.class);
>>                trip.setParameter("id", id.toString());
>>                trip.execute();
>>
>>                TestAction action = trip.getActionBean(TestAction.class);
>>                assertEquals(id, action.getId());
>>
>>        }
>> }
>>
>> On Wed, Oct 20, 2010 at 2:56 AM, VANKEISBELCK Remi <r...@rvkb.com> wrote:
>> > Haven't looked yet, but the log might be "normal".
>> >
>> > Could you post a test case that reproduces your bug ? This way I'll have
>> a
>> > closer look if you want.
>> >
>> > Cheers
>> >
>> > Remi
>> >
>> > 2010/10/20 Nathan Maves <nathan.ma...@gmail.com>
>> >>
>> >> Just tested this with logging on 1.5.3.  It looks like there is an
>> >> issue with the {$event} binding but I am not sure that is really an
>> >> issue or not.
>> >>
>> >> Let me know if there is anything else I can do on my end to help out.
>> >>
>> >> Here is the log for 1.5.3
>> >>
>> >>  INFO 2010-10-19 21:46:10,991 net.sourceforge.stripes.util.Log.info():
>> >> Stripes Initialization Complete. Version: 1.5.3, Build: 1.5.3
>> >> DEBUG 2010-10-19 21:46:11,844
>> >> net.sourceforge.stripes.util.Log.debug(): LocalePicker selected
>> >> locale: en_US
>> >> DEBUG 2010-10-19 21:46:11,844
>> >> net.sourceforge.stripes.util.Log.debug(): LocalePicker did not pick a
>> >> character encoding, using default: UTF-8
>> >> DEBUG 2010-10-19 21:46:11,848
>> >> net.sourceforge.stripes.util.Log.debug(): Matched
>> >> /admin/product/{$event}/{product.id} to
>> >> /admin/product/{$event}/{product.id}
>> >>  INFO 2010-10-19 21:46:11,858 net.sourceforge.stripes.util.Log.info():
>> >> Expression validation will be performed using:
>> >> net.sourceforge.stripes.validation.expression.Jsp20ExpressionExecutor
>> >> DEBUG 2010-10-19 21:46:11,859
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage RequestInit
>> >> DEBUG 2010-10-19 21:46:11,862
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage ActionBeanResolution
>> >> DEBUG 2010-10-19 21:46:11,863
>> >> net.sourceforge.stripes.util.Log.debug(): Matched
>> >> /admin/product/{$event}/{product.id} to
>> >> /admin/product/{$event}/{product.id}
>> >> DEBUG 2010-10-19 21:46:11,866
>> >> net.sourceforge.stripes.util.Log.debug(): Matched
>> >> /admin/product/{$event}/{product.id} to
>> >> /admin/product/{$event}/{product.id}
>> >> DEBUG 2010-10-19 21:46:11,871
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage HandlerResolution
>> >> DEBUG 2010-10-19 21:46:11,874
>> >> net.sourceforge.stripes.util.Log.debug(): Resolved event: edit; will
>> >> invoke: ProductEditAction.edit()
>> >> DEBUG 2010-10-19 21:46:11,876
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage BindingAndValidation
>> >> DEBUG 2010-10-19 21:46:11,961
>> >> net.sourceforge.stripes.util.Log.debug(): Loaded validations for
>> >> ActionBean ProductEditAction:
>> >> product.title->ValidationMetadata{required=true},
>> >> product.sku->ValidationMetadata{required=true},
>> >> product.languageId->ValidationMetadata{required=true}
>> >> DEBUG 2010-10-19 21:46:11,963
>> >> net.sourceforge.stripes.util.Log.debug(): Running required field
>> >> validation on bean class
>> >> com.dreamscape.stripes.admin.products.ProductEditAction
>> >> DEBUG 2010-10-19 21:46:11,973
>> >> net.sourceforge.stripes.util.Log.debug(): Could not bind property with
>> >> name [{$event}] to bean of type: ProductEditAction : Bean class
>> >> com.dreamscape.stripes.admin.products.ProductEditAction does not
>> >> contain a property called '{$event}'. As a result the following
>> >> expression could not be evaluated: {$event}
>> >> DEBUG 2010-10-19 21:46:11,982
>> >> net.sourceforge.stripes.util.Log.debug(): Creating
>> >> net.sourceforge.stripes.controller.BindingPolicyManager for class
>> >> com.dreamscape.stripes.admin.products.ProductEditAction with default
>> >> policy null
>> >> DEBUG 2010-10-19 21:46:11,987
>> >> net.sourceforge.stripes.util.Log.debug(): Translated globs [] to regex
>> >> DEBUG 2010-10-19 21:46:11,987
>> >> net.sourceforge.stripes.util.Log.debug(): Translated globs [] to regex
>> >> DEBUG 2010-10-19 21:46:11,989
>> >> net.sourceforge.stripes.util.Log.debug(): Translated globs
>> >> [product.title, product.sku, product.languageId] to regex
>> >> product\.title|product\.sku|product\.languageId
>> >> DEBUG 2010-10-19 21:46:11,991
>> >> net.sourceforge.stripes.util.Log.debug(): Converting 2 value(s) using
>> >> converter net.sourceforge.stripes.validation.IntegerTypeConverter
>> >> DEBUG 2010-10-19 21:46:11,996
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage CustomValidation
>> >> DEBUG 2010-10-19 21:46:11,999
>> >> net.sourceforge.stripes.util.Log.debug(): Looking up localized field
>> >> name with messageKey: product.id
>> >> DEBUG 2010-10-19 21:46:12,005
>> >> net.sourceforge.stripes.util.Log.debug(): The following validation
>> >> errors need to be fixed:
>> >>    -> [product.id] invalid number
>> >> DEBUG 2010-10-19 21:46:12,008
>> >> net.sourceforge.stripes.util.Log.debug(): Transitioning to lifecycle
>> >> stage ResolutionExecution
>> >> DEBUG 2010-10-19 21:46:12,009
>> >> net.sourceforge.stripes.util.Log.debug(): Looking for HttpCache on
>> >> com.dreamscape.stripes.admin.products.ProductEditAction.edit()
>> >> DEBUG 2010-10-19 21:46:12,012
>> >> net.sourceforge.stripes.util.Log.debug(): No URL binding matches
>> >> _default_source_page_
>> >> DEBUG 2010-10-19 21:46:12,013
>> >> net.sourceforge.stripes.util.Log.debug(): No URL binding matches
>> >> _default_source_page_
>> >>
>> >> On Tue, Oct 19, 2010 at 2:19 AM, VANKEISBELCK Remi <r...@rvkb.com>
>> wrote:
>> >> > Hi Nathan,
>> >> >
>> >> > Try turning Stripes logs to debug and see what happens. The binding
>> code
>> >> > is
>> >> > pretty verbose.
>> >> >
>> >> > I've been using clean URLs in mock trips without any problem so far.
>> >> >
>> >> > Cheers
>> >> >
>> >> > Remi
>> >> >
>> >> > 2010/10/19 Nathan Maves <nathan.ma...@gmail.com>
>> >> >>
>> >> >> Ah  the tricky part is that these are no error messages nor
>> >> >> exceptions.  Just unit tests failing when we upgrade stripes.
>> >> >>
>> >> >> This is because the url binding variables are not getting bound in
>> the
>> >> >> MockRoundTrip properly (at all).
>> >> >>
>> >> >> One thing I don't think I tested is removing the {$event} from the
>> >> >> binding.
>> >> >>
>> >> >> @UrlBinding("/admin/product/{$event}/{product.id}")
>> >> >>
>> >> >>
>> >> >> On Mon, Oct 18, 2010 at 7:45 PM, Nikolaos Giannopoulos
>> >> >> <nikol...@brightminds.org> wrote:
>> >> >> > Nathan,
>> >> >> >
>> >> >> > We have limited test cases for our Action Beans at this time.  So
>> far
>> >> >> > no
>> >> >> > issues.
>> >> >> >
>> >> >> > Could you be more specific about the error that is being produced.
>> >> >> >
>> >> >> > --Nikolaos
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > Nathan Maves wrote:
>> >> >> >> Is there anyone else out here using UrlBinding with
>> MockRoundTrip?
>> >> >> >> This is killing me that we can upgrade to the latest Stripes
>> >> >> >> codebase.
>> >> >> >>
>> >> >> >> Nathan
>> >> >> >>
>> >> >> >> On Wed, Oct 13, 2010 at 11:32 AM, Nathan Maves
>> >> >> >> <nathan.ma...@gmail.com>
>> >> >> >> wrote:
>> >> >> >>
>> >> >> >>> We have multiple test cases where we are using UrlBinding with
>> 1.5
>> >> >> >>> and
>> >> >> >>> everything works perfect.
>> >> >> >>>
>> >> >> >>> Here is an example of one of our bindings
>> >> >> >>>
>> >> >> >>> @UrlBinding("/admin/product/{$event}/{product.id}")
>> >> >> >>>
>> >> >> >>> All versions (1.5.1, 1.5.2, 1.5.3) work fine outside of the test
>> >> >> >>> fixture.  It is only within a test using the MockRoundTrip where
>> we
>> >> >> >>> get the error.  The error is a validation error where it claims
>> to
>> >> >> >>> have a conversion issue where the replacement parts are
>> ["Product
>> >> >> >>> Id",
>> >> >> >>> "{product.id}"].  We get this when passing in a parameter or
>> not.
>> >> >> >>>
>> >> >> >>> I did find the following change from 1.5 to 1.5.1 that might
>> have
>> >> >> >>> something to do with it.
>> >> >> >>>
>> >> >> >>> http://www.stripesframework.org/jira/browse/STS-592
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> Nathan
>> >> >> >>>
>> >> >> >>>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> ------------------------------------------------------------------------------
>> >> >> > Download new Adobe(R) Flash(R) Builder(TM) 4
>> >> >> > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
>> >> >> > Flex(R) Builder(TM)) enable the development of rich applications
>> that
>> >> >> > run
>> >> >> > across multiple browsers and platforms. Download your free trials
>> >> >> > today!
>> >> >> > http://p.sf.net/sfu/adobe-dev2dev
>> >> >> > _______________________________________________
>> >> >> > Stripes-users mailing list
>> >> >> > Stripes-users@lists.sourceforge.net
>> >> >> > https://lists.sourceforge.net/lists/listinfo/stripes-users
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> ------------------------------------------------------------------------------
>> >> >> Download new Adobe(R) Flash(R) Builder(TM) 4
>> >> >> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
>> >> >> Flex(R) Builder(TM)) enable the development of rich applications
>> that
>> >> >> run
>> >> >> across multiple browsers and platforms. Download your free trials
>> >> >> today!
>> >> >> http://p.sf.net/sfu/adobe-dev2dev
>> >> >> _______________________________________________
>> >> >> Stripes-users mailing list
>> >> >> Stripes-users@lists.sourceforge.net
>> >> >> https://lists.sourceforge.net/lists/listinfo/stripes-users
>> >> >
>> >> >
>> >> >
>> >> >
>> ------------------------------------------------------------------------------
>> >> > Download new Adobe(R) Flash(R) Builder(TM) 4
>> >> > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
>> >> > Flex(R) Builder(TM)) enable the development of rich applications that
>> >> > run
>> >> > across multiple browsers and platforms. Download your free trials
>> today!
>> >> > http://p.sf.net/sfu/adobe-dev2dev
>> >> > _______________________________________________
>> >> > Stripes-users mailing list
>> >> > Stripes-users@lists.sourceforge.net
>> >> > https://lists.sourceforge.net/lists/listinfo/stripes-users
>> >> >
>> >> >
>> >
>> >
>>
>
>
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to