Can you share the full contents of Line and Box? Or at least their class 
hierarchy and fields - methods are not important.

Only fields (and inheritance) are considered for RPC serialization - a 
method that returns a new instance won't cause that instance to be 
serialized (since it isn't part of the object's state).

Something has definitely changed since your last email - "Line$STATUS" was 
present before, but isn't now. Was that a deliberate change?

On Thursday, December 19, 2024 at 4:43:59 PM UTC-6 [email protected] 
wrote:

> > The consequence is that your enums should never ever have changing data 
> stored
>
>  
>
> Got it.  I never modify the enum via code.  That would be a bit strange.
>
>  
>
> > Maybe Line isn't the only class that is missing in the policy file?
>
>  
>
> Yes, there are others which are missing.
>
>  
>
> > As a workaround you can always add dummy methods to your GWT-RPC 
> service, e.g. 
>
> > Line getDummyLine(), to make a class visible to GWT
>
>  
>
> I added this method to com.propfinancing.puzzle.slitherlink.Box:
>
>   *public* Line gwtGetLine() {
>
>     *return* *new* Line();
>
>   }
>
>  
>
> And the generated .gwt.rpc has Box, but still does not have Line:
>
>  
>
> @FinalFields, true
>
> *com*._3dmathpuzzles.play.client.GetPuzzleService, false, false, false, 
> false, _, 4203465842
>
> *com*._3dmathpuzzles.slitherlink.RectangularWithDiagonalsPuzzle, true, 
> true, false, false, *com*
> ._3dmathpuzzles.slitherlink.RectangularWithDiagonalsPuzzle/2547295082 
> <(254)%20729-5082>, 2547295082 <(254)%20729-5082>
>
> com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException, true, 
> true, true, true, 
> com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533, 
> 3936916533
>
> com.google.gwt.user.client.rpc.RpcTokenException, true, true, false, 
> false, com.google.gwt.user.client.rpc.RpcTokenException/2345075298 
> <(234)%20507-5298>, 2345075298 <(234)%20507-5298>
>
> com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true, 
> com.google.gwt.user.client.rpc.XsrfToken/4254043109 <(425)%20404-3109>, 
> 4254043109 <(425)%20404-3109>
>
> com.propfinancing.puzzle.Puzzle, true, false, false, false, 
> com.propfinancing.puzzle.Puzzle/1723715424, 1723715424
>
> com.propfinancing.puzzle.slitherlink.Box, true, true, false, false, 
> com.propfinancing.puzzle.slitherlink.Box/1302152982, 1302152982
>
> com.propfinancing.puzzle.slitherlink.Box$STATE, true, true, false, false, 
> com.propfinancing.puzzle.slitherlink.Box$STATE/1639054469, 1639054469
>
> com.propfinancing.puzzle.slitherlink.BoxWithDiagonals, true, true, false, 
> false, com.propfinancing.puzzle.slitherlink.BoxWithDiagonals/2774485663, 
> 2774485663
>
> com.propfinancing.puzzle.slitherlink.Component, true, false, false, false, 
> com.propfinancing.puzzle.slitherlink.Component/4011233562, 4011233562
>
> com.propfinancing.puzzle.slitherlink.NumberedBox, true, true, false, 
> false, com.propfinancing.puzzle.slitherlink.NumberedBox/1782628205, 
> 1782628205
>
> com.propfinancing.puzzle.slitherlink.Puzzle, true, false, false, false, 
> com.propfinancing.puzzle.slitherlink.Puzzle/2584703185, 2584703185
>
> com.propfinancing.puzzle.slitherlink.RectangularPuzzle, true, false, 
> false, false, com.propfinancing.puzzle.slitherlink.RectangularPuzzle/
> 3177548746 <(317)%20754-8746>, 3177548746 <(317)%20754-8746>
>
> com.propfinancing.puzzle.slitherlink.RectangularWithDiagonalsPuzzle, true, 
> false, false, false, 
> com.propfinancing.puzzle.slitherlink.RectangularWithDiagonalsPuzzle/3793384887,
>  
> 3793384887
>
> java.lang.Exception, true, false, true, false, 
> java.lang.Exception/1920171873, 1920171873
>
> java.lang.RuntimeException, true, false, true, false, 
> java.lang.RuntimeException/515124647, 515124647
>
> java.lang.String, true, true, true, true, java.lang.String/2004016611, 
> 2004016611
>
> java.lang.Throwable, true, false, true, false, 
> java.lang.Throwable/2953622131, 2953622131
>
> java.util.ArrayList, true, true, false, false, java.util.ArrayList/
> 4159755760 <(415)%20975-5760>, 4159755760 <(415)%20975-5760>
>
> java.util.HashMap, true, true, false, false, java.util.HashMap/1797211028, 
> 1797211028
>
> java.util.LinkedHashMap, true, true, false, false, 
> java.util.LinkedHashMap/3008245022, 3008245022
>
>  
>
>  
>
> Thank you,
>
>  Neil 
>
>  
>
> --
>
> Neil Aggarwal, (972) 834-1565, http://www.propfinancing.com
>
> We offer 30 year loans on single family houses!
>
>  
>
> *From:* [email protected] <[email protected]> *On 
> Behalf Of *Jens
> *Sent:* Thursday, December 19, 2024 3:41 PM
> *To:* GWT Users <[email protected]>
> *Subject:* Re: Class not included in the set of types for RPC
>
>  
>
>  
>
> Neil Aggarwal schrieb am Donnerstag, 19. Dezember 2024 um 17:12:06 UTC+1:
>
> > Enumeration constants are serialized as a name only; none of the field 
> values are serialized.
>
> What are the consequences of not having the values?
>
> The consequence is that your enums should never ever have changing data 
> stored. For example MyEnum.PERSON.getFriends().add(friend) is possible in 
> Java but makes the enum constant mutable, which is bad. If enum constants 
> are immutable then serializing the name or ordinal is enough to reconstruct 
> the state.
>
>  
>
> > Can you confirm that the policy file does include Line
>
> It does not have Line in it:
>
> Does Line satisfy all rules? Default constructor, implements Serializable 
> and only has Serializable fields? If yes, take a look at your GWT-RPC 
> service method(s) declaration. Starting from the return type and the 
> parameter types of the GWT-RPC method(s), will Line be discoverable 
> directly or is it hidden behind some interface or super class or possibly 
> class Object and GWT would need to find all the candidates that match these 
> interfaces/super classes? If Line is hidden, do the interface / super class 
> follow the rules? Maybe Line isn't the only class that is missing in the 
> policy file?
>
>  
>
> As a workaround you can always add dummy methods to your GWT-RPC service, 
> e.g. Line getDummyLine(), to make a class visible to GWT (or a Dummy class 
> with a Line field and then use Dummy as return type).
>
>  
>
> -- J.
>
>  
>
>  
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion visit 
> https://groups.google.com/d/msgid/google-web-toolkit/d7ee6beb-815d-44ab-8a3f-c292ee198e27n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/google-web-toolkit/d7ee6beb-815d-44ab-8a3f-c292ee198e27n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/google-web-toolkit/3616cb64-0a3e-4143-9ea0-0caca6c564cfn%40googlegroups.com.

Reply via email to