Skip to content

Conversation

@jdsmithsos
Copy link
Contributor

@jdsmithsos jdsmithsos commented May 13, 2025

Jira tickets:

https://ikmdev.atlassian.net/browse/IIA-1992
https://ikmdev.atlassian.net/browse/IIA-1967

These defects are related, both with the Change description preference menu item.

Summary of changes:

  • ObservableViewWithOverride.makeLanguageCoordinateListProperty() - this method was directly using the ObservableLanguageCoordinateNoOverride, rather than converting to ObservableLanguageCoordinateWithOverride. The starburst icon only changes to the orange color when overrides have been set, and the WithOverride class was not being used (at all, anywhere in the code). Added conversion to the WithOverride class just like all of the other make* methods do.
  • ViewMenuTask.addChangeItemsForView() - modified to check if there are multiple languages, and if not, now doesn't append the index number of the language for the Menu text.
  • ViewMenuTask refactored to have a common shared method createChangeDescriptionMenuItems(), which is used in both addChangeItemsForView() and addChangeItemsForLanguage()
  • ViewMenuTask.changeStates() - fixed the issue of the CheckMenuItem selected indicator (the check) not changing when menu items are selected
  • Testing with Classic Komet discovered that there is a ConcurrentModificationException on Classic initialization. This seems to have been caused by the converting to ObservableLanguageCoordinateWithOverride, but not directly caused by. Modified the ObservableCoordinateAbstract.setValue() to copy the listener list and to use the copy to call the listeners.

Before changes:

There is a 0 appended in the Menu text, and the language coordinate Change description preference selected is Regular name.
Note that the Navigator does not have any "SOLOR" in the names, which is only available for Fully Qualified Name.

image

When Fully Qualify Name is selected, SOLOR is in the navigator text. But the starburst icon is still grey, not orange. The starburst icon only changes to orange color when there are overrides.

image

Change allowed states, initially with default of ACTIVE, INACTIVE. Before selecting ACTIVE.

image

Change allowed states, after selecting ACTIVE. Note that the ACTIVE CheckMenuItem is not selected with a check.

image

After changes:

Since there is only one language, there is now no longer an appended index in the Change language coordinate menu text.

image

When the Fully Qualified Name Change description preference is selected, the starburst icon is now orange because the ObservableLanguageCoordinateWithOverride class is being used.

image

Change allowed states, after selecting ACTIVE. ACTIVE is now checked.

image

John JD Smith added 6 commits May 13, 2025 07:10
…servableLanguageCoordinateWithOverride because the starburst only changes color for overrides
…index suffix. Also refactored to have a single common method to create the Change description preference menu items, which is in 2 different places in the menu structure.
Copy link
Contributor

@dholubek dholubek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good... I'm not perfectly familiar with changing some of these things in classic Komet since I have done it so rarely. I might need to defer to some on the architecture team @aks8m @rbradley813

@dholubek dholubek requested review from aks8m and rbradley813 May 13, 2025 20:37
@jdsmithsos jdsmithsos marked this pull request as draft May 14, 2025 14:03
John JD Smith added 4 commits May 14, 2025 12:56
…ge-coord-starburst

# Conflicts:
#	framework/src/main/java/dev/ikm/komet/framework/view/ViewMenuTask.java
…ue() to safely iterate while the listener ArrayList is modified by recursive calls
Copy link
Contributor

@carldea carldea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thank you for really digging into the code.

Copy link
Contributor

@carldea carldea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me.
Glad we could also fix or improve avoiding concurrency mod exception.

@jdsmithsos jdsmithsos marked this pull request as ready for review May 15, 2025 15:36
@dholubek dholubek merged commit 9d944ad into ikmdev:main May 15, 2025
6 checks passed
@jdsmithsos jdsmithsos deleted the feature/finished/IIA-1992-1967-change-language-coord-starburst branch May 15, 2025 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants