archi icon indicating copy to clipboard operation
archi copied to clipboard

Export to Open Exchange removes elbows on sub-lines

Open Gilesey opened this issue 6 months ago • 2 comments

Archi Version

5.6

Operating System

Windows 11

Archi Plug-ins

None

Description

When exporting a view to Open Exchange XML which shows an association line coming from another association line, where the second line has bend points, those bend points are lost. Example archimate file and XML file attached in zip.* See at the end, there should be bendpoints on the second connection.

*I would drop an archimate file and XML file, but this github UI says .archimate and .xml files ARENT allowed, in either the Description or the steps! However, ZIPS are - maybe you need to change the filters in the config? or change the instructions to drop zip instead.

multibend.zip

Steps to reproduce

Create three business objects A B C

Create an association line between A and B called A_B drag it so it has bends and introduce bendyness

Create another association line between A_B and C called A_B_C drag A_B_C so that it has bends and introduce bendyness

Export to Open XML View the Open XML or import back into Archi or Mood Business Architect (pre-release)

Expected: Both lines have bendpoints

Actual: only A_B has bendpoints A_B_C doesn't have bend points.

Gilesey avatar Jun 04 '25 07:06 Gilesey

Hi, this is a known issue as commented in the code ("TODO: Doesn't work for connection->connection"):

https://github.com/archimatetool/archi/blob/fa5ec1a97cfe2c86863f5f40251a05b2392376f9/org.opengroup.archimate.xmlexchange/src/org/opengroup/archimate/xmlexchange/XMLModelExporter.java#L954-L972

Perhaps someone might take a look at it.

I would drop an archimate file and XML file, but this github UI says .archimate and .xml files ARENT allowed, in either the Description or the steps! However, ZIPS are - maybe you need to change the filters in the config? or change the instructions to drop zip instead.

This is a limitation imposed by GitHub.

Phillipus avatar Jun 04 '25 07:06 Phillipus

Hi, this is a known issue as commented in the code ("TODO: Doesn't work for connection->connection"):

void writeConnectionBendpoints(IDiagramModelConnection connection, Element connectionElement) { // TODO: Doesn't work for connection->connection if(connection.getSource() instanceof IDiagramModelConnection || connection.getTarget() instanceof IDiagramModelConnection) { return; }

Thanks Phil! Well, that would explain it. This made me chuckle, as a principle engineer of a development team, it always irks me when I see a comment like this because I get it doesn't work, but whoever wrote it probably knew WHY it didn't work, and I have a motto "Help your future self". i.e. explain in the comment why it doesn't work and maybe how it could be fixed.

I would drop an archimate file and XML file, but this github UI says .archimate and .xml files ARENT allowed, in either the Description or the steps! However, ZIPS are - maybe you need to change the filters in the config? or change the instructions to drop zip instead.

This is a limitation imposed by GitHub.

The instructions in the issue report could be manicured to suggest dropping a zip file?

Maybe I should learn Java and the whole Java eco system so I can help fix this. That would be neat eh?

Gilesey avatar Jun 04 '25 07:06 Gilesey