Prioritätsspalte leer für Produkte ohne ProductOnClient-Eintrag (Regression seit 4.3.22.1)
Verfasst: 30 Sep 2026, 19:20
Seit dem Refactoring im Commit "Split ProductTableModified into two classes" (15.07.2026, Version 4.3.22.1)
ist in der Produkttabelle eines Clients die Spalte "Priorität" bei allen Produkten leer, die auf dem
ausgewählten Client keinen ProductOnClient-Eintrag haben. Bis Version 4.3.4.x war die Spalte für
jedes Produkt gefüllt.
Ursache: Die frühere Methode InstallationStateTableModel.completeProductWithDefaults() hat für Produkte
ohne Eintrag die Priorität aus globalProductInfos übernommen. Die Nachfolgemethode
ProductConfigurationEngine.completeWithDefaults() mischt nur noch ProductState.getDefaultProductState()
ein, und dort ist die Priorität ein leerer String. produceVisualStatesFromExistingEntries() setzt die
Priorität weiterhin, aber nur für Produkte, die ein ProductOnClient-Objekt besitzen.
Lösungsvorschlag: In completeWithDefaults() für ProductState.KEY_PRODUCT_PRIORITY den Wert aus
globalProductInfos.get(productId).get("priority") verwenden statt des Standardwerts, wie es das alte
Modell getan hat.
Beobachtet mit configed 4.3.24.13 gegen opsiconfd 4.3.59.1.
ist in der Produkttabelle eines Clients die Spalte "Priorität" bei allen Produkten leer, die auf dem
ausgewählten Client keinen ProductOnClient-Eintrag haben. Bis Version 4.3.4.x war die Spalte für
jedes Produkt gefüllt.
Ursache: Die frühere Methode InstallationStateTableModel.completeProductWithDefaults() hat für Produkte
ohne Eintrag die Priorität aus globalProductInfos übernommen. Die Nachfolgemethode
ProductConfigurationEngine.completeWithDefaults() mischt nur noch ProductState.getDefaultProductState()
ein, und dort ist die Priorität ein leerer String. produceVisualStatesFromExistingEntries() setzt die
Priorität weiterhin, aber nur für Produkte, die ein ProductOnClient-Objekt besitzen.
Lösungsvorschlag: In completeWithDefaults() für ProductState.KEY_PRODUCT_PRIORITY den Wert aus
globalProductInfos.get(productId).get("priority") verwenden statt des Standardwerts, wie es das alte
Modell getan hat.
Beobachtet mit configed 4.3.24.13 gegen opsiconfd 4.3.59.1.