yeah not needed for toOptionalString() but why not for toOptionalBoolean()?

On Wed, Nov 16, 2011 at 3:39 PM, Martin Grigorov <[email protected]> wrote:
> Hi,
>
> On Wed, Nov 16, 2011 at 11:50 AM, vineet semwal
> <[email protected]> wrote:
>> martin i too think tooptionalMethods in StringValue should behave the
>> way llia is saying ie. they should return null if text is empty or
>> null..
>
> Hm. Not quite convinced.
> ?a=b&c=&e=f is a valid query string and 'c' has value "" while 'g' has null
>
> maybe just some of toOptionalXyz() methods should use Strings.isEmpty()
> e.g. toOptionalString() and toOptionalBoolean() should not check for ""
>
>> for eg. currently  public final Long toOptionalLong() throws
>> StringValueConversionException
>>        {
>>                return (text == null) ? null : toLongObject();
>>        }
>>
>> can be changed to
>>  public final Long toOptionalLong() throws StringValueConversionException
>>        {
>>                return (Strings.isEmpty(text)) ? null : toLongObject();
>>        }
>>
>> On Wed, Nov 16, 2011 at 2:57 PM, Martin Grigorov <[email protected]> 
>> wrote:
>>> Hi,
>>>
>>> At least this is what the javadoc says:
>>> "Convert to object types, returning null if text is null."
>>>
>>> I think the more appropriate method for you is
>>> org.apache.wicket.util.string.StringValue.toLong(long) but it also
>>> throws exceptions if the provided value is empty string.
>>>
>>> On Wed, Nov 16, 2011 at 11:00 AM, Илья Нарыжный <[email protected]> wrote:
>>>> Hello,
>>>>
>>>> I have page mounted as @MountPath("/page/#{pageId}")
>>>>
>>>> Also I have following code:
>>>>
>>>> public ViewPagePage(PageParameters params)
>>>>    {
>>>>        this(getEntityPkFor(params, Page.class, 1)); //1 - is default ID if
>>>> PK in url was not found
>>>>    }
>>>>
>>>> and:
>>>>
>>>> protected static Long getEntityPkFor(PageParameters params, Class clazz,
>>>> Long defaultPk)
>>>>    {
>>>>        String pkFieldName = EntitiesDescriptor.get().getPkFieldName(clazz);
>>>>        Long ret=null;
>>>>        if(pkFieldName!=null)
>>>>        {
>>>>            ret = params.get(pkFieldName).toOptionalLong();
>>>>        }
>>>>        if(ret==null)
>>>>        {
>>>>            ret = params.get("id").toOptionalLong();
>>>>        }
>>>>        return ret==null?defaultPk:ret;
>>>>    }
>>>>
>>>> But(!!!) if ID was not put to the URL I have following Exception:
>>>>
>>>> Caused by: org.apache.wicket.util.string.StringValueConversionException:
>>>> Unable
>>>> to convert '' to a Long value
>>>>        at
>>>> org.apache.wicket.util.string.StringValue.toLongObject(StringValue.ja
>>>> va:589)
>>>>        at
>>>> org.apache.wicket.util.string.StringValue.toOptionalLong(StringValue.
>>>> java:657)
>>>>        at ru.ydn.wicket.EntityPage.getEntityPkFor(EntityPage.java:57)
>>>>        at ru.ydn.wicket.web.ViewPagePage.<init>(ViewPagePage.java:84)
>>>>        ... 37 more
>>>> Caused by: java.lang.NumberFormatException: For input string: ""
>>>>        at
>>>> java.lang.NumberFormatException.forInputString(NumberFormatException.
>>>> java:48)
>>>>        at java.lang.Long.parseLong(Long.java:431)
>>>>        at java.lang.Long.<init>(Long.java:678)
>>>>        at
>>>> org.apache.wicket.util.string.StringValue.toLongObject(StringValue.ja
>>>> va:585)
>>>>
>>>> The problem in following code:
>>>>
>>>> public final Long toOptionalLong() throws StringValueConversionException
>>>>    {
>>>>        return (text == null) ? null : toLongObject();
>>>>    }
>>>>
>>>> text should be checked for emptiness - not only null
>>>>
>>>> What do you think?
>>>>
>>>> Thanks,
>>>>
>>>> Ilia
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Grigorov
>>> jWeekend
>>> Training, Consulting, Development
>>> http://jWeekend.com
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>>
>> --
>> thank you,
>>
>> regards,
>> Vineet Semwal
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>



-- 
thank you,

regards,
Vineet Semwal

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to