You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2008/08/05 23:46:44 UTC

[jira] Assigned: (SLING-600) ValueMap#get(String s, T obj) does not work with java.util.Calendar

     [ https://issues.apache.org/jira/browse/SLING-600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger reassigned SLING-600:
---------------------------------------

    Assignee: Felix Meschberger

> ValueMap#get(String s, T obj) does not work with java.util.Calendar
> -------------------------------------------------------------------
>
>                 Key: SLING-600
>                 URL: https://issues.apache.org/jira/browse/SLING-600
>             Project: Sling
>          Issue Type: Bug
>          Components: JCR Resource
>         Environment: Windows XP, Sling Version 2.0.3-incubator-SNAPSHOT (running on Communiqué5)
>            Reporter: Andreas Vogl
>            Assignee: Felix Meschberger
>
> I am using the sling api (Version 2.0.3-incubator-SNAPSHOT) to access properties from a JCR repository and have noticed something strange in the class
> org.apache.sling.api.resource.ValueMap
> The method "<T> T get(java.lang.String name, T defaultValue)" allows to pass a default value. It will return the default value if the property "name" does not exist in the map. This works fine for many types such as String, Long and Boolean - but apparently it does not work for Calendar properties.
> The problem is that when i pass a default value of type java.util.Calendar, the get method always returns the default value regardless wether there is a property "name" or not. Wether the property "name" is of type "Date" (in the JCR repository) or of type "String" does not seem to make a difference.
> The following example code can be used to reproduce the problem:
>   ValueMap map = resource.adaptTo(ValueMap.class);
>   // this does not work
>   Calendar defaultCalendar = new GregorianCalendar();
>   Calendar dateValue = map.get("dateProperty", defaultCalendar); // <- always returns defaultCalendar
>   log.debug("dateProperty with default = "+(dateValue == null ? "null" : dateValue.get(Calendar.MONTH)+"."+dateValue.get(Calendar.YEAR)));
> 		
>   // without default value - works fine
>   dateValue = map.get("dateProperty", Calendar.class); // <- correctly returns the dateProperty value
>   log.debug("dateProperty no default = "+(dateValue == null ? "null" : dateValue.get(Calendar.MONTH)+"."+dateValue.get(Calendar.YEAR)));

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.