Skip to content

[import/export] Resolve cross-document references for nested SysML files #2486

Description

@cbrun

Description

Cross-document references are broken after uploading a SysML document whose filename contains a directory, for example Function/FunctionsPackage.sysml.

During upload, the sanitized JSON is temporarily based on sirius:///Function/FunctionsPackage.sysml, so a reference to another document can be serialized as ../<target-document-id>#<element-id>. The source document is later persisted under its flat URI sirius:///<source-document-id>. When the document is reloaded, the parent-relative reference is resolved from the wrong base URI and remains an EMF proxy.

In SysON, this can produce labels such as import null::* and textual exports containing element UUIDs instead of package names.

The upstream root cause is tracked in Sirius Web #6852.

Expected behavior

Cross-document references remain resolvable after persistence and reload, regardless of directory segments in the uploaded filename.

Proposed fix

Add a SysON-scoped loading workaround that normalizes parent-relative references when loading flat persistent resource URIs. Keep the workaround limited to SysON while the upstream Sirius Web fix is being developed.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions