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

Scott O'Bryan resolved TRINIDAD-2155.
-------------------------------------

    Resolution: Fixed
    
> Incomplete serialization implementation in 
> AccessibilityProfile$SerializableAccessibilityProfile
> ------------------------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-2155
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2155
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 2.0.2-core
>            Reporter: Prakash Udupa
>            Assignee: Scott O'Bryan
>             Fix For: 2.0.2-core
>
>         Attachments: TRINIDAD-2155_patch_over_trunk.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Issue:
> --------
> Regarding the serializable  inner class of AccessibilityProfile...
> private static final class SerializableAccessibilityProfile extends 
> AccessibilityProfile implements Serializable
> The super class no-arg constructor has private access, this will lead to the 
> following error...
> Exception in thread "main" java.io.InvalidClassException: 
> org.apache.myfaces.trinidad.context.AccessibilityProfile$SerializableAccessibilityProfile;
>  
> org.apache.myfaces.trinidad.context.AccessibilityProfile$SerializableAccessibilityProfile;
>  no valid constructor
>       at 
> java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:713)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1733)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>       at client.AccSerialTest.main(AccSerialTest.java:22)
> Caused by: java.io.InvalidClassException: 
> org.apache.myfaces.trinidad.context.AccessibilityProfile$SerializableAccessibilityProfile;
>  no valid constructor
>       at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:471)
>       at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>       at client.AccSerialTest.main(AccSerialTest.java:19)
> Testcase:
> --------------
> package client;
> import java.io.FileInputStream;
> import java.io.FileOutputStream;
> import java.io.ObjectInputStream;
> import java.io.ObjectOutputStream;
> import org.apache.myfaces.trinidad.context.AccessibilityProfile;
> public class AccSerialTest
> {
>   public static void main(String[] args)
>     throws Exception
>   {
>     System.out.println("SERIALIZING");
>     AccessibilityProfile acc = AccessibilityProfile.getDefaultInstance();
>     ObjectOutputStream os = new ObjectOutputStream(new 
> FileOutputStream("c:\\Temp\\serial.txt"));
>     os.writeObject(acc);
>     System.out.println("DE-SERIALIZING");
>     ObjectInputStream is = new ObjectInputStream(new 
> FileInputStream("c:\\Temp\\serial.txt"));
>     is.readObject();
>   }
> }
> Fix:
> -----
> Make the constructor protected. Patch attached.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to