-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
tech-debtTechnical debt and code quality improvementsTechnical debt and code quality improvements
Description
Description
Requirement, RequirementRelation, and TraceabilityLink have no equals()/hashCode() implementations. They rely on JPA's default object identity, which is fragile:
- Two detached
Requirementinstances with the sameidare not equal in aSet AnalysisService.impactAnalysis()returnsSet<Requirement>— deduplication relies on object identity, not business identity- Collection membership checks are unreliable across JPA session boundaries
Recommendation: Implement equals/hashCode based on the business key (uid for Requirement, natural key composite for RequirementRelation and TraceabilityLink).
Location: Requirement.java, RequirementRelation.java, TraceabilityLink.java
Traced Requirements
- GC-A001: Requirement Creation
Impact
Correctness — subtle bugs in set operations, deduplication, and caching.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
tech-debtTechnical debt and code quality improvementsTechnical debt and code quality improvements