Skip to content

The view model of SysON representation should be serializable #2232

@adaussy

Description

@adaussy

With the current implementation it is impossible to serialize all SysON view model into resources. One element is not contained in a Resource:

org.eclipse.sirius.emfjson.resource.exception.DanglingHREFException: The Object 'org.eclipse.sirius.components.view.impl.FixedColorImpl@75040b23 (name: AddYourFirstElement) ... is not contained in a resource.(sirius:///7ecebd08-cd5d-4670-a604-5048e7902969).

  at org.eclipse.sirius.emfjson.utils.JsonHelper.handleDanglingHREF(JsonHelper.java:981) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.JsonHelper.getURIFragment(JsonHelper.java:799) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.JsonHelper.getIDREF(JsonHelper.java:930) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeSingleNonContainmentEReference(GsonEObjectSerializer.java:1493) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEReference(GsonEObjectSerializer.java:1349) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEAllStructuralFeatures(GsonEObjectSerializer.java:922) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializationEClass(GsonEObjectSerializer.java:307) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.createData(GsonEObjectSerializer.java:253) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeSingleContainmentEReference(GsonEObjectSerializer.java:1374) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEReference(GsonEObjectSerializer.java:1343) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEAllStructuralFeatures(GsonEObjectSerializer.java:922) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializationEClass(GsonEObjectSerializer.java:307) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.createData(GsonEObjectSerializer.java:253) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeMultipleContainmentEReference(GsonEObjectSerializer.java:1398) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEReference(GsonEObjectSerializer.java:1341) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEAllStructuralFeatures(GsonEObjectSerializer.java:922) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializationEClass(GsonEObjectSerializer.java:307) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.createData(GsonEObjectSerializer.java:253) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeMultipleContainmentEReference(GsonEObjectSerializer.java:1398) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEReference(GsonEObjectSerializer.java:1341) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializeEAllStructuralFeatures(GsonEObjectSerializer.java:922) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serializationEClass(GsonEObjectSerializer.java:307) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.createData(GsonEObjectSerializer.java:253) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serialize(GsonEObjectSerializer.java:207) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at org.eclipse.sirius.emfjson.utils.GsonEObjectSerializer.serialize(GsonEObjectSerializer.java:81) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

  at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:108) ~[gson-2.13.2.jar:na]

  at com.google.gson.Gson.toJson(Gson.java:943) ~[gson-2.13.2.jar:na]

  at org.eclipse.sirius.emfjson.resource.JsonResourceImpl.doSave(JsonResourceImpl.java:382) ~[org.eclipse.sirius.emfjson-2.5.3-20250627.083534-1.jar:na]

Metadata

Metadata

Assignees

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions