I am currently working on a pipes and filter architecture which is visualized by graphiti. The business objects are modeled using emf. The generated model code for the business objects is in a seperate eclipse plugin. We would like to make certain modeled attributes/references from the business objects non-changeable (no setters) and also model this in emf. However, if we set an attributes/references to non-changeable, then eclipse shows an IllegalValueException at the line in the xmi serialized diagram (the .diagram file) where that business object is serialized. If I set the attributes/references to changeable (public setter) the IllegalValueException disappears and everything works fine.
My questions are the following:
1. Is there a way to have non-changeable attributes/references?
2. Does graphiti/emf need the (public setters) to reinitialize the objects after deserializing them or is there another problem that causes the IllegalValueException?
The Graphiti Diagram Editor simply can't open the .diagram file anymore. The error shown in attachment "Java - Eclipse _017.png" occurs. When I look at the .diagram file in the default text editor the error shown in attachment "Java - Eclipse _018.png" is displayed.