Yes, please do.

Thanks

Remi

2010/10/26 Nathan Maves <nathan.ma...@gmail.com>

> 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
>
>
------------------------------------------------------------------------------
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