Skip to content
This repository was archived by the owner on Jul 10, 2024. It is now read-only.
This repository was archived by the owner on Jul 10, 2024. It is now read-only.

java:PackageDependency creates DEPENDS_ON_PACKAGE instead of DEPENDS_ON relationships #44

@JohT

Description

@JohT

Bug Description

While migrating from jqa-commandline-tool 1.12.2 to jqa-commandline-tool 2.0.3 I noticed that the concept java:PackageDependency now behaves differently:

At least for me this change has a great impact on a lot of queries and took some time to track down.

Expected Behaviour

The easiest solution for at least me would be to set the behavior back to DEPENDS_ON as it was.
But I'm also sure that there is a good reason for changing the relationship name to e.g. be more "type safe".

Suggestions and Ideas

  • How about adding DEPENDS_ON alongside to the new DEPENDS_ON_PACKAGE relationship within an additional MERGE in the implementation of the concept java:PackageDependency?
  • Would it make sense to create a concept like e.g. "java:LegacePackageDependency" to be able to choose and document that in the release notes?
  • Or would it be possible to mention this in e.g. the release notes and maybe another migration guide?
  • A workaround is to use a cypher query to create DEPENDS_ON relationships based on the new DEPENDS_ON_PACKAGE like:
    MATCH (a:Package)-[existing:DEPENDS_ON_PACKAGE]->(b:Package)
    MERGE (a)-[created:DEPENDS_ON]->(b)

Environment

  • JDK: 17
  • OS: MacOs

How can we reproduce the bug?

How could we have prevented this Bug?

Changes in concept implementations can also lead to "breaking changes" for some users. Of course these can be valuable. In that case it would be great to have some kind of migration guide or aggregated release notes with the breaking changes.

Definition of Done for the Implementers

  • We got a final feedback from the reporting user (if applicable)
  • Unittests have been written (if applicable)
  • Integration tests have been written (if applicable)
  • Test coverage is the same or even better then before (if applicable)
  • Documentation has been written (if applicable)
  • Added a note on the new feature to the release notes (if applicable)

Metadata

Metadata

Assignees

Labels

type:bugSoftware shows incorrect behavior or delivers incorrect results

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions