| Summary: | Non-recoverable error while moving a opened Test Case | ||
|---|---|---|---|
| Product: | [Technology] Jubula | Reporter: | Tim Winselmann <tim.winselmann> |
| Component: | Core | Assignee: | Zeb Ford-Reitz <zeb.ford-reitz> |
| Status: | CLOSED FIXED | QA Contact: | Oliver Goetz <Oliver.Goetz> |
| Severity: | blocker | ||
| Priority: | P3 | CC: | zeb.ford-reitz |
| Version: | 0.9.0 | ||
| Target Milestone: | 1.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 342406 | ||
|
Description
Tim Winselmann
The problem seems to be caused by a combination of EntityManager management, JFace TreeViewers, and Decorators. When the Test Case Editor is opened, the Workbench's Managed Decorator is triggered. As a result, the elements in the Tree Viewer in the TCB are updated (the TreeItems receive new data). This confuses EclipseLink, because there is a "new" object (not Java identical, or ==, to any other managed object) in the EntityManager. This is what causes the error: At some point later, a JPA query is executed, and the pre-query flush causes an exception because the PK constraint for the Test Case (the object that is recognized by EclipseLink as "new") is violated. A possible fix might be to somehow separate the Decorators by EntityManager. This would mean that each Editor has its own set of Decorators, and the views that use the master session would share a set of Decorators. Bug fixed, tested manually |