-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Observable Preferences O (Language and FileHistory) #9173
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Enum handling can be simplied
import org.jabref.model.metadata.MetaData; | ||
import org.jabref.preferences.PreferencesService; | ||
|
||
public class MetaDataDiff { | ||
public enum Difference { | ||
PROTECTED, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would extend the enum here and add the localization as second parameter so you don't need a switch statement and instead you can directly return the message
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would contradict the whole meaning of this commit, to extract the call to the logic package from the model.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But there is something odd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correcting myself: to reduce the calls to the Localization package, to be able to move the 'mother' class to the model package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then introduce a map with enum keys and l10n values
public List<String> getDifferences(PreferencesService preferences) { | ||
List<String> changes = new ArrayList<>(); | ||
public List<Difference> getDifferences(PreferencesService preferences) { | ||
List<Difference> changes = new ArrayList<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest using an EnumSet, can be initialized with noneOf.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EnumSet is done, but it does not make sense to me to introduce a map to store the localized strings, as they would have to be initialized. But it is probably very rare that many metadata diffs happen the same time. So initializing all of the strings would be just a waste of memory and time.
found some bugs i'll fix on the fly |
dfd2a06
to
34c84cc
Compare
* upstream/main: (27 commits) Bump slf4j-api from 2.0.2 to 2.0.3 (JabRef#9207) Bump slf4j-api from 2.0.2 to 2.0.3 in /buildSrc (JabRef#9211) Add mappings on ModsImporter.java (JabRef#9193) Improve installation of java 18 in devcontainer (JabRef#9197) Fix missing title for "customize entry types" (JabRef#9198) (JabRef#9201) Squashed 'buildres/csl/csl-locales/' changes from b2afeb4d87..cb98d36691 Squashed 'buildres/csl/csl-styles/' changes from 201e022..7bde3e4 "Capitalize" capitalizes words after hyphens (JabRef#9186) Observable Preferences O (Language and FileHistory) (JabRef#9173) Fix jakarta annotation missing (JabRef#9183) Bump junit-platform-launcher from 1.9.0 to 1.9.1 (JabRef#9177) Bump WyriHaximus/github-action-wait-for-status from 1.6 to 1.7.1 (JabRef#9178) Bump junit-jupiter from 5.9.0 to 5.9.1 (JabRef#9180) Bump checkstyle from 10.3.3 to 10.3.4 (JabRef#9179) Bump slf4j-api from 2.0.1 to 2.0.2 (JabRef#9181) Bump slf4j-api from 2.0.1 to 2.0.2 in /buildSrc (JabRef#9182) Remove Java Flight Recorder (JabRef#9174) Fixes fetcher tests (JabRef#9175) Update afterburner to jakarta (JabRef#9168) Improve startup-behavior of pdf indexer (JabRef#9166) ...
* Included localization prefs in GeneralPreferences * Convertet getLanguage to new prefs pattern * Extracted localization from MetaDataDiff in logic * Refactored FileHistory and converted getFileHistory to new prefs model * Partial localization without restart * Convert list to EnumSet * Used pattern matching and applied IDE suggestions * Fixed comparison of optionals
Follow-up to #9135
.
CHANGELOG.md
described in a way that is understandable for the average user (if applicable)