diff --git a/src/jmh/java/org/jabref/benchmarks/Benchmarks.java b/src/jmh/java/org/jabref/benchmarks/Benchmarks.java index 8eae854642c..27b874dffe4 100644 --- a/src/jmh/java/org/jabref/benchmarks/Benchmarks.java +++ b/src/jmh/java/org/jabref/benchmarks/Benchmarks.java @@ -10,7 +10,7 @@ import org.jabref.gui.Globals; import org.jabref.logic.bibtex.FieldPreferences; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.exporter.BibWriter; import org.jabref.logic.exporter.BibtexDatabaseWriter; import org.jabref.logic.exporter.SelfContainedSaveConfiguration; @@ -84,7 +84,7 @@ private StringWriter getOutputWriter() throws IOException { bibWriter, mock(SelfContainedSaveConfiguration.class), mock(FieldPreferences.class), - mock(CitationKeyPatternPreferences.class), + mock(CitationKeyGenerationPreferences.class), new BibEntryTypesManager()); databaseWriter.savePartOfDatabase(new BibDatabaseContext(database, new MetaData()), database.getEntries()); return outputWriter; diff --git a/src/main/java/org/jabref/cli/ArgumentProcessor.java b/src/main/java/org/jabref/cli/ArgumentProcessor.java index 1f436070319..7a2a4e303c8 100644 --- a/src/main/java/org/jabref/cli/ArgumentProcessor.java +++ b/src/main/java/org/jabref/cli/ArgumentProcessor.java @@ -605,7 +605,7 @@ private void saveDatabase(BibDatabase newBase, String subName) { bibWriter, saveConfiguration, preferencesService.getFieldPreferences(), - preferencesService.getCitationKeyPatternPreferences(), + preferencesService.getCitationKeyGenerationPreferences(), entryTypesManager); databaseWriter.saveDatabase(new BibDatabaseContext(newBase)); @@ -717,7 +717,7 @@ private void regenerateCitationKeys(List loaded) { CitationKeyGenerator keyGenerator = new CitationKeyGenerator( parserResult.getDatabaseContext(), - preferencesService.getCitationKeyPatternPreferences()); + preferencesService.getCitationKeyGenerationPreferences()); for (BibEntry entry : database.getEntries()) { keyGenerator.generateAndSetKey(entry); } diff --git a/src/main/java/org/jabref/gui/autosaveandbackup/BackupManager.java b/src/main/java/org/jabref/gui/autosaveandbackup/BackupManager.java index 1b9017f192f..e65288115d1 100644 --- a/src/main/java/org/jabref/gui/autosaveandbackup/BackupManager.java +++ b/src/main/java/org/jabref/gui/autosaveandbackup/BackupManager.java @@ -266,7 +266,7 @@ void performBackup(Path backupPath) { bibWriter, saveConfiguration, preferences.getFieldPreferences(), - preferences.getCitationKeyPatternPreferences(), + preferences.getCitationKeyGenerationPreferences(), entryTypesManager) .saveDatabase(bibDatabaseContext); backupFilesQueue.add(backupPath); diff --git a/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeyAction.java b/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeyAction.java index 5cc07a31c71..7574e55c047 100644 --- a/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeyAction.java +++ b/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeyAction.java @@ -64,14 +64,14 @@ public void execute() { } public static boolean confirmOverwriteKeys(DialogService dialogService, PreferencesService preferencesService) { - if (preferencesService.getCitationKeyPatternPreferences().shouldWarnBeforeOverwriteCiteKey()) { + if (preferencesService.getCitationKeyGenerationPreferences().shouldWarnBeforeOverwriteCiteKey()) { return dialogService.showConfirmationDialogWithOptOutAndWait( Localization.lang("Overwrite keys"), Localization.lang("One or more keys will be overwritten. Continue?"), Localization.lang("Overwrite keys"), Localization.lang("Cancel"), Localization.lang("Do not ask again"), - optOut -> preferencesService.getCitationKeyPatternPreferences().setWarnBeforeOverwriteCiteKey(!optOut)); + optOut -> preferencesService.getCitationKeyGenerationPreferences().setWarnBeforeOverwriteCiteKey(!optOut)); } else { // Always overwrite keys by default return true; @@ -80,7 +80,7 @@ public static boolean confirmOverwriteKeys(DialogService dialogService, Preferen private void checkOverwriteKeysChosen() { // We don't want to generate keys for entries which already have one thus remove the entries - if (this.preferencesService.getCitationKeyPatternPreferences().shouldAvoidOverwriteCiteKey()) { + if (this.preferencesService.getCitationKeyGenerationPreferences().shouldAvoidOverwriteCiteKey()) { entries.removeIf(BibEntry::hasCitationKey); // if we're going to override some citation keys warn the user about it } else if (entries.parallelStream().anyMatch(BibEntry::hasCitationKey)) { @@ -110,7 +110,7 @@ protected Void call() { // generate the new citation keys for each entry compound = new NamedCompound(Localization.lang("Autogenerate citation keys")); CitationKeyGenerator keyGenerator = - new CitationKeyGenerator(databaseContext, preferencesService.getCitationKeyPatternPreferences()); + new CitationKeyGenerator(databaseContext, preferencesService.getCitationKeyGenerationPreferences()); int entriesDone = 0; for (BibEntry entry : entries) { keyGenerator.generateAndSetKey(entry) diff --git a/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeySingleAction.java b/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeySingleAction.java index 04678963e34..d006b575785 100644 --- a/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeySingleAction.java +++ b/src/main/java/org/jabref/gui/citationkeypattern/GenerateCitationKeySingleAction.java @@ -25,7 +25,7 @@ public GenerateCitationKeySingleAction(BibEntry entry, BibDatabaseContext databa this.preferencesService = preferencesService; this.undoManager = undoManager; - if (preferencesService.getCitationKeyPatternPreferences().shouldAvoidOverwriteCiteKey()) { + if (preferencesService.getCitationKeyGenerationPreferences().shouldAvoidOverwriteCiteKey()) { this.executable.bind(entry.getCiteKeyBinding().isEmpty()); } } @@ -33,7 +33,7 @@ public GenerateCitationKeySingleAction(BibEntry entry, BibDatabaseContext databa @Override public void execute() { if (!entry.hasCitationKey() || GenerateCitationKeyAction.confirmOverwriteKeys(dialogService, preferencesService)) { - new CitationKeyGenerator(databaseContext, preferencesService.getCitationKeyPatternPreferences()) + new CitationKeyGenerator(databaseContext, preferencesService.getCitationKeyGenerationPreferences()) .generateAndSetKey(entry) .ifPresent(change -> undoManager.addEdit(new UndoableKeyChange(change))); } diff --git a/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanel.java b/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanel.java index 1fd7e1cbc8a..284132423ad 100644 --- a/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanel.java @@ -45,7 +45,7 @@ public CitationKeyPatternPanel() { @FXML private void initialize() { - viewModel = new CitationKeyPatternPanelViewModel(preferences.getCitationKeyPatternPreferences()); + viewModel = new CitationKeyPatternPanelViewModel(preferences.getCitationKeyGenerationPreferences()); this.setEditable(true); diff --git a/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanelViewModel.java b/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanelViewModel.java index e592ef19a7c..178d7660be7 100644 --- a/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanelViewModel.java +++ b/src/main/java/org/jabref/gui/commonfxcontrols/CitationKeyPatternPanelViewModel.java @@ -10,7 +10,7 @@ import javafx.collections.FXCollections; import org.jabref.logic.citationkeypattern.AbstractCitationKeyPattern; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.l10n.Localization; import org.jabref.model.entry.BibEntryType; import org.jabref.model.entry.types.EntryType; @@ -37,9 +37,9 @@ public class CitationKeyPatternPanelViewModel { private final ListProperty patternListProperty = new SimpleListProperty<>(); private final ObjectProperty defaultItemProperty = new SimpleObjectProperty<>(); - private final CitationKeyPatternPreferences keyPatternPreferences; + private final CitationKeyGenerationPreferences keyPatternPreferences; - public CitationKeyPatternPanelViewModel(CitationKeyPatternPreferences keyPatternPreferences) { + public CitationKeyPatternPanelViewModel(CitationKeyGenerationPreferences keyPatternPreferences) { this.keyPatternPreferences = keyPatternPreferences; } diff --git a/src/main/java/org/jabref/gui/edit/CopyMoreAction.java b/src/main/java/org/jabref/gui/edit/CopyMoreAction.java index 0f9bbe3c103..dbc7bbe077d 100644 --- a/src/main/java/org/jabref/gui/edit/CopyMoreAction.java +++ b/src/main/java/org/jabref/gui/edit/CopyMoreAction.java @@ -171,7 +171,7 @@ private void copyCiteKey() { return; } - String citeCommand = Optional.ofNullable(preferencesService.getExternalApplicationsPreferences().getCiteCommand()) + String citeCommand = Optional.ofNullable(preferencesService.getExternalApplicationsPreferences().getCiteCommand().toString()) .filter(cite -> cite.contains("\\")) // must contain \ .orElse("\\cite"); diff --git a/src/main/java/org/jabref/gui/exporter/SaveDatabaseAction.java b/src/main/java/org/jabref/gui/exporter/SaveDatabaseAction.java index 87cb097b734..c607f602bf9 100644 --- a/src/main/java/org/jabref/gui/exporter/SaveDatabaseAction.java +++ b/src/main/java/org/jabref/gui/exporter/SaveDatabaseAction.java @@ -266,7 +266,7 @@ private boolean saveDatabase(Path file, boolean selectedOnly, Charset encoding, bibWriter, saveConfiguration, preferences.getFieldPreferences(), - preferences.getCitationKeyPatternPreferences(), + preferences.getCitationKeyGenerationPreferences(), entryTypesManager); if (selectedOnly) { diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java index a9fbbe28eb8..a82c8212f48 100644 --- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java +++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java @@ -290,10 +290,10 @@ private void generateKeys(List entries) { return; } CitationKeyGenerator keyGenerator = new CitationKeyGenerator( - bibDatabaseContext.getMetaData().getCiteKeyPattern(preferencesService.getCitationKeyPatternPreferences() + bibDatabaseContext.getMetaData().getCiteKeyPattern(preferencesService.getCitationKeyGenerationPreferences() .getKeyPattern()), bibDatabaseContext.getDatabase(), - preferencesService.getCitationKeyPatternPreferences()); + preferencesService.getCitationKeyGenerationPreferences()); entries.forEach(keyGenerator::generateAndSetKey); } diff --git a/src/main/java/org/jabref/gui/integrity/IntegrityCheckAction.java b/src/main/java/org/jabref/gui/integrity/IntegrityCheckAction.java index 5e6e2df5a37..3b20f7b67db 100644 --- a/src/main/java/org/jabref/gui/integrity/IntegrityCheckAction.java +++ b/src/main/java/org/jabref/gui/integrity/IntegrityCheckAction.java @@ -51,7 +51,7 @@ public void execute() { BibDatabaseContext database = stateManager.getActiveDatabase().orElseThrow(() -> new NullPointerException("Database null")); IntegrityCheck check = new IntegrityCheck(database, preferencesService.getFilePreferences(), - preferencesService.getCitationKeyPatternPreferences(), + preferencesService.getCitationKeyGenerationPreferences(), abbreviationRepository, preferencesService.getEntryEditorPreferences().shouldAllowIntegerEditionBibtex()); diff --git a/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesView.java b/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesView.java index 42a573f335d..031de5d0424 100644 --- a/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesView.java +++ b/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesView.java @@ -57,7 +57,7 @@ public void setValues() { bibEntryTypesManager.getAllTypes(databaseContext.getMetaData().getMode() .orElse(preferencesService.getLibraryPreferences() .getDefaultBibDatabaseMode())), - databaseContext.getMetaData().getCiteKeyPattern(preferencesService.getCitationKeyPatternPreferences().getKeyPattern())); + databaseContext.getMetaData().getCiteKeyPattern(preferencesService.getCitationKeyGenerationPreferences().getKeyPattern())); } @FXML diff --git a/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesViewModel.java b/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesViewModel.java index 2cf6484b430..66d2bc7c63b 100644 --- a/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesViewModel.java +++ b/src/main/java/org/jabref/gui/libraryproperties/keypattern/KeyPatternPropertiesViewModel.java @@ -37,7 +37,7 @@ public void setValues() { @Override public void storeSettings() { - DatabaseCitationKeyPattern newKeyPattern = new DatabaseCitationKeyPattern(preferencesService.getCitationKeyPatternPreferences().getKeyPattern()); + DatabaseCitationKeyPattern newKeyPattern = new DatabaseCitationKeyPattern(preferencesService.getCitationKeyGenerationPreferences().getKeyPattern()); patternListProperty.forEach(item -> { String patternString = item.getPattern(); diff --git a/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java b/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java index 9e8b49e7d6a..c0777ef5f8b 100644 --- a/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java +++ b/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java @@ -42,7 +42,7 @@ import org.jabref.gui.util.DirectoryDialogConfiguration; import org.jabref.gui.util.TaskExecutor; import org.jabref.logic.citationkeypattern.CitationKeyGenerator; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.help.HelpFile; import org.jabref.logic.journals.JournalAbbreviationRepository; import org.jabref.logic.l10n.Localization; @@ -545,7 +545,7 @@ private boolean checkThatEntriesHaveKeys(List entries) { Optional databaseContext = stateManager.getActiveDatabase(); if (citePressed && databaseContext.isPresent()) { // Generate keys - CitationKeyPatternPreferences prefs = preferencesService.getCitationKeyPatternPreferences(); + CitationKeyGenerationPreferences prefs = preferencesService.getCitationKeyGenerationPreferences(); NamedCompound undoCompound = new NamedCompound(Localization.lang("Cite")); for (BibEntry entry : entries) { if (entry.getCitationKey().isEmpty()) { diff --git a/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java b/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java index 5f14bd5247e..46653571c1a 100644 --- a/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java +++ b/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java @@ -44,7 +44,7 @@ public String getTabName() { } public void initialize() { - this.viewModel = new CitationKeyPatternTabViewModel(preferencesService.getCitationKeyPatternPreferences()); + this.viewModel = new CitationKeyPatternTabViewModel(preferencesService.getCitationKeyGenerationPreferences()); overwriteAllow.selectedProperty().bindBidirectional(viewModel.overwriteAllowProperty()); overwriteWarning.selectedProperty().bindBidirectional(viewModel.overwriteWarningProperty()); @@ -68,7 +68,7 @@ public void setValues() { viewModel.setValues(); bibtexKeyPatternTable.setValues( Globals.entryTypesManager.getAllTypes(preferencesService.getLibraryPreferences().getDefaultBibDatabaseMode()), - preferencesService.getCitationKeyPatternPreferences().getKeyPattern()); + preferencesService.getCitationKeyGenerationPreferences().getKeyPattern()); } @Override diff --git a/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java b/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java index d9645f976cb..ffa2d0ad580 100644 --- a/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java @@ -13,7 +13,7 @@ import org.jabref.gui.commonfxcontrols.CitationKeyPatternPanelItemModel; import org.jabref.gui.commonfxcontrols.CitationKeyPatternPanelViewModel; import org.jabref.gui.preferences.PreferenceTabViewModel; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; public class CitationKeyPatternTabViewModel implements PreferenceTabViewModel { @@ -34,9 +34,9 @@ public class CitationKeyPatternTabViewModel implements PreferenceTabViewModel { private final ObjectProperty defaultKeyPatternProperty = new SimpleObjectProperty<>( new CitationKeyPatternPanelItemModel(new CitationKeyPatternPanelViewModel.DefaultEntryType(), "")); - private final CitationKeyPatternPreferences keyPatternPreferences; + private final CitationKeyGenerationPreferences keyPatternPreferences; - public CitationKeyPatternTabViewModel(CitationKeyPatternPreferences keyPatternPreferences) { + public CitationKeyPatternTabViewModel(CitationKeyGenerationPreferences keyPatternPreferences) { this.keyPatternPreferences = keyPatternPreferences; } @@ -47,12 +47,12 @@ public void setValues() { generateOnSaveProperty.setValue(keyPatternPreferences.shouldGenerateCiteKeysBeforeSaving()); if (keyPatternPreferences.getKeySuffix() - == CitationKeyPatternPreferences.KeySuffix.ALWAYS) { + == CitationKeyGenerationPreferences.KeySuffix.ALWAYS) { letterAlwaysAddProperty.setValue(true); letterStartAProperty.setValue(false); letterStartBProperty.setValue(false); } else if (keyPatternPreferences.getKeySuffix() - == CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A) { + == CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A) { letterAlwaysAddProperty.setValue(false); letterStartAProperty.setValue(true); letterStartBProperty.setValue(false); @@ -86,12 +86,12 @@ public void storeSettings() { newKeyPattern.setDefaultValue(defaultKeyPatternProperty.getValue().getPattern()); } - CitationKeyPatternPreferences.KeySuffix keySuffix = CitationKeyPatternPreferences.KeySuffix.ALWAYS; + CitationKeyGenerationPreferences.KeySuffix keySuffix = CitationKeyGenerationPreferences.KeySuffix.ALWAYS; if (letterStartAProperty.getValue()) { - keySuffix = CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A; + keySuffix = CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A; } else if (letterStartBProperty.getValue()) { - keySuffix = CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B; + keySuffix = CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_B; } keyPatternPreferences.setAvoidOverwriteCiteKey(!overwriteAllowProperty.getValue()); diff --git a/src/main/java/org/jabref/gui/preferences/external/ExternalTabViewModel.java b/src/main/java/org/jabref/gui/preferences/external/ExternalTabViewModel.java index f8e7f96993c..e1e85deddd4 100644 --- a/src/main/java/org/jabref/gui/preferences/external/ExternalTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/external/ExternalTabViewModel.java @@ -97,7 +97,7 @@ public void setValues() { PushToApplications.getApplicationByName(initialPushToApplicationPreferences.getActiveApplicationName(), dialogService, preferences) .orElse(new PushToEmacs(dialogService, preferences))); - citeCommandProperty.setValue(initialExternalApplicationPreferences.getCiteCommand()); + citeCommandProperty.setValue(initialExternalApplicationPreferences.getCiteCommand().toString()); useCustomTerminalProperty.setValue(initialExternalApplicationPreferences.useCustomTerminal()); customTerminalCommandProperty.setValue(initialExternalApplicationPreferences.getCustomTerminalCommand()); useCustomFileBrowserProperty.setValue(initialExternalApplicationPreferences.useCustomFileBrowser()); diff --git a/src/main/java/org/jabref/gui/push/AbstractPushToApplication.java b/src/main/java/org/jabref/gui/push/AbstractPushToApplication.java index aa84c74d3e9..ded41175f26 100644 --- a/src/main/java/org/jabref/gui/push/AbstractPushToApplication.java +++ b/src/main/java/org/jabref/gui/push/AbstractPushToApplication.java @@ -49,7 +49,8 @@ public AbstractPushToApplication(DialogService dialogService, PreferencesService } private void dissectCiteCommand() { - String preferencesCiteCommand = preferencesService.getExternalApplicationsPreferences().getCiteCommand(); + System.out.println(preferencesService.getExternalApplicationsPreferences().getCiteCommand()); + String preferencesCiteCommand = preferencesService.getExternalApplicationsPreferences().getCiteCommand().toString(); if (preferencesCiteCommand != null && preferencesCiteCommand.equals(cachedCiteCommand)) { return; diff --git a/src/main/java/org/jabref/gui/shared/SharedDatabaseUIManager.java b/src/main/java/org/jabref/gui/shared/SharedDatabaseUIManager.java index 44d92e9c216..094b7e2bbc7 100644 --- a/src/main/java/org/jabref/gui/shared/SharedDatabaseUIManager.java +++ b/src/main/java/org/jabref/gui/shared/SharedDatabaseUIManager.java @@ -162,7 +162,7 @@ public LibraryTab openNewSharedDatabaseTab(DBMSConnectionProperties dbmsConnecti DBMSSynchronizer synchronizer = new DBMSSynchronizer( bibDatabaseContext, preferencesService.getBibEntryPreferences().getKeywordSeparator(), - preferencesService.getCitationKeyPatternPreferences().getKeyPattern(), + preferencesService.getCitationKeyGenerationPreferences().getKeyPattern(), fileUpdateMonitor); bibDatabaseContext.convertToSharedDatabase(synchronizer); @@ -203,7 +203,7 @@ public void openSharedDatabaseFromParserResult(ParserResult parserResult) DBMSSynchronizer synchronizer = new DBMSSynchronizer( bibDatabaseContext, preferencesService.getBibEntryPreferences().getKeywordSeparator(), - preferencesService.getCitationKeyPatternPreferences().getKeyPattern(), + preferencesService.getCitationKeyGenerationPreferences().getKeyPattern(), fileUpdateMonitor); bibDatabaseContext.convertToSharedDatabase(synchronizer); diff --git a/src/main/java/org/jabref/logic/bibtex/comparator/MetaDataDiff.java b/src/main/java/org/jabref/logic/bibtex/comparator/MetaDataDiff.java index 5420ef97391..c013d964329 100644 --- a/src/main/java/org/jabref/logic/bibtex/comparator/MetaDataDiff.java +++ b/src/main/java/org/jabref/logic/bibtex/comparator/MetaDataDiff.java @@ -61,8 +61,8 @@ public List getDifferences(PreferencesService preferences) { addToListIfDiff(changes, DifferenceType.ENCODING, originalMetaData.getEncoding(), newMetaData.getEncoding()); addToListIfDiff(changes, DifferenceType.SAVE_SORT_ORDER, originalMetaData.getSaveOrder(), newMetaData.getSaveOrder()); addToListIfDiff(changes, DifferenceType.KEY_PATTERNS, - originalMetaData.getCiteKeyPattern(preferences.getCitationKeyPatternPreferences().getKeyPattern()), - newMetaData.getCiteKeyPattern(preferences.getCitationKeyPatternPreferences().getKeyPattern())); + originalMetaData.getCiteKeyPattern(preferences.getCitationKeyGenerationPreferences().getKeyPattern()), + newMetaData.getCiteKeyPattern(preferences.getCitationKeyGenerationPreferences().getKeyPattern())); addToListIfDiff(changes, DifferenceType.USER_FILE_DIRECTORY, originalMetaData.getUserFileDirectories(), newMetaData.getUserFileDirectories()); addToListIfDiff(changes, DifferenceType.LATEX_FILE_DIRECTORY, originalMetaData.getLatexFileDirectories(), newMetaData.getLatexFileDirectories()); addToListIfDiff(changes, DifferenceType.DEFAULT_KEY_PATTERN, originalMetaData.getDefaultCiteKeyPattern(), newMetaData.getDefaultCiteKeyPattern()); diff --git a/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyPatternPreferences.java b/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerationPreferences.java similarity index 77% rename from src/main/java/org/jabref/logic/citationkeypattern/CitationKeyPatternPreferences.java rename to src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerationPreferences.java index 3e2c4492d27..039399fb216 100644 --- a/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyPatternPreferences.java +++ b/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerationPreferences.java @@ -10,7 +10,7 @@ import com.google.common.annotations.VisibleForTesting; -public class CitationKeyPatternPreferences { +public class CitationKeyGenerationPreferences { public enum KeySuffix { ALWAYS, // CiteKeyA, CiteKeyB, CiteKeyC ... @@ -29,16 +29,16 @@ public enum KeySuffix { private final String defaultPattern; private final ReadOnlyObjectProperty keywordDelimiter; - public CitationKeyPatternPreferences(boolean shouldAvoidOverwriteCiteKey, - boolean shouldWarnBeforeOverwriteCiteKey, - boolean shouldGenerateCiteKeysBeforeSaving, - KeySuffix keySuffix, - String keyPatternRegex, - String keyPatternReplacement, - String unwantedCharacters, - GlobalCitationKeyPattern keyPattern, - String defaultPattern, - ReadOnlyObjectProperty keywordDelimiter) { + public CitationKeyGenerationPreferences(boolean shouldAvoidOverwriteCiteKey, + boolean shouldWarnBeforeOverwriteCiteKey, + boolean shouldGenerateCiteKeysBeforeSaving, + KeySuffix keySuffix, + String keyPatternRegex, + String keyPatternReplacement, + String unwantedCharacters, + GlobalCitationKeyPattern keyPattern, + String defaultPattern, + ReadOnlyObjectProperty keywordDelimiter) { this.shouldAvoidOverwriteCiteKey.set(shouldAvoidOverwriteCiteKey); this.shouldWarnBeforeOverwriteCiteKey.set(shouldWarnBeforeOverwriteCiteKey); @@ -54,16 +54,16 @@ public CitationKeyPatternPreferences(boolean shouldAvoidOverwriteCiteKey, } @VisibleForTesting - public CitationKeyPatternPreferences(boolean shouldAvoidOverwriteCiteKey, - boolean shouldWarnBeforeOverwriteCiteKey, - boolean shouldGenerateCiteKeysBeforeSaving, - KeySuffix keySuffix, - String keyPatternRegex, - String keyPatternReplacement, - String unwantedCharacters, - GlobalCitationKeyPattern keyPattern, - String defaultPattern, - Character keywordDelimiter) { + public CitationKeyGenerationPreferences(boolean shouldAvoidOverwriteCiteKey, + boolean shouldWarnBeforeOverwriteCiteKey, + boolean shouldGenerateCiteKeysBeforeSaving, + KeySuffix keySuffix, + String keyPatternRegex, + String keyPatternReplacement, + String unwantedCharacters, + GlobalCitationKeyPattern keyPattern, + String defaultPattern, + Character keywordDelimiter) { this(shouldAvoidOverwriteCiteKey, shouldWarnBeforeOverwriteCiteKey, diff --git a/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerator.java b/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerator.java index aa3b78d9db6..8dd125db041 100644 --- a/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerator.java +++ b/src/main/java/org/jabref/logic/citationkeypattern/CitationKeyGenerator.java @@ -40,20 +40,20 @@ public class CitationKeyGenerator extends BracketedPattern { private final AbstractCitationKeyPattern citeKeyPattern; private final BibDatabase database; - private final CitationKeyPatternPreferences citationKeyPatternPreferences; + private final CitationKeyGenerationPreferences CitationKeyGenerationPreferences; private final String unwantedCharacters; - public CitationKeyGenerator(BibDatabaseContext bibDatabaseContext, CitationKeyPatternPreferences citationKeyPatternPreferences) { - this(bibDatabaseContext.getMetaData().getCiteKeyPattern(citationKeyPatternPreferences.getKeyPattern()), + public CitationKeyGenerator(BibDatabaseContext bibDatabaseContext, CitationKeyGenerationPreferences CitationKeyGenerationPreferences) { + this(bibDatabaseContext.getMetaData().getCiteKeyPattern(CitationKeyGenerationPreferences.getKeyPattern()), bibDatabaseContext.getDatabase(), - citationKeyPatternPreferences); + CitationKeyGenerationPreferences); } - public CitationKeyGenerator(AbstractCitationKeyPattern citeKeyPattern, BibDatabase database, CitationKeyPatternPreferences citationKeyPatternPreferences) { + public CitationKeyGenerator(AbstractCitationKeyPattern citeKeyPattern, BibDatabase database, CitationKeyGenerationPreferences CitationKeyGenerationPreferences) { this.citeKeyPattern = Objects.requireNonNull(citeKeyPattern); this.database = Objects.requireNonNull(database); - this.citationKeyPatternPreferences = Objects.requireNonNull(citationKeyPatternPreferences); - this.unwantedCharacters = citationKeyPatternPreferences.getUnwantedCharacters(); + this.CitationKeyGenerationPreferences = Objects.requireNonNull(CitationKeyGenerationPreferences); + this.unwantedCharacters = CitationKeyGenerationPreferences.getUnwantedCharacters(); } /** @@ -122,13 +122,13 @@ private String appendLettersToKey(String key, String oldKey) { occurrences--; // No change, so we can accept one dupe. } - boolean alwaysAddLetter = citationKeyPatternPreferences.getKeySuffix() - == CitationKeyPatternPreferences.KeySuffix.ALWAYS; + boolean alwaysAddLetter = CitationKeyGenerationPreferences.getKeySuffix() + == org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.ALWAYS; if (alwaysAddLetter || occurrences != 0) { // The key is already in use, so we must modify it. - boolean firstLetterA = citationKeyPatternPreferences.getKeySuffix() - == CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A; + boolean firstLetterA = CitationKeyGenerationPreferences.getKeySuffix() + == org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A; int number = !alwaysAddLetter && !firstLetterA ? 1 : 0; String moddedKey; @@ -157,9 +157,9 @@ private String appendLettersToKey(String key, String oldKey) { */ private String replaceWithRegex(String key) { // Remove Regular Expressions while generating Keys - String regex = citationKeyPatternPreferences.getKeyPatternRegex(); + String regex = CitationKeyGenerationPreferences.getKeyPatternRegex(); if ((regex != null) && !regex.trim().isEmpty()) { - String replacement = citationKeyPatternPreferences.getKeyPatternReplacement(); + String replacement = CitationKeyGenerationPreferences.getKeyPatternReplacement(); try { key = key.replaceAll(regex, replacement); } catch (PatternSyntaxException e) { @@ -187,7 +187,7 @@ private String createCitationKeyFromPattern(BibEntry entry) { * @return a cleaned citation key for the given {@link BibEntry} */ private Function expandBracketContent(BibEntry entry) { - Character keywordDelimiter = citationKeyPatternPreferences.getKeywordDelimiter(); + Character keywordDelimiter = CitationKeyGenerationPreferences.getKeywordDelimiter(); return (String bracket) -> { String expandedPattern; diff --git a/src/main/java/org/jabref/logic/crawler/StudyRepository.java b/src/main/java/org/jabref/logic/crawler/StudyRepository.java index dc490090339..e36bf27ccc2 100644 --- a/src/main/java/org/jabref/logic/crawler/StudyRepository.java +++ b/src/main/java/org/jabref/logic/crawler/StudyRepository.java @@ -421,7 +421,7 @@ private void persistResults(List crawlResults) throws IOException, private void generateCiteKeys(BibDatabaseContext existingEntries, BibDatabase targetEntries) { CitationKeyGenerator citationKeyGenerator = new CitationKeyGenerator(existingEntries, - preferencesService.getCitationKeyPatternPreferences()); + preferencesService.getCitationKeyGenerationPreferences()); targetEntries.getEntries().stream().filter(bibEntry -> !bibEntry.hasCitationKey()).forEach(citationKeyGenerator::generateAndSetKey); } @@ -435,7 +435,7 @@ private void writeResultToFile(Path pathToFile, BibDatabaseContext context) thro bibWriter, saveConfiguration, preferencesService.getFieldPreferences(), - preferencesService.getCitationKeyPatternPreferences(), + preferencesService.getCitationKeyGenerationPreferences(), bibEntryTypesManager); databaseWriter.saveDatabase(context); } catch (UnsupportedCharsetException ex) { diff --git a/src/main/java/org/jabref/logic/exporter/BibDatabaseWriter.java b/src/main/java/org/jabref/logic/exporter/BibDatabaseWriter.java index 68df8656bf1..244e83ac143 100644 --- a/src/main/java/org/jabref/logic/exporter/BibDatabaseWriter.java +++ b/src/main/java/org/jabref/logic/exporter/BibDatabaseWriter.java @@ -23,7 +23,7 @@ import org.jabref.logic.bibtex.comparator.FieldComparatorStack; import org.jabref.logic.bibtex.comparator.IdComparator; import org.jabref.logic.citationkeypattern.CitationKeyGenerator; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.cleanup.FieldFormatterCleanup; import org.jabref.logic.cleanup.FieldFormatterCleanups; @@ -59,13 +59,13 @@ public enum SaveType { WITH_JABREF_META_DATA, PLAIN_BIBTEX } private static final Pattern REFERENCE_PATTERN = Pattern.compile("(#[A-Za-z]+#)"); // Used to detect string references in strings protected final BibWriter bibWriter; protected final SelfContainedSaveConfiguration saveConfiguration; - protected final CitationKeyPatternPreferences keyPatternPreferences; + protected final CitationKeyGenerationPreferences keyPatternPreferences; protected final List saveActionsFieldChanges = new ArrayList<>(); protected final BibEntryTypesManager entryTypesManager; public BibDatabaseWriter(BibWriter bibWriter, SelfContainedSaveConfiguration saveConfiguration, - CitationKeyPatternPreferences keyPatternPreferences, + CitationKeyGenerationPreferences keyPatternPreferences, BibEntryTypesManager entryTypesManager) { this.bibWriter = Objects.requireNonNull(bibWriter); this.saveConfiguration = saveConfiguration; diff --git a/src/main/java/org/jabref/logic/exporter/BibtexDatabaseWriter.java b/src/main/java/org/jabref/logic/exporter/BibtexDatabaseWriter.java index 9f7e035d67d..0dc236caac6 100644 --- a/src/main/java/org/jabref/logic/exporter/BibtexDatabaseWriter.java +++ b/src/main/java/org/jabref/logic/exporter/BibtexDatabaseWriter.java @@ -10,7 +10,7 @@ import org.jabref.logic.bibtex.FieldPreferences; import org.jabref.logic.bibtex.FieldWriter; import org.jabref.logic.bibtex.InvalidFieldValueException; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.database.BibDatabaseMode; import org.jabref.model.entry.BibEntry; @@ -38,11 +38,11 @@ public class BibtexDatabaseWriter extends BibDatabaseWriter { public BibtexDatabaseWriter(BibWriter bibWriter, SelfContainedSaveConfiguration saveConfiguration, FieldPreferences fieldPreferences, - CitationKeyPatternPreferences citationKeyPatternPreferences, + CitationKeyGenerationPreferences CitationKeyGenerationPreferences, BibEntryTypesManager entryTypesManager) { super(bibWriter, saveConfiguration, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); this.fieldPreferences = fieldPreferences; @@ -52,11 +52,11 @@ public BibtexDatabaseWriter(Writer writer, String newline, SelfContainedSaveConfiguration saveConfiguration, FieldPreferences fieldPreferences, - CitationKeyPatternPreferences citationKeyPatternPreferences, + CitationKeyGenerationPreferences CitationKeyGenerationPreferences, BibEntryTypesManager entryTypesManager) { super(new BibWriter(writer, newline), saveConfiguration, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); this.fieldPreferences = fieldPreferences; diff --git a/src/main/java/org/jabref/logic/importer/ImportFormatPreferences.java b/src/main/java/org/jabref/logic/importer/ImportFormatPreferences.java index 62319455519..2f5ff63c77c 100644 --- a/src/main/java/org/jabref/logic/importer/ImportFormatPreferences.java +++ b/src/main/java/org/jabref/logic/importer/ImportFormatPreferences.java @@ -1,7 +1,7 @@ package org.jabref.logic.importer; import org.jabref.logic.bibtex.FieldPreferences; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.importer.fetcher.GrobidPreferences; import org.jabref.logic.preferences.DOIPreferences; import org.jabref.logic.xmp.XmpPreferences; @@ -9,7 +9,7 @@ public record ImportFormatPreferences( BibEntryPreferences bibEntryPreferences, - CitationKeyPatternPreferences citationKeyPatternPreferences, + CitationKeyGenerationPreferences citationKeyGenerationPreferences, FieldPreferences fieldPreferences, XmpPreferences xmpPreferences, DOIPreferences doiPreferences, diff --git a/src/main/java/org/jabref/logic/integrity/CitationKeyDeviationChecker.java b/src/main/java/org/jabref/logic/integrity/CitationKeyDeviationChecker.java index 47d7bff811a..f3c94ae19f5 100644 --- a/src/main/java/org/jabref/logic/integrity/CitationKeyDeviationChecker.java +++ b/src/main/java/org/jabref/logic/integrity/CitationKeyDeviationChecker.java @@ -6,7 +6,7 @@ import java.util.Optional; import org.jabref.logic.citationkeypattern.CitationKeyGenerator; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.l10n.Localization; import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.entry.BibEntry; @@ -15,11 +15,11 @@ public class CitationKeyDeviationChecker implements EntryChecker { private final BibDatabaseContext bibDatabaseContext; - private final CitationKeyPatternPreferences citationKeyPatternPreferences; + private final CitationKeyGenerationPreferences CitationKeyGenerationPreferences; - public CitationKeyDeviationChecker(BibDatabaseContext bibDatabaseContext, CitationKeyPatternPreferences citationKeyPatternPreferences) { + public CitationKeyDeviationChecker(BibDatabaseContext bibDatabaseContext, CitationKeyGenerationPreferences CitationKeyGenerationPreferences) { this.bibDatabaseContext = Objects.requireNonNull(bibDatabaseContext); - this.citationKeyPatternPreferences = Objects.requireNonNull(citationKeyPatternPreferences); + this.CitationKeyGenerationPreferences = Objects.requireNonNull(CitationKeyGenerationPreferences); } @Override @@ -32,7 +32,7 @@ public List check(BibEntry entry) { String key = valuekey.get(); // generate new key - String generatedKey = new CitationKeyGenerator(bibDatabaseContext, citationKeyPatternPreferences).generateKey(entry); + String generatedKey = new CitationKeyGenerator(bibDatabaseContext, CitationKeyGenerationPreferences).generateKey(entry); if (!Objects.equals(key, generatedKey)) { return Collections.singletonList(new IntegrityMessage( diff --git a/src/main/java/org/jabref/logic/integrity/IntegrityCheck.java b/src/main/java/org/jabref/logic/integrity/IntegrityCheck.java index 1a4207c98c1..8ed2e53d66c 100644 --- a/src/main/java/org/jabref/logic/integrity/IntegrityCheck.java +++ b/src/main/java/org/jabref/logic/integrity/IntegrityCheck.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.journals.JournalAbbreviationRepository; import org.jabref.model.database.BibDatabase; import org.jabref.model.database.BibDatabaseContext; @@ -20,7 +20,7 @@ public class IntegrityCheck { public IntegrityCheck(BibDatabaseContext bibDatabaseContext, FilePreferences filePreferences, - CitationKeyPatternPreferences citationKeyPatternPreferences, + CitationKeyGenerationPreferences CitationKeyGenerationPreferences, JournalAbbreviationRepository journalAbbreviationRepository, boolean allowIntegerEdition) { this.bibDatabaseContext = bibDatabaseContext; @@ -36,7 +36,7 @@ public IntegrityCheck(BibDatabaseContext bibDatabaseContext, new BibStringChecker(), new HTMLCharacterChecker(), new EntryLinkChecker(bibDatabaseContext.getDatabase()), - new CitationKeyDeviationChecker(bibDatabaseContext, citationKeyPatternPreferences), + new CitationKeyDeviationChecker(bibDatabaseContext, CitationKeyGenerationPreferences), new CitationKeyDuplicationChecker(bibDatabaseContext.getDatabase()), new AmpersandChecker(), new LatexIntegrityChecker(), diff --git a/src/main/java/org/jabref/preferences/CitationCommandStringPreferences.java b/src/main/java/org/jabref/preferences/CitationCommandStringPreferences.java new file mode 100644 index 00000000000..2606d134916 --- /dev/null +++ b/src/main/java/org/jabref/preferences/CitationCommandStringPreferences.java @@ -0,0 +1,4 @@ +package org.jabref.preferences; + +public record CitationCommandStringPreferences(String prefix, String delimiter, String suffix) { +} diff --git a/src/main/java/org/jabref/preferences/ExternalApplicationsPreferences.java b/src/main/java/org/jabref/preferences/ExternalApplicationsPreferences.java index 45670b68a28..4ce037bb213 100644 --- a/src/main/java/org/jabref/preferences/ExternalApplicationsPreferences.java +++ b/src/main/java/org/jabref/preferences/ExternalApplicationsPreferences.java @@ -64,8 +64,15 @@ public void setAutoOpenEmailAttachmentsFolder(boolean shouldAutoOpenEmailAttachm this.shouldAutoOpenEmailAttachmentsFolder.set(shouldAutoOpenEmailAttachmentsFolder); } - public String getCiteCommand() { - return citeCommand.get(); + public CitationCommandStringPreferences getCiteCommand() { + String citeCommandStr = this.citeCommand.get(); + + // prefix is "\cite{",suffix is "}",delimiter is "," + String prefix = "\\cite{"; // should watch out inverse slash + String delimiter = ","; + String suffix = "}"; + + return new CitationCommandStringPreferences(prefix, delimiter, suffix); } public StringProperty citeCommandProperty() { diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index e76d61223ff..cd92083c69d 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -60,7 +60,7 @@ import org.jabref.gui.theme.Theme; import org.jabref.logic.JabRefException; import org.jabref.logic.bibtex.FieldPreferences; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.citationstyle.CitationStyle; import org.jabref.logic.citationstyle.CitationStylePreviewLayout; @@ -481,7 +481,7 @@ public class JabRefPreferences implements PreferencesService { private CleanupPreferences cleanupPreferences; private PushToApplicationPreferences pushToApplicationPreferences; private ExternalApplicationsPreferences externalApplicationsPreferences; - private CitationKeyPatternPreferences citationKeyPatternPreferences; + private CitationKeyGenerationPreferences CitationKeyGenerationPreferences; private NameDisplayPreferences nameDisplayPreferences; private MainTablePreferences mainTablePreferences; private ColumnPreferences mainTableColumnPreferences; @@ -911,6 +911,7 @@ private static Optional getNextUnit(Reader data) throws IOException { * @param key The key to check. * @return true if the key is set, false otherwise. */ + public boolean hasKey(String key) { return prefs.get(key, null) != null; } @@ -1637,7 +1638,7 @@ public SSLPreferences getSSLPreferences() { } //************************************************************************************************************* - // CitationKeyPatternPreferences + // CitationKeyGenerationPreferences //************************************************************************************************************* private GlobalCitationKeyPattern getGlobalCitationKeyPattern() { @@ -1687,16 +1688,16 @@ public void storeGlobalCitationKeyPattern(GlobalCitationKeyPattern pattern) { private void clearCitationKeyPatterns() throws BackingStoreException { Preferences preferences = PREFS_NODE.node(CITATION_KEY_PATTERNS_NODE); preferences.clear(); - getCitationKeyPatternPreferences().setKeyPattern(getGlobalCitationKeyPattern()); + getCitationKeyGenerationPreferences().setKeyPattern(getGlobalCitationKeyPattern()); } @Override - public CitationKeyPatternPreferences getCitationKeyPatternPreferences() { - if (Objects.nonNull(citationKeyPatternPreferences)) { - return citationKeyPatternPreferences; + public CitationKeyGenerationPreferences getCitationKeyGenerationPreferences() { + if (Objects.nonNull(CitationKeyGenerationPreferences)) { + return CitationKeyGenerationPreferences; } - citationKeyPatternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences = new CitationKeyGenerationPreferences( getBoolean(AVOID_OVERWRITING_KEY), getBoolean(WARN_BEFORE_OVERWRITING_KEY), getBoolean(GENERATE_KEYS_BEFORE_SAVING), @@ -1708,35 +1709,35 @@ public CitationKeyPatternPreferences getCitationKeyPatternPreferences() { (String) defaults.get(DEFAULT_CITATION_KEY_PATTERN), getBibEntryPreferences().keywordSeparatorProperty()); - EasyBind.listen(citationKeyPatternPreferences.shouldAvoidOverwriteCiteKeyProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.shouldAvoidOverwriteCiteKeyProperty(), (obs, oldValue, newValue) -> putBoolean(AVOID_OVERWRITING_KEY, newValue)); - EasyBind.listen(citationKeyPatternPreferences.shouldWarnBeforeOverwriteCiteKeyProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.shouldWarnBeforeOverwriteCiteKeyProperty(), (obs, oldValue, newValue) -> putBoolean(WARN_BEFORE_OVERWRITING_KEY, newValue)); - EasyBind.listen(citationKeyPatternPreferences.shouldGenerateCiteKeysBeforeSavingProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.shouldGenerateCiteKeysBeforeSavingProperty(), (obs, oldValue, newValue) -> putBoolean(GENERATE_KEYS_BEFORE_SAVING, newValue)); - EasyBind.listen(citationKeyPatternPreferences.keySuffixProperty(), (obs, oldValue, newValue) -> { - putBoolean(KEY_GEN_ALWAYS_ADD_LETTER, newValue == CitationKeyPatternPreferences.KeySuffix.ALWAYS); - putBoolean(KEY_GEN_FIRST_LETTER_A, newValue == CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A); + EasyBind.listen(CitationKeyGenerationPreferences.keySuffixProperty(), (obs, oldValue, newValue) -> { + putBoolean(KEY_GEN_ALWAYS_ADD_LETTER, newValue == org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.ALWAYS); + putBoolean(KEY_GEN_FIRST_LETTER_A, newValue == org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A); }); - EasyBind.listen(citationKeyPatternPreferences.keyPatternRegexProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.keyPatternRegexProperty(), (obs, oldValue, newValue) -> put(KEY_PATTERN_REGEX, newValue)); - EasyBind.listen(citationKeyPatternPreferences.keyPatternReplacementProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.keyPatternReplacementProperty(), (obs, oldValue, newValue) -> put(KEY_PATTERN_REPLACEMENT, newValue)); - EasyBind.listen(citationKeyPatternPreferences.unwantedCharactersProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.unwantedCharactersProperty(), (obs, oldValue, newValue) -> put(UNWANTED_CITATION_KEY_CHARACTERS, newValue)); - EasyBind.listen(citationKeyPatternPreferences.keyPatternProperty(), + EasyBind.listen(CitationKeyGenerationPreferences.keyPatternProperty(), (obs, oldValue, newValue) -> storeGlobalCitationKeyPattern(newValue)); - return citationKeyPatternPreferences; + return CitationKeyGenerationPreferences; } - private CitationKeyPatternPreferences.KeySuffix getKeySuffix() { - CitationKeyPatternPreferences.KeySuffix keySuffix = - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B; + private CitationKeyGenerationPreferences.KeySuffix getKeySuffix() { + CitationKeyGenerationPreferences.KeySuffix keySuffix = + org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_B; if (getBoolean(KEY_GEN_ALWAYS_ADD_LETTER)) { - keySuffix = CitationKeyPatternPreferences.KeySuffix.ALWAYS; + keySuffix = org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.ALWAYS; } else if (getBoolean(KEY_GEN_FIRST_LETTER_A)) { - keySuffix = CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A; + keySuffix = org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A; } return keySuffix; } @@ -1828,7 +1829,6 @@ public ExternalApplicationsPreferences getExternalApplicationsPreferences() { (obs, oldValue, newValue) -> put(FILE_BROWSER_COMMAND, newValue)); EasyBind.listen(externalApplicationsPreferences.kindleEmailProperty(), (obs, oldValue, newValue) -> put(KINDLE_EMAIL, newValue)); - return externalApplicationsPreferences; } @@ -2986,7 +2986,7 @@ public GrobidPreferences getGrobidPreferences() { public ImportFormatPreferences getImportFormatPreferences() { return new ImportFormatPreferences( getBibEntryPreferences(), - getCitationKeyPatternPreferences(), + getCitationKeyGenerationPreferences(), getFieldPreferences(), getXmpPreferences(), getDOIPreferences(), diff --git a/src/main/java/org/jabref/preferences/PreferencesService.java b/src/main/java/org/jabref/preferences/PreferencesService.java index a03123740d6..f57a1cfb033 100644 --- a/src/main/java/org/jabref/preferences/PreferencesService.java +++ b/src/main/java/org/jabref/preferences/PreferencesService.java @@ -14,7 +14,7 @@ import org.jabref.gui.specialfields.SpecialFieldsPreferences; import org.jabref.logic.JabRefException; import org.jabref.logic.bibtex.FieldPreferences; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.exporter.SelfContainedSaveConfiguration; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.ImporterPreferences; @@ -106,7 +106,7 @@ public interface PreferencesService { SSLPreferences getSSLPreferences(); - CitationKeyPatternPreferences getCitationKeyPatternPreferences(); + CitationKeyGenerationPreferences getCitationKeyGenerationPreferences(); PushToApplicationPreferences getPushToApplicationPreferences(); diff --git a/src/test/java/org/jabref/gui/autosaveandbackup/BackupManagerDiscardedTest.java b/src/test/java/org/jabref/gui/autosaveandbackup/BackupManagerDiscardedTest.java index a1ee0b8031e..1675e15c663 100644 --- a/src/test/java/org/jabref/gui/autosaveandbackup/BackupManagerDiscardedTest.java +++ b/src/test/java/org/jabref/gui/autosaveandbackup/BackupManagerDiscardedTest.java @@ -70,7 +70,7 @@ private void saveDatabase() throws IOException { bibWriter, saveConfiguration, preferencesService.getFieldPreferences(), - preferencesService.getCitationKeyPatternPreferences(), + preferencesService.getCitationKeyGenerationPreferences(), bibEntryTypesManager) .saveDatabase(bibDatabaseContext); } diff --git a/src/test/java/org/jabref/gui/exporter/SaveDatabaseActionTest.java b/src/test/java/org/jabref/gui/exporter/SaveDatabaseActionTest.java index 5752fc7afa7..c2497058d13 100644 --- a/src/test/java/org/jabref/gui/exporter/SaveDatabaseActionTest.java +++ b/src/test/java/org/jabref/gui/exporter/SaveDatabaseActionTest.java @@ -16,7 +16,7 @@ import org.jabref.gui.undo.CountingUndoManager; import org.jabref.gui.util.FileDialogConfiguration; import org.jabref.logic.bibtex.FieldPreferences; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.exporter.BibDatabaseWriter; import org.jabref.logic.exporter.SaveConfiguration; @@ -123,8 +123,8 @@ private SaveDatabaseAction createSaveDatabaseActionForBibDatabase(BibDatabase da when(dbContext.getEntries()).thenReturn(database.getEntries()); when(preferences.getBoolean(JabRefPreferences.LOCAL_AUTO_SAVE)).thenReturn(false); when(preferences.getFieldPreferences()).thenReturn(fieldPreferences); - when(preferences.getCitationKeyPatternPreferences()).thenReturn(mock(CitationKeyPatternPreferences.class)); - when(preferences.getCitationKeyPatternPreferences().getKeyPattern()).thenReturn(emptyGlobalCitationKeyPattern); + when(preferences.getCitationKeyGenerationPreferences()).thenReturn(mock(CitationKeyGenerationPreferences.class)); + when(preferences.getCitationKeyGenerationPreferences().getKeyPattern()).thenReturn(emptyGlobalCitationKeyPattern); when(preferences.getFieldPreferences().getNonWrappableFields()).thenReturn(FXCollections.emptyObservableList()); when(preferences.getLibraryPreferences()).thenReturn(mock(LibraryPreferences.class)); when(libraryTab.frame()).thenReturn(jabRefFrame); diff --git a/src/test/java/org/jabref/gui/push/PushToEmacsTest.java b/src/test/java/org/jabref/gui/push/PushToEmacsTest.java index 830cfff46b5..7e298a2ec6e 100644 --- a/src/test/java/org/jabref/gui/push/PushToEmacsTest.java +++ b/src/test/java/org/jabref/gui/push/PushToEmacsTest.java @@ -41,7 +41,7 @@ public void setup() { when(preferencesService.getPushToApplicationPreferences()).thenReturn(pushToApplicationPreferences); ExternalApplicationsPreferences externalApplicationsPreferences = mock(ExternalApplicationsPreferences.class); - when(externalApplicationsPreferences.getCiteCommand()).thenReturn("\\cite{key1,key2}"); + when(externalApplicationsPreferences.getCiteCommand().toString()).thenReturn("\\cite{key1,key2}"); when(preferencesService.getExternalApplicationsPreferences()).thenReturn(externalApplicationsPreferences); pushToEmacs = new PushToEmacs(dialogService, preferencesService); diff --git a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java index 37a2f0c4a05..ee22230d45c 100644 --- a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java +++ b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java @@ -93,11 +93,11 @@ static String generateKey(BibEntry entry, String pattern) { static String generateKey(BibEntry entry, String pattern, BibDatabase database) { GlobalCitationKeyPattern keyPattern = GlobalCitationKeyPattern.fromPattern(pattern); - CitationKeyPatternPreferences patternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences patternPreferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -1014,11 +1014,11 @@ void generateKeyWithModifierContainingRegexCharacterClass() { void generateKeyDoesNotModifyTheKeyWithIncorrectRegexReplacement() { String pattern = "[title]"; GlobalCitationKeyPattern keyPattern = GlobalCitationKeyPattern.fromPattern(pattern); - CitationKeyPatternPreferences patternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences patternPreferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "[", // Invalid regexp "", DEFAULT_UNWANTED_CHARACTERS, diff --git a/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithDatabaseTest.java b/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithDatabaseTest.java index 202e06fcc3c..f7c611a8546 100644 --- a/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithDatabaseTest.java +++ b/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithDatabaseTest.java @@ -18,7 +18,7 @@ class MakeLabelWithDatabaseTest { private BibDatabase database; - private CitationKeyPatternPreferences preferences; + private CitationKeyGenerationPreferences preferences; private GlobalCitationKeyPattern pattern; private DatabaseCitationKeyPattern bibtexKeyPattern; private BibEntry entry; @@ -34,11 +34,11 @@ void setUp() { database.insertEntry(entry); pattern = GlobalCitationKeyPattern.fromPattern("[auth][year]"); bibtexKeyPattern = new DatabaseCitationKeyPattern(pattern); - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -66,11 +66,11 @@ void generateDefaultKeyAlreadyExistsDuplicatesStartAtA() { @Test void generateDefaultKeyAlwaysLetter() { - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.ALWAYS, + CitationKeyGenerationPreferences.KeySuffix.ALWAYS, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -84,11 +84,11 @@ void generateDefaultKeyAlwaysLetter() { @Test void generateDefaultKeyAlwaysLetterAlreadyExistsDuplicatesStartAtB() { - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.ALWAYS, + CitationKeyGenerationPreferences.KeySuffix.ALWAYS, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -107,11 +107,11 @@ void generateDefaultKeyAlwaysLetterAlreadyExistsDuplicatesStartAtB() { @Test void generateDefaultKeyStartDuplicatesAtB() { - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_B, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -125,11 +125,11 @@ void generateDefaultKeyStartDuplicatesAtB() { @Test void generateDefaultKeyAlreadyExistsDuplicatesStartAtB() { - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_B, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -426,11 +426,11 @@ void generateKeyAuthNMLargeMReallyReturnsEmptyString() { @Test void generateKeyRegExReplace() { - preferences = new CitationKeyPatternPreferences( + preferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "2", "3", DEFAULT_UNWANTED_CHARACTERS, diff --git a/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithoutDatabaseTest.java b/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithoutDatabaseTest.java index 18afa3b2dd0..86d24842d99 100644 --- a/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithoutDatabaseTest.java +++ b/src/test/java/org/jabref/logic/citationkeypattern/MakeLabelWithoutDatabaseTest.java @@ -24,11 +24,11 @@ class MakeLabelWithoutDatabaseTest { void setUp() { GlobalCitationKeyPattern keyPattern = new GlobalCitationKeyPattern(Collections.emptyList()); keyPattern.setDefaultValue("[auth]"); - CitationKeyPatternPreferences patternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences patternPreferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "", "", CitationKeyGenerator.DEFAULT_UNWANTED_CHARACTERS, diff --git a/src/test/java/org/jabref/logic/crawler/CrawlerTest.java b/src/test/java/org/jabref/logic/crawler/CrawlerTest.java index 3bb915cf568..845f57b565b 100644 --- a/src/test/java/org/jabref/logic/crawler/CrawlerTest.java +++ b/src/test/java/org/jabref/logic/crawler/CrawlerTest.java @@ -7,7 +7,7 @@ import javafx.collections.FXCollections; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.exporter.SaveConfiguration; import org.jabref.logic.git.SlrGitHandler; @@ -56,11 +56,11 @@ class CrawlerTest { public void setUp() throws Exception { setUpRepository(); - CitationKeyPatternPreferences citationKeyPatternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences citationKeyGenerationPreferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "", "", DEFAULT_UNWANTED_CHARACTERS, @@ -75,7 +75,7 @@ public void setUp() throws Exception { when(importerPreferences.getApiKeys()).thenReturn(FXCollections.emptyObservableSet()); when(importFormatPreferences.bibEntryPreferences().getKeywordSeparator()).thenReturn(','); - when(preferencesService.getCitationKeyPatternPreferences()).thenReturn(citationKeyPatternPreferences); + when(preferencesService.getCitationKeyGenerationPreferences()).thenReturn(citationKeyGenerationPreferences); entryTypesManager = new BibEntryTypesManager(); } diff --git a/src/test/java/org/jabref/logic/crawler/StudyRepositoryTest.java b/src/test/java/org/jabref/logic/crawler/StudyRepositoryTest.java index 5ca6c35200c..e7824be20b4 100644 --- a/src/test/java/org/jabref/logic/crawler/StudyRepositoryTest.java +++ b/src/test/java/org/jabref/logic/crawler/StudyRepositoryTest.java @@ -10,8 +10,8 @@ import javafx.collections.FXCollections; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.CitationKeyGenerator; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.database.DatabaseMerger; import org.jabref.logic.exporter.SaveConfiguration; @@ -45,7 +45,7 @@ class StudyRepositoryTest { private static final String NON_EXISTING_DIRECTORY = "nonExistingTestRepositoryDirectory"; - CitationKeyPatternPreferences citationKeyPatternPreferences; + CitationKeyGenerationPreferences CitationKeyGenerationPreferences; PreferencesService preferencesService; LibraryPreferences libraryPreferences; ImportFormatPreferences importFormatPreferences; @@ -68,18 +68,18 @@ public void setUpMocks() throws Exception { saveConfiguration = mock(SaveConfiguration.class, Answers.RETURNS_DEEP_STUBS); importFormatPreferences = mock(ImportFormatPreferences.class, Answers.RETURNS_DEEP_STUBS); preferencesService = mock(PreferencesService.class, Answers.RETURNS_DEEP_STUBS); - citationKeyPatternPreferences = new CitationKeyPatternPreferences( + CitationKeyGenerationPreferences = new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_A, + org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_A, "", "", DEFAULT_UNWANTED_CHARACTERS, GlobalCitationKeyPattern.fromPattern("[auth][year]"), "", ','); - when(preferencesService.getCitationKeyPatternPreferences()).thenReturn(citationKeyPatternPreferences); + when(preferencesService.getCitationKeyGenerationPreferences()).thenReturn(CitationKeyGenerationPreferences); when(preferencesService.getImporterPreferences().getApiKeys()).thenReturn(FXCollections.emptyObservableSet()); when(importFormatPreferences.bibEntryPreferences().getKeywordSeparator()).thenReturn(','); when(preferencesService.getImportFormatPreferences()).thenReturn(importFormatPreferences); @@ -259,7 +259,7 @@ private List getSpringerQuantumMockResults() { .withField(StandardField.TITLE, "Automatic Control, Robotics, and Information Processing"); entry3.setType(StandardEntryType.Article); - CitationKeyGenerator citationKeyGenerator = new CitationKeyGenerator(new BibDatabaseContext(), citationKeyPatternPreferences); + CitationKeyGenerator citationKeyGenerator = new CitationKeyGenerator(new BibDatabaseContext(), CitationKeyGenerationPreferences); citationKeyGenerator.generateAndSetKey(entry3); return List.of(entry1, entry2, entry3); diff --git a/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java b/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java index be277db4e5b..108f6c29668 100644 --- a/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java +++ b/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java @@ -15,7 +15,7 @@ import org.jabref.logic.bibtex.FieldPreferences; import org.jabref.logic.citationkeypattern.AbstractCitationKeyPattern; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.DatabaseCitationKeyPattern; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.cleanup.FieldFormatterCleanup; @@ -74,7 +74,7 @@ public class BibtexDatabaseWriterTest { private ImportFormatPreferences importFormatPreferences; private SelfContainedSaveConfiguration saveConfiguration; private FieldPreferences fieldPreferences; - private CitationKeyPatternPreferences citationKeyPatternPreferences; + private CitationKeyGenerationPreferences CitationKeyGenerationPreferences; private BibEntryTypesManager entryTypesManager; private StringWriter stringWriter; private BibWriter bibWriter; @@ -83,7 +83,7 @@ public class BibtexDatabaseWriterTest { void setUp() { fieldPreferences = new FieldPreferences(true, Collections.emptyList(), Collections.emptyList()); saveConfiguration = new SelfContainedSaveConfiguration(SaveOrder.getDefaultSaveOrder(), false, BibDatabaseWriter.SaveType.WITH_JABREF_META_DATA, false); - citationKeyPatternPreferences = mock(CitationKeyPatternPreferences.class, Answers.RETURNS_DEEP_STUBS); + CitationKeyGenerationPreferences = mock(CitationKeyGenerationPreferences.class, Answers.RETURNS_DEEP_STUBS); entryTypesManager = new BibEntryTypesManager(); stringWriter = new StringWriter(); bibWriter = new BibWriter(stringWriter, OS.NEWLINE); @@ -100,7 +100,7 @@ private void initializeDatabaseWriter() { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); } @@ -462,7 +462,7 @@ void roundtripWin1252HeaderKept(@TempDir Path bibFolder) throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.saveDatabase(context); } @@ -486,7 +486,7 @@ void roundtripUtf8HeaderKept(@TempDir Path bibFolder) throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.saveDatabase(context); } @@ -510,7 +510,7 @@ void roundtripNotExplicitUtf8HeaderNotInsertedDuringWrite(@TempDir Path bibFolde bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.saveDatabase(context); } @@ -531,7 +531,7 @@ void roundtripWithComplexBib() throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.savePartOfDatabase(context, result.getDatabase().getEntries()); assertEquals(Files.readString(testBibtexFile, encoding), stringWriter.toString()); @@ -574,7 +574,7 @@ void roundtripWithOneUserCommentAndEntryChange() throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.savePartOfDatabase(context, result.getDatabase().getEntries()); assertEquals(bibEntry, stringWriter.toString()); @@ -607,7 +607,7 @@ void roundtripWithTwoEntriesAndOneUserCommentAndEntryChange() throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.savePartOfDatabase(context, result.getDatabase().getEntries()); assertEquals(bibEntry, stringWriter.toString()); @@ -959,7 +959,7 @@ void saveAlsoSavesSecondModification() throws Exception { bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.savePartOfDatabase(context, firstParse.getDatabase().getEntries()); @@ -1039,7 +1039,7 @@ void saveReturnsToOriginalEntryWhenEntryIsFlaggedUnchangedEvenInThePresenceOfSav bibWriter, saveConfiguration, fieldPreferences, - citationKeyPatternPreferences, + CitationKeyGenerationPreferences, entryTypesManager); databaseWriter.savePartOfDatabase(context, firstParse.getDatabase().getEntries()); diff --git a/src/test/java/org/jabref/logic/integrity/CitationKeyDeviationCheckerTest.java b/src/test/java/org/jabref/logic/integrity/CitationKeyDeviationCheckerTest.java index 731dbfac2ee..33be31a43a2 100644 --- a/src/test/java/org/jabref/logic/integrity/CitationKeyDeviationCheckerTest.java +++ b/src/test/java/org/jabref/logic/integrity/CitationKeyDeviationCheckerTest.java @@ -4,7 +4,7 @@ import java.util.List; import org.jabref.logic.citationkeypattern.AbstractCitationKeyPattern; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.l10n.Localization; import org.jabref.model.database.BibDatabase; @@ -28,14 +28,14 @@ public class CitationKeyDeviationCheckerTest { private final MetaData metaData = mock(MetaData.class); private final AbstractCitationKeyPattern abstractCitationKeyPattern = mock(AbstractCitationKeyPattern.class); private final GlobalCitationKeyPattern globalCitationKeyPattern = mock(GlobalCitationKeyPattern.class); - private final CitationKeyPatternPreferences citationKeyPatternPreferences = mock(CitationKeyPatternPreferences.class); - private final CitationKeyDeviationChecker checker = new CitationKeyDeviationChecker(bibDatabaseContext, citationKeyPatternPreferences); + private final CitationKeyGenerationPreferences CitationKeyGenerationPreferences = mock(CitationKeyGenerationPreferences.class); + private final CitationKeyDeviationChecker checker = new CitationKeyDeviationChecker(bibDatabaseContext, CitationKeyGenerationPreferences); @BeforeEach void setUp() { when(bibDatabaseContext.getMetaData()).thenReturn(metaData); - when(citationKeyPatternPreferences.getKeyPattern()).thenReturn(globalCitationKeyPattern); - when(metaData.getCiteKeyPattern(citationKeyPatternPreferences.getKeyPattern())).thenReturn(abstractCitationKeyPattern); + when(CitationKeyGenerationPreferences.getKeyPattern()).thenReturn(globalCitationKeyPattern); + when(metaData.getCiteKeyPattern(CitationKeyGenerationPreferences.getKeyPattern())).thenReturn(abstractCitationKeyPattern); when(bibDatabaseContext.getDatabase()).thenReturn(bibDatabase); } diff --git a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java index 5a589970aba..4b0002dce02 100644 --- a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java +++ b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java @@ -10,7 +10,7 @@ import java.util.stream.Stream; import org.jabref.logic.citationkeypattern.CitationKeyGenerator; -import org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences; +import org.jabref.logic.citationkeypattern.CitationKeyGenerationPreferences; import org.jabref.logic.citationkeypattern.GlobalCitationKeyPattern; import org.jabref.logic.journals.JournalAbbreviationLoader; import org.jabref.model.database.BibDatabase; @@ -138,7 +138,7 @@ void testEntryIsUnchangedAfterChecks() { new IntegrityCheck(context, mock(FilePreferences.class), - createCitationKeyPatternPreferences(), + createCitationKeyGenerationPreferences(), JournalAbbreviationLoader.loadBuiltInRepository(), false) .check(); @@ -170,7 +170,7 @@ private BibDatabaseContext createContext(Field field, String value) { private void assertWrong(BibDatabaseContext context) { List messages = new IntegrityCheck(context, mock(FilePreferences.class), - createCitationKeyPatternPreferences(), + createCitationKeyGenerationPreferences(), JournalAbbreviationLoader.loadBuiltInRepository(), false) .check(); assertNotEquals(Collections.emptyList(), messages); @@ -181,18 +181,18 @@ private void assertCorrect(BibDatabaseContext context) { when(filePreferencesMock.shouldStoreFilesRelativeToBibFile()).thenReturn(true); List messages = new IntegrityCheck(context, filePreferencesMock, - createCitationKeyPatternPreferences(), + createCitationKeyGenerationPreferences(), JournalAbbreviationLoader.loadBuiltInRepository(), false ).check(); assertEquals(Collections.emptyList(), messages); } - private CitationKeyPatternPreferences createCitationKeyPatternPreferences() { - return new CitationKeyPatternPreferences( + private CitationKeyGenerationPreferences createCitationKeyGenerationPreferences() { + return new CitationKeyGenerationPreferences( false, false, false, - CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B, + CitationKeyGenerationPreferences.KeySuffix.SECOND_WITH_B, "", "", CitationKeyGenerator.DEFAULT_UNWANTED_CHARACTERS, diff --git a/src/test/java/org/jabref/preferences/ExternalApplicationsPreferencesTest.java b/src/test/java/org/jabref/preferences/ExternalApplicationsPreferencesTest.java new file mode 100644 index 00000000000..ee92e4fd55c --- /dev/null +++ b/src/test/java/org/jabref/preferences/ExternalApplicationsPreferencesTest.java @@ -0,0 +1,48 @@ +package org.jabref.preferences; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ExternalApplicationsPreferencesTest { + + + @Test + public void testGetCiteCommandWhenValid() { + ExternalApplicationsPreferences prefs = new ExternalApplicationsPreferences( + "emailSubject", + true, + "\\cite{key1,key2}", + "defaultCiteCommand", + false, + "customTerminalCommand", + false, + "customFileBrowserCommand", + "kindleEmail" + ); + + CitationCommandStringPreferences result = prefs.getCiteCommand(); + assertEquals("\\cite{", result.prefix()); + assertEquals(",", result.delimiter()); + assertEquals("}", result.suffix()); + } + + @Test + void testGetCiteCommandWhenInValid() { + ExternalApplicationsPreferences prefs = new ExternalApplicationsPreferences( + "emailSubject", + true, + "\\cite", + String defaultCiteCommand, + false, + "customTerminalCommand", + false, + "customFileBrowserCommand", + "kindleEmail"); + + CitationCommandStringPreferences result = prefs.getCiteCommand(); + assertEquals("{", result.prefix()); // default prefix + assertEquals(",", result.delimiter()); // default delimiter + assertEquals("}", result.suffix()); // default suffix + } +}