You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'll attach a sample project with 2 jar files. 1 jar contains an interface SampleApi and the 2nd jar contains a class SampleImpl that implements this interface. I'll get 2 separate nodes with name SampleApi after scanning with jqassistant. One node is correctly labeled Interface but it is not connected to the SampleImpl node. The other node is not labeled Interface but is connected to the SampleImpl node.
I would expect to get just a single node SampleApi with label Interface and which is connected to the SampleImpl node.
The behavior is by intention: if you're scanning two different versions of the same library it would be a problem if only one node per class name would be created. Therefore class resolution per default is scoped to the artifact which is scanned, i.e. you get the following patterns:
// API Jar
(apiJar:Artifact:Jar)-[:CONTAINS]->(interface:Type:Interface)
// Impl Jar
(implJar:Artifact:Jar)-[:CONTAINS]->(class:Class),
(class)-[:IMPLEMENTS]->(requiredInterface:Type),
(implJar)-[:REQUIRES]->(requiredInterface)
Both nodes "interface" and "requiredInterface" provide a property "fqn" with the same value but only "interface" contains all information about the scanned interface (i.e. annotations, declared methods, fields, etc.)
You can execute a concept to resolve the disconnected graphs:
Hi,
I'll attach a sample project with 2 jar files. 1 jar contains an interface SampleApi and the 2nd jar contains a class SampleImpl that implements this interface. I'll get 2 separate nodes with name SampleApi after scanning with jqassistant. One node is correctly labeled Interface but it is not connected to the SampleImpl node. The other node is not labeled Interface but is connected to the SampleImpl node.
I would expect to get just a single node SampleApi with label Interface and which is connected to the SampleImpl node.
sample sources and binaries: twojars.zip
Torsten
The text was updated successfully, but these errors were encountered: