major
nice-to-have
minor
#25217
Layout-Export führt zu invaliden Komponenten-Referenzen bei Referenzierung einer bestehenden Komponente
#25327
Modell-Editor: Falsche Kompositionsmarker, wenn Container-Typ in Diagramm von Content-Typ gezogen wird
defect
Attempting to display an error message results in an IllegalStateException:
java.lang.IllegalStateException: com.top_logic.layout.provider.LabelProviderService module not started.
at com.top_logic.basic.module.ModuleUtil.invalidStateNotStarted(ModuleUtil.java:1014)
at com.top_logic.basic.module.BasicRuntimeModule.getImplementationInstance(BasicRuntimeModule.java:86)
at com.top_logic.layout.provider.LabelProviderService.getInstance(LabelProviderService.java:456)
at com.top_logic.layout.provider.MetaLabelProvider.getLabel(MetaLabelProvider.java:39)
at com.top_logic.base.locking.token.TokenService.createDetailedLockConflictError(TokenService.java:92)
at com.top_logic.base.locking.token.ConfiguredTokenService.createDetailedLockConflictError(ConfiguredTokenService.java:59)
at com.top_logic.base.locking.token.PersistentTokenService.reportLockConflict(PersistentTokenService.java:347)
at com.top_logic.base.locking.token.PersistentTokenService.lockToken(PersistentTokenService.java:324)
at com.top_logic.base.locking.token.PersistentTokenService.acquire(PersistentTokenService.java:257)
at com.top_logic.base.locking.LockImpl.lock(LockImpl.java:56)
at com.top_logic.base.locking.Lock.tryLock(Lock.java:63)
at com.top_logic.util.AbstractStartStopListener.acquireStartupContext(AbstractStartStopListener.java:596)
at com.top_logic.util.AbstractStartStopListener.startTokenSystem(AbstractStartStopListener.java:573)
at com.top_logic.util.AbstractStartStopListener$2.run(AbstractStartStopListener.java:274)
at com.top_logic.util.AbstractStartStopListener$2.run(AbstractStartStopListener.java:266)
The problem resolves itself after a restart once the token timeout has expired.
Solution
- Do not explicitly access MetaLabelProvider when constructing an error message.
Test
Trigger a token conflict and verify that the same error message is still displayed. For example, edit the same object in two sessions.