Skip to content

Commit c165a2a

Browse files
authored
Clean up packages in JabKit (#14335)
* Clean up packages in JabKit * Fix namings - entry point: JabKitLauncher - command "jabkit": JabKit * Fix main class name
1 parent 88c13af commit c165a2a

26 files changed

+114
-113
lines changed

.jbang/JabKitLauncher.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
//JAVA 24
66
//RUNTIME_OPTIONS --enable-native-access=ALL-UNNAMED
77

8-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/converter/CygWinPathConverter.java
9-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/ArgumentProcessor.java
10-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/CheckConsistency.java
11-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/CheckIntegrity.java
12-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Convert.java
13-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/DoiToBibtex.java
14-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Fetch.java
15-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/GenerateBibFromAux.java
16-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/GenerateCitationKeys.java
17-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Pdf.java
18-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/PdfUpdate.java
19-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Preferences.java
20-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Pseudonymize.java
21-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/cli/Search.java
22-
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/JabKit.java
8+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/converter/CygWinPathConverter.java
9+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/JabKit.java
10+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/CheckConsistency.java
11+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/CheckIntegrity.java
12+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Convert.java
13+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/DoiToBibtex.java
14+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Fetch.java
15+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/GenerateBibFromAux.java
16+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/GenerateCitationKeys.java
17+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Pdf.java
18+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/PdfUpdate.java
19+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Preferences.java
20+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Pseudonymize.java
21+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/commands/Search.java
22+
//SOURCES ../jabkit/src/main/java/org/jabref/toolkit/JabKitLauncher.java
2323
//FILES tinylog.properties=../jabkit/src/main/resources/tinylog.properties
2424

2525
// raw is for https://github.com/unicode-org/icu/pull/2127
@@ -33,6 +33,6 @@
3333
/// This class is required for [jbang](https://www.jbang.dev/)
3434
public class JabKitLauncher {
3535
public static void main(String[] args) {
36-
org.jabref.toolkit.JabKit.main(args);
36+
org.jabref.toolkit.JabKitLauncher.main(args);
3737
}
3838
}

jabkit/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ javaModuleTesting.whitebox(testing.suites["test"]) {
6363
}
6464

6565
application {
66-
mainClass.set("org.jabref.toolkit.JabKit")
66+
mainClass.set("org.jabref.toolkit.JabKitLauncher")
6767
mainModule.set("org.jabref.jabkit")
6868

6969
// Also passed to launcher by java-module-packaging plugin

jabkit/src/main/java/module-info.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
requires org.jabref.jablib;
33

44
requires info.picocli;
5-
opens org.jabref.toolkit.cli;
6-
opens org.jabref.toolkit.cli.converter;
5+
opens org.jabref.toolkit.commands;
6+
opens org.jabref.toolkit.converter;
7+
opens org.jabref.toolkit;
78

89
requires transitive org.jspecify;
910
requires java.prefs;

jabkit/src/main/java/org/jabref/toolkit/JabKit.java renamed to jabkit/src/main/java/org/jabref/toolkit/JabKitLauncher.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import org.jabref.model.entry.BibEntryTypesManager;
3333
import org.jabref.model.util.DummyFileUpdateMonitor;
3434
import org.jabref.model.util.FileUpdateMonitor;
35-
import org.jabref.toolkit.cli.ArgumentProcessor;
35+
import org.jabref.toolkit.commands.JabKit;
3636

3737
import com.airhacks.afterburner.injection.Injector;
3838
import org.slf4j.Logger;
@@ -51,7 +51,7 @@
5151
/// For the GUI application see {@link org.jabref.Launcher}.
5252
///
5353
/// Does not do any preference migrations.
54-
public class JabKit {
54+
public class JabKitLauncher {
5555
// J.U.L. bridge to SLF4J must be initialized before any logger is created, see initLogging()
5656
private static Logger LOGGER;
5757

@@ -72,13 +72,13 @@ public static void main(String[] args) {
7272
BibEntryTypesManager entryTypesManager = preferences.getCustomEntryTypesRepository();
7373
Injector.setModelOrService(BibEntryTypesManager.class, entryTypesManager);
7474

75-
ArgumentProcessor argumentProcessor = new ArgumentProcessor(preferences, entryTypesManager);
76-
CommandLine commandLine = new CommandLine(argumentProcessor);
75+
JabKit jabKit = new JabKit(preferences, entryTypesManager);
76+
CommandLine commandLine = new CommandLine(jabKit);
7777
String usageHeader = BuildInfo.JABREF_BANNER.formatted(buildInfo.version) + "\n" + JABKIT_BRAND;
7878
commandLine.getCommandSpec().usageMessage().header(usageHeader);
7979
applyUsageFooters(commandLine,
80-
ArgumentProcessor.getAvailableImportFormats(preferences),
81-
ArgumentProcessor.getAvailableExportFormats(preferences),
80+
JabKit.getAvailableImportFormats(preferences),
81+
JabKit.getAvailableExportFormats(preferences),
8282
WebFetchers.getSearchBasedFetchers(preferences.getImportFormatPreferences(), preferences.getImporterPreferences()));
8383

8484
// Show help when no arguments are given. Placed after header and footer setup
@@ -158,7 +158,7 @@ public static void initLogging(String[] args) {
158158
try {
159159
Files.createDirectories(directory);
160160
} catch (IOException e) {
161-
LOGGER = LoggerFactory.getLogger(JabKit.class);
161+
LOGGER = LoggerFactory.getLogger(JabKitLauncher.class);
162162
LOGGER.error("Could not create log directory {}", directory, e);
163163
return;
164164
}
@@ -181,7 +181,7 @@ public static void initLogging(String[] args) {
181181
Configuration.set("%s.policies".formatted(fileWriterName), "startup");
182182
Configuration.set("%s.backups".formatted(fileWriterName), "30");
183183

184-
LOGGER = LoggerFactory.getLogger(JabKit.class);
184+
LOGGER = LoggerFactory.getLogger(JabKitLauncher.class);
185185
}
186186

187187
private static void configureProxy(ProxyPreferences proxyPreferences) {

jabkit/src/main/java/org/jabref/toolkit/cli/CheckConsistency.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/CheckConsistency.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.io.IOException;
44
import java.io.OutputStreamWriter;
@@ -14,7 +14,7 @@
1414
import org.jabref.logic.quality.consistency.BibliographyConsistencyCheckResultTxtWriter;
1515
import org.jabref.logic.quality.consistency.BibliographyConsistencyCheckResultWriter;
1616
import org.jabref.model.database.BibDatabaseContext;
17-
import org.jabref.toolkit.cli.converter.CygWinPathConverter;
17+
import org.jabref.toolkit.converter.CygWinPathConverter;
1818

1919
import org.slf4j.Logger;
2020
import org.slf4j.LoggerFactory;
@@ -28,10 +28,10 @@ class CheckConsistency implements Callable<Integer> {
2828
private static final Logger LOGGER = LoggerFactory.getLogger(CheckConsistency.class);
2929

3030
@ParentCommand
31-
private ArgumentProcessor argumentProcessor;
31+
private JabKit jabKit;
3232

3333
@Mixin
34-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
34+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
3535

3636
// [impl->req~jabkit.cli.input-flag~1]
3737
@Option(names = {"--input"}, converter = CygWinPathConverter.class, description = "Input BibTeX file", required = true)
@@ -42,10 +42,10 @@ class CheckConsistency implements Callable<Integer> {
4242

4343
@Override
4444
public Integer call() {
45-
Optional<ParserResult> parserResult = ArgumentProcessor.importFile(
45+
Optional<ParserResult> parserResult = JabKit.importFile(
4646
inputFile,
4747
"bibtex",
48-
argumentProcessor.cliPreferences,
48+
jabKit.cliPreferences,
4949
sharedOptions.porcelain);
5050
if (parserResult.isEmpty()) {
5151
System.out.println(Localization.lang("Unable to open file '%0'.", inputFile));
@@ -83,14 +83,14 @@ private int writeCheckResult(BibliographyConsistencyCheck.Result result, BibData
8383
result,
8484
writer,
8585
sharedOptions.porcelain,
86-
argumentProcessor.entryTypesManager,
86+
jabKit.entryTypesManager,
8787
databaseContext.getMode());
8888
} else {
8989
checkResultWriter = new BibliographyConsistencyCheckResultCsvWriter(
9090
result,
9191
writer,
9292
sharedOptions.porcelain,
93-
argumentProcessor.entryTypesManager,
93+
jabKit.entryTypesManager,
9494
databaseContext.getMode());
9595
}
9696

jabkit/src/main/java/org/jabref/toolkit/cli/CheckIntegrity.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/CheckIntegrity.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.io.IOException;
44
import java.io.OutputStreamWriter;
@@ -20,7 +20,7 @@
2020
import org.jabref.logic.journals.JournalAbbreviationLoader;
2121
import org.jabref.logic.l10n.Localization;
2222
import org.jabref.model.database.BibDatabaseContext;
23-
import org.jabref.toolkit.cli.converter.CygWinPathConverter;
23+
import org.jabref.toolkit.converter.CygWinPathConverter;
2424

2525
import org.slf4j.Logger;
2626
import org.slf4j.LoggerFactory;
@@ -36,10 +36,10 @@ class CheckIntegrity implements Callable<Integer> {
3636
private static final Logger LOGGER = LoggerFactory.getLogger(CheckIntegrity.class);
3737

3838
@CommandLine.ParentCommand
39-
private ArgumentProcessor argumentProcessor;
39+
private JabKit jabKit;
4040

4141
@Mixin
42-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
42+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
4343

4444
// [impl->req~jabkit.cli.input-flag~1]
4545
@Option(names = {"--input"}, converter = CygWinPathConverter.class, description = "Input BibTeX file", required = true)
@@ -54,10 +54,10 @@ class CheckIntegrity implements Callable<Integer> {
5454

5555
@Override
5656
public Integer call() {
57-
Optional<ParserResult> parserResult = ArgumentProcessor.importFile(
57+
Optional<ParserResult> parserResult = JabKit.importFile(
5858
inputFile,
5959
"bibtex",
60-
argumentProcessor.cliPreferences,
60+
jabKit.cliPreferences,
6161
sharedOptions.porcelain);
6262
if (parserResult.isEmpty()) {
6363
System.out.println(Localization.lang("Unable to open file '%0'.", inputFile));
@@ -78,9 +78,9 @@ public Integer call() {
7878

7979
IntegrityCheck integrityCheck = new IntegrityCheck(
8080
databaseContext,
81-
argumentProcessor.cliPreferences.getFilePreferences(),
82-
argumentProcessor.cliPreferences.getCitationKeyPatternPreferences(),
83-
JournalAbbreviationLoader.loadRepository(argumentProcessor.cliPreferences.getJournalAbbreviationPreferences()),
81+
jabKit.cliPreferences.getFilePreferences(),
82+
jabKit.cliPreferences.getCitationKeyPatternPreferences(),
83+
JournalAbbreviationLoader.loadRepository(jabKit.cliPreferences.getJournalAbbreviationPreferences()),
8484
allowIntegerEdition
8585
);
8686

jabkit/src/main/java/org/jabref/toolkit/cli/Convert.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/Convert.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.io.IOException;
44
import java.nio.file.Path;
@@ -15,7 +15,7 @@
1515
import org.jabref.logic.journals.JournalAbbreviationRepository;
1616
import org.jabref.logic.l10n.Localization;
1717
import org.jabref.model.database.BibDatabaseContext;
18-
import org.jabref.toolkit.cli.converter.CygWinPathConverter;
18+
import org.jabref.toolkit.converter.CygWinPathConverter;
1919

2020
import com.airhacks.afterburner.injection.Injector;
2121
import org.jspecify.annotations.NonNull;
@@ -28,14 +28,14 @@
2828
import static picocli.CommandLine.ParentCommand;
2929

3030
@Command(name = "convert", description = "Convert between bibliography formats.")
31-
public class Convert implements Runnable {
31+
class Convert implements Runnable {
3232
private static final Logger LOGGER = LoggerFactory.getLogger(Convert.class);
3333

3434
@ParentCommand
35-
private ArgumentProcessor argumentProcessor;
35+
private JabKit jabKit;
3636

3737
@Mixin
38-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
38+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
3939

4040
// [impl->req~jabkit.cli.input-flag~1]
4141
@Option(names = {"--input"}, converter = CygWinPathConverter.class, description = "Input file", required = true)
@@ -52,7 +52,7 @@ public class Convert implements Runnable {
5252

5353
@Override
5454
public void run() {
55-
Optional<ParserResult> parserResult = ArgumentProcessor.importFile(inputFile, inputFormat, argumentProcessor.cliPreferences, sharedOptions.porcelain);
55+
Optional<ParserResult> parserResult = JabKit.importFile(inputFile, inputFormat, jabKit.cliPreferences, sharedOptions.porcelain);
5656
if (parserResult.isEmpty()) {
5757
System.out.println(Localization.lang("Unable to open file '%0'.", inputFile));
5858
return;
@@ -81,9 +81,9 @@ protected void exportFile(@NonNull ParserResult parserResult, @NonNull Path outp
8181
}
8282

8383
if ("bibtex".equalsIgnoreCase(format)) {
84-
ArgumentProcessor.saveDatabase(
85-
argumentProcessor.cliPreferences,
86-
argumentProcessor.entryTypesManager,
84+
JabKit.saveDatabase(
85+
jabKit.cliPreferences,
86+
jabKit.entryTypesManager,
8787
parserResult.getDatabase(),
8888
outputFile);
8989
return;
@@ -93,9 +93,9 @@ protected void exportFile(@NonNull ParserResult parserResult, @NonNull Path outp
9393
BibDatabaseContext databaseContext = parserResult.getDatabaseContext();
9494
databaseContext.setDatabasePath(path);
9595
List<Path> fileDirForDatabase = databaseContext
96-
.getFileDirectories(argumentProcessor.cliPreferences.getFilePreferences());
96+
.getFileDirectories(jabKit.cliPreferences.getFilePreferences());
9797

98-
ExporterFactory exporterFactory = ExporterFactory.create(argumentProcessor.cliPreferences);
98+
ExporterFactory exporterFactory = ExporterFactory.create(jabKit.cliPreferences);
9999
Optional<Exporter> exporter = exporterFactory.getExporterByName(format);
100100
if (exporter.isEmpty()) {
101101
System.out.println(Localization.lang("Unknown export format '%0'.", format));

jabkit/src/main/java/org/jabref/toolkit/cli/DoiToBibtex.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/DoiToBibtex.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.io.IOException;
44
import java.io.OutputStreamWriter;
@@ -24,15 +24,15 @@
2424
import picocli.CommandLine.Parameters;
2525

2626
@Command(name = "doi-to-bibtex", description = "Converts a DOI to BibTeX")
27-
public class DoiToBibtex implements Callable<Integer> {
27+
class DoiToBibtex implements Callable<Integer> {
2828

2929
private static final Logger LOGGER = LoggerFactory.getLogger(DoiToBibtex.class);
3030

3131
@CommandLine.ParentCommand
32-
private ArgumentProcessor argumentProcessor;
32+
private JabKit argumentProcessor;
3333

3434
@CommandLine.Mixin
35-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
35+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
3636

3737
@Parameters(paramLabel = "DOI", description = "one or more DOIs to fetch", arity = "1..*")
3838
private String[] dois;

jabkit/src/main/java/org/jabref/toolkit/cli/Fetch.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/Fetch.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.nio.file.Path;
44
import java.util.List;
@@ -29,10 +29,10 @@ record Provider(String name, String query) {
2929
}
3030

3131
@ParentCommand
32-
private ArgumentProcessor argumentProcessor;
32+
private JabKit argumentProcessor;
3333

3434
@Mixin
35-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
35+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
3636

3737
@Option(names = "--provider", required = true)
3838
private String provider;
@@ -73,7 +73,7 @@ public void run() {
7373
}
7474

7575
if (outputFile != null) {
76-
ArgumentProcessor.saveDatabase(
76+
JabKit.saveDatabase(
7777
argumentProcessor.cliPreferences,
7878
argumentProcessor.entryTypesManager,
7979
new BibDatabase(matches),

jabkit/src/main/java/org/jabref/toolkit/cli/GenerateBibFromAux.java renamed to jabkit/src/main/java/org/jabref/toolkit/commands/GenerateBibFromAux.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.jabref.toolkit.cli;
1+
package org.jabref.toolkit.commands;
22

33
import java.nio.file.Files;
44
import java.nio.file.Path;
@@ -13,7 +13,7 @@
1313
import org.jabref.logic.l10n.Localization;
1414
import org.jabref.model.database.BibDatabase;
1515
import org.jabref.model.entry.BibEntry;
16-
import org.jabref.toolkit.cli.converter.CygWinPathConverter;
16+
import org.jabref.toolkit.converter.CygWinPathConverter;
1717

1818
import org.slf4j.Logger;
1919
import org.slf4j.LoggerFactory;
@@ -28,10 +28,10 @@ class GenerateBibFromAux implements Runnable {
2828
private static final Logger LOGGER = LoggerFactory.getLogger(GenerateBibFromAux.class);
2929

3030
@ParentCommand
31-
private ArgumentProcessor argumentProcessor;
31+
private JabKit argumentProcessor;
3232

3333
@Mixin
34-
private ArgumentProcessor.SharedOptions sharedOptions = new ArgumentProcessor.SharedOptions();
34+
private JabKit.SharedOptions sharedOptions = new JabKit.SharedOptions();
3535

3636
@Option(names = "--aux", required = true)
3737
private Path auxFile;
@@ -45,7 +45,7 @@ class GenerateBibFromAux implements Runnable {
4545

4646
@Override
4747
public void run() {
48-
Optional<ParserResult> pr = ArgumentProcessor.importFile(
48+
Optional<ParserResult> pr = JabKit.importFile(
4949
inputFile,
5050
"bibtex",
5151
argumentProcessor.cliPreferences,
@@ -83,7 +83,7 @@ public void run() {
8383
.collect(Collectors.joining("\n\n")));
8484
return;
8585
} else {
86-
ArgumentProcessor.saveDatabase(
86+
JabKit.saveDatabase(
8787
argumentProcessor.cliPreferences,
8888
argumentProcessor.entryTypesManager,
8989
subDatabase,

0 commit comments

Comments
 (0)