Major
Nice to have
Detail
#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
Bugfix
Der Versuch der Ausgabe einer Fehlermeldung führt zu einer 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.aquireStartupContext(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)
Das Problem behebt sich nach Neustart nach Ablauf des Token-Timeouts.
Lösung
- Bei der Konstruktion einer Fehlermeldung nicht explizit auf MetaLabelProvider zugreifen.
Test
Token-Konflikt provozieren und prüfen, dass noch dieselbe Fehlermeldung angezeigt wird. Z.B. in zwei Sessions dasselbe Objekt bearbeiten.