You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Vjeran Marcinko (JIRA)" <ta...@jakarta.apache.org> on 2005/08/21 13:49:55 UTC

[jira] Created: (TAPESTRY-576) No DataSqueezer for JDK1.5 enums - unsqueezing fails

No DataSqueezer for JDK1.5 enums - unsqueezing fails
----------------------------------------------------

         Key: TAPESTRY-576
         URL: http://issues.apache.org/jira/browse/TAPESTRY-576
     Project: Tapestry
        Type: Bug
  Components: Framework  
    Versions: 4.0    
    Reporter: Vjeran Marcinko
    Priority: Critical


Currently, DirectLink, or some other component that use DataSqueezers 
cannot work with JDK1.5 enums, since it fails during unsqueezing such value. 
Implementing such DataSqueezer should be quite straighforward since all 
JDK1.5 enums have "name" property:
      String name();
      and
      valueOf(String name);
      methods for "squeezing" and "unsqueezing" such enum value. Currently 
it gets squeezed in serialized form, and cannot get unsqueezed.

      Here si the exception that occurrs :

      Unable to decode stream: java.lang.NullPointerException

      java.lang.NullPointerException

      Stack Trace:
        a.. 
org.apache.tapestry.util.io.ResolvingObjectInputStream.resolveClass(ResolvingObjectInputStream.java:50)
        b.. 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
        c.. 
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
        d.. java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1647)
        e.. 
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
        f.. java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
        g.. 
org.apache.tapestry.util.io.SerializableAdaptor.unsqueeze(SerializableAdaptor.java:125)
        h.. 
$SqueezeAdaptor_105d8ceb4df.unsqueeze($SqueezeAdaptor_105d8ceb4df.java)
        i.. 
org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
        j.. 
org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:201)
        k.. 
$DataSqueezer_105d8ceb3b1.unsqueeze($DataSqueezer_105d8ceb3b1.java)
        l.. 
org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:168)
        m.. 
$LinkFactory_105d8ceb3b3.extractListenerParameters($LinkFactory_105d8ceb3b3.java)
        n.. 
org.apache.tapestry.engine.DirectService.service(DirectService.java:128)



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


[jira] Commented: (TAPESTRY-576) No DataSqueezer for JDK1.5 enums - unsqueezing fails

Posted by "Vjeran Marcinko (JIRA)" <ta...@jakarta.apache.org>.
    [ http://issues.apache.org/jira/browse/TAPESTRY-576?page=comments#action_12320263 ] 

Vjeran Marcinko commented on TAPESTRY-576:
------------------------------------------

Although this bug with deserialization of JDK1.5 enum is fixed in beta-5, I still think that it would be useful to have DataSqueezer for enum values, thus not being treated as others unknown instances, because they are currently squeezed as long byte array, such as :
<input type="hidden" name="For" value="OrO0ABX5yAB5oci50aXMuZGV2cmVwby51c2Vycy5Vc2VyJFJvbGUAAAAAAAAAABIAAHhyAA5qYXZhLmxhbmcuRW51bQAAAAAAAAAAEgAAeHB0AARST09U"/>
whereas they have such a nice name() and valueOf(name) pair of methods, like perfect for squeezing/unsqueezing such values.


> No DataSqueezer for JDK1.5 enums - unsqueezing fails
> ----------------------------------------------------
>
>          Key: TAPESTRY-576
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-576
>      Project: Tapestry
>         Type: Bug
>   Components: Framework
>     Versions: 4.0
>     Reporter: Vjeran Marcinko
>     Priority: Critical

>
> Currently, DirectLink, or some other component that use DataSqueezers 
> cannot work with JDK1.5 enums, since it fails during unsqueezing such value. 
> Implementing such DataSqueezer should be quite straighforward since all 
> JDK1.5 enums have "name" property:
>       String name();
>       and
>       valueOf(String name);
>       methods for "squeezing" and "unsqueezing" such enum value. Currently 
> it gets squeezed in serialized form, and cannot get unsqueezed.
>       Here si the exception that occurrs :
>       Unable to decode stream: java.lang.NullPointerException
>       java.lang.NullPointerException
>       Stack Trace:
>         a.. 
> org.apache.tapestry.util.io.ResolvingObjectInputStream.resolveClass(ResolvingObjectInputStream.java:50)
>         b.. 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
>         c.. 
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
>         d.. java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1647)
>         e.. 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
>         f.. java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
>         g.. 
> org.apache.tapestry.util.io.SerializableAdaptor.unsqueeze(SerializableAdaptor.java:125)
>         h.. 
> $SqueezeAdaptor_105d8ceb4df.unsqueeze($SqueezeAdaptor_105d8ceb4df.java)
>         i.. 
> org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>         j.. 
> org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:201)
>         k.. 
> $DataSqueezer_105d8ceb3b1.unsqueeze($DataSqueezer_105d8ceb3b1.java)
>         l.. 
> org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:168)
>         m.. 
> $LinkFactory_105d8ceb3b3.extractListenerParameters($LinkFactory_105d8ceb3b3.java)
>         n.. 
> org.apache.tapestry.engine.DirectService.service(DirectService.java:128)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


[jira] Resolved: (TAPESTRY-576) No DataSqueezer for JDK1.5 enums - unsqueezing fails

Posted by "Howard M. Lewis Ship (JIRA)" <ta...@jakarta.apache.org>.
     [ http://issues.apache.org/jira/browse/TAPESTRY-576?page=all ]
     
Howard M. Lewis Ship resolved TAPESTRY-576:
-------------------------------------------

    Resolution: Duplicate

> No DataSqueezer for JDK1.5 enums - unsqueezing fails
> ----------------------------------------------------
>
>          Key: TAPESTRY-576
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-576
>      Project: Tapestry
>         Type: Bug
>   Components: Framework
>     Versions: 4.0
>     Reporter: Vjeran Marcinko
>     Priority: Critical

>
> Currently, DirectLink, or some other component that use DataSqueezers 
> cannot work with JDK1.5 enums, since it fails during unsqueezing such value. 
> Implementing such DataSqueezer should be quite straighforward since all 
> JDK1.5 enums have "name" property:
>       String name();
>       and
>       valueOf(String name);
>       methods for "squeezing" and "unsqueezing" such enum value. Currently 
> it gets squeezed in serialized form, and cannot get unsqueezed.
>       Here si the exception that occurrs :
>       Unable to decode stream: java.lang.NullPointerException
>       java.lang.NullPointerException
>       Stack Trace:
>         a.. 
> org.apache.tapestry.util.io.ResolvingObjectInputStream.resolveClass(ResolvingObjectInputStream.java:50)
>         b.. 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
>         c.. 
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
>         d.. java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1647)
>         e.. 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
>         f.. java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
>         g.. 
> org.apache.tapestry.util.io.SerializableAdaptor.unsqueeze(SerializableAdaptor.java:125)
>         h.. 
> $SqueezeAdaptor_105d8ceb4df.unsqueeze($SqueezeAdaptor_105d8ceb4df.java)
>         i.. 
> org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>         j.. 
> org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:201)
>         k.. 
> $DataSqueezer_105d8ceb3b1.unsqueeze($DataSqueezer_105d8ceb3b1.java)
>         l.. 
> org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:168)
>         m.. 
> $LinkFactory_105d8ceb3b3.extractListenerParameters($LinkFactory_105d8ceb3b3.java)
>         n.. 
> org.apache.tapestry.engine.DirectService.service(DirectService.java:128)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org