> 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,
2547295082

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, 2345075298

com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true,
com.google.gwt.user.client.rpc.XsrfToken/4254043109, 4254043109

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,
3177548746

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, 4159755760

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/22a3d2f0dc034a0fddb879445b39ef4c%40mail.gmail.com.

Reply via email to