Skip to content

Commit 3ed1da7

Browse files
rYamal4AXEPOH
authored andcommitted
DBTOOLS-1700 messages refactoring
1 parent 4109ec4 commit 3ed1da7

File tree

7 files changed

+24
-29
lines changed

7 files changed

+24
-29
lines changed

src/main/java/org/pgcodekeeper/cli/Application.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import java.nio.file.Path;
4343
import java.nio.file.Paths;
4444
import java.sql.SQLException;
45-
import java.text.MessageFormat;
4645
import java.util.List;
4746
import java.util.stream.Collectors;
4847

@@ -127,8 +126,9 @@ private static boolean diff(PrintWriter writer, CliArgs arguments)
127126
if (!dangerTypes.isEmpty()) {
128127
String dangerStmt = dangerTypes.stream().map(DangerStatement::name)
129128
.collect(Collectors.joining(", ")); //$NON-NLS-1$
130-
LOG.warn(Messages.Main_log_contains_dangerous_statements, dangerStmt);
131-
String msg = MessageFormat.format(Messages.Main_danger_statements, dangerStmt);
129+
var logMsg = Messages.Main_log_contains_dangerous_statements.formatted(dangerStmt);
130+
LOG.warn(logMsg);
131+
String msg = Messages.Main_danger_statements.formatted(dangerStmt);
132132
writer.println(msg);
133133
if (encodedWriter != null) {
134134
encodedWriter.println("-- " + msg); //$NON-NLS-1$

src/main/java/org/pgcodekeeper/cli/CliArgs.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.io.PrintWriter;
2121
import java.nio.charset.Charset;
2222
import java.nio.charset.StandardCharsets;
23-
import java.text.MessageFormat;
2423
import java.util.ArrayList;
2524
import java.util.Collection;
2625
import java.util.Collections;
@@ -805,14 +804,14 @@ private void checkDbTypesParam() throws CmdLineException {
805804

806805
private void badArgWithCorrectModes(boolean condition, String param, CliMode... modes) throws CmdLineException {
807806
if (condition && !containsInArray(mode, modes)) {
808-
badArgs(MessageFormat.format(Messages.CliArgs_error_wrong_mode, param, mode));
807+
badArgs(Messages.CliArgs_error_wrong_mode.formatted(param, mode));
809808
}
810809
}
811810

812811
private void badArgWithWrongDbType(boolean condition, String arg, DatabaseType... wrongDbTypes)
813812
throws CmdLineException {
814813
if (condition && containsInArray(dbType, wrongDbTypes)) {
815-
badArgs(MessageFormat.format(Messages.CliArgs_error_wrong_db_type, arg, dbType));
814+
badArgs(Messages.CliArgs_error_wrong_db_type.formatted(arg, dbType));
816815
}
817816
}
818817

@@ -840,13 +839,13 @@ private void printUsage(PrintWriter writer) {
840839
new CmdLineParser(new CliArgs(), prop).printUsage(new OutputStreamWriter(buf, StandardCharsets.UTF_8),
841840
new CliArgsLocalizationsBundle());
842841

843-
writer.println(MessageFormat.format(Messages.UsageHelp.replace("${tab}", "\t"), //$NON-NLS-1$ //$NON-NLS-2$
842+
writer.println(Messages.UsageHelp.replace("${tab}", "\t").formatted( //$NON-NLS-1$ //$NON-NLS-2$
844843
buf.toString(StandardCharsets.UTF_8),
845844
DangerStatementOptionHandler.getMetaVariable() + '\n' + DbObjTypeOptionHandler.getMetaVariable()));
846845
}
847846

848847
private void printVersion(PrintWriter writer) {
849-
writer.println(MessageFormat.format(Messages.Version, Utils.getVersion()));
848+
writer.println(Messages.Version.formatted(Utils.getVersion()));
850849
}
851850

852851
private void listCharsets(PrintWriter writer) {

src/main/java/org/pgcodekeeper/cli/exception/LibraryObjectDuplicationException.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717

1818
import org.pgcodekeeper.core.schema.PgOverride;
1919

20-
import java.text.MessageFormat;
2120
import java.util.Collection;
2221
import java.util.stream.Collectors;
2322

2423

2524
public class LibraryObjectDuplicationException extends RuntimeException {
2625

27-
private static final String ENTRY = "{0} {1} in {2} conflicts with object in {3}"; //$NON-NLS-1$
26+
private static final String ENTRY = "%s %s in %s conflicts with object in %s"; //$NON-NLS-1$
2827

2928
private static final long serialVersionUID = -4197153074585872486L;
3029

@@ -51,7 +50,7 @@ public LibraryObjectDuplicationException(String message, Throwable cause,
5150

5251
public LibraryObjectDuplicationException(Collection<PgOverride> overrides) {
5352
super("Library conflicts:\n" + overrides.stream() //$NON-NLS-1$
54-
.map(o -> MessageFormat.format(ENTRY, o.getType(), o.getName(), o.getOldPath(), o.getNewPath()))
53+
.map(o -> ENTRY.formatted(o.getType(), o.getName(), o.getOldPath(), o.getNewPath()))
5554
.collect(Collectors.joining("\n"))); //$NON-NLS-1$
5655
}
5756
}

src/main/java/org/pgcodekeeper/cli/localizations/Messages.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ public class Messages {
140140

141141

142142
static {
143-
// TODO replace with ENUM
144143
ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME);
145144
for (String key : bundle.keySet()) {
146145
try {

src/main/resources/org/pgcodekeeper/cli/localizations/messages.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ CliArgs_error_source_null = Please specify SOURCE.
3939

4040
CliArgs_error_target_non_db = Script can be applied only to database.
4141

42-
CliArgs_error_wrong_db_type = {0} cannot be used with --db-type {1} option
42+
CliArgs_error_wrong_db_type = %s cannot be used with --db-type %s option
4343

44-
CliArgs_error_wrong_mode = {0} cannot be used with --mode {1} option
44+
CliArgs_error_wrong_mode = %s cannot be used with --mode %s option
4545

4646
CliArgs_generate_constraint_not_valid = print CONSTRAINT NOT VALID for no partitioned tables
4747

@@ -147,13 +147,13 @@ DatabaseType_unsupported_type = Unsupported database type:
147147
148148
Main_cach_clear = Library cache cleared
149149
150-
Main_danger_statements = Script contains dangerous statements: {0}. Use --allow-danger-ddl to override.
150+
Main_danger_statements = Script contains dangerous statements: %s. Use --allow-danger-ddl to override.
151151
152152
Main_log_apply_migration_script = Apply migration script on target database
153153
154154
Main_log_build_graph_deps = Building graph dependencies
155155
156-
Main_log_contains_dangerous_statements = Migration script contains dangerous statements: {}
156+
Main_log_contains_dangerous_statements = Migration script contains dangerous statements: %s
157157
158158
Main_log_create_script = Starting creating script
159159
@@ -197,10 +197,10 @@ PgDiffCli_log_load_old_db_overrides = Load old database's overrides
197197
198198
PgDiffCli_log_start_db_analyze = Start database analysis
199199
200-
UnknownDBFormat = Unknown DB format: {0}
200+
UnknownDBFormat = Unknown DB format: %s
201201
202-
UsageHelp = Usage\n${tab}pgcodekeeper-cli [option]... SOURCE DEST\n${tab}pgcodekeeper-cli -s SOURCE -t DEST [option]...\n${tab}pgcodekeeper-cli --mode PARSE -o OUTDIR [--update-project] [option]... SOURCE\n${tab}pgcodekeeper-cli --mode GRAPH [option]... SOURCE\n${tab}pgcodekeeper-cli --mode INSERT --insert-name <name> --insert-filter <filter> [option]... SOURCE\n${tab}pgcodekeeper-cli --mode VERIFY --verify-rule-set <path> --verify-source <path> [option]...\n\n{0}\n{1}\n\nLibrary load order\n${tab}Libraries are loaded in the following order:\n${tab}${tab}1. Libraries in specified XML lists.\n${tab}${tab}2. Explicitly specified libraries.\n${tab}${tab}3. Explicitly specified libraries without privileges.\n${tab}In each group order is defined by the given argument order. Within XMLs entry order is used.\n${tab}Objects loaded first in this sequence may override ones loaded later (if --lib-safe-mode is off).\n\nLive database connections\n${tab}Use JDBC connection URL to specify live databases\n${tab}${tab}PostgreSQL: https://jdbc.postgresql.org/documentation/head/connect.html\n${tab}${tab}MS SQL: https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url\n${tab}${tab}ClickHouse: https://clickhouse.com/docs/en/integrations/java#configuration
202+
UsageHelp = Usage\n${tab}pgcodekeeper-cli [option]... SOURCE DEST\n${tab}pgcodekeeper-cli -s SOURCE -t DEST [option]...\n${tab}pgcodekeeper-cli --mode PARSE -o OUTDIR [--update-project] [option]... SOURCE\n${tab}pgcodekeeper-cli --mode GRAPH [option]... SOURCE\n${tab}pgcodekeeper-cli --mode INSERT --insert-name <name> --insert-filter <filter> [option]... SOURCE\n${tab}pgcodekeeper-cli --mode VERIFY --verify-rule-set <path> --verify-source <path> [option]...\n\n%s\n%s\n\nLibrary load order\n${tab}Libraries are loaded in the following order:\n${tab}${tab}1. Libraries in specified XML lists.\n${tab}${tab}2. Explicitly specified libraries.\n${tab}${tab}3. Explicitly specified libraries without privileges.\n${tab}In each group order is defined by the given argument order. Within XMLs entry order is used.\n${tab}Objects loaded first in this sequence may override ones loaded later (if --lib-safe-mode is off).\n\nLive database connections\n${tab}Use JDBC connection URL to specify live databases\n${tab}${tab}PostgreSQL: https://jdbc.postgresql.org/documentation/head/connect.html\n${tab}${tab}MS SQL: https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url\n${tab}${tab}ClickHouse: https://clickhouse.com/docs/en/integrations/java#configuration
203203
204204
Utils_error_get_version = error: no OSGI running
205205
206-
Version = Version: {0}
206+
Version = Version: %s

src/main/resources/org/pgcodekeeper/cli/localizations/messages_ru_RU.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ CliArgs_error_source_null = \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u04
3939

4040
CliArgs_error_target_non_db = \u0421\u043A\u0440\u0438\u043F\u0442 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043A \u0431\u0430\u0437\u0435 \u0434\u0430\u043D\u043D\u044B\u0445.
4141

42-
CliArgs_error_wrong_db_type = {0} \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0441 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --db-type {1}
42+
CliArgs_error_wrong_db_type = %s \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0441 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --db-type %s
4343

44-
CliArgs_error_wrong_mode = {0} \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F c \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --mode {1}
44+
CliArgs_error_wrong_mode = %s \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F c \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --mode %s
4545

4646
CliArgs_generate_constraint_not_valid = \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C CONSTRAINT NOT VALID \u0434\u043B\u044F \u043D\u0435 \u043F\u0430\u0440\u0442\u0438\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0442\u0430\u0431\u043B\u0438\u0446
4747

@@ -147,13 +147,13 @@ DatabaseType_unsupported_type = \u041D\u0435\u043F\u043E\u0434\u0434\u0435\u0440
147147

148148
Main_cach_clear = \u041A\u044D\u0448 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A \u043E\u0447\u0438\u0449\u0435\u043D
149149

150-
Main_danger_statements = \u0421\u043A\u0440\u0438\u043F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u044B: {0}. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --allow-danger-ddl \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F.
150+
Main_danger_statements = \u0421\u043A\u0440\u0438\u043F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u044B: %s. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --allow-danger-ddl \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F.
151151

152152
Main_log_apply_migration_script = \u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0441\u043A\u0440\u0438\u043F\u0442\u0430 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043A \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043D\u043D\u044B\u0445
153153

154154
Main_log_build_graph_deps = \u041F\u043E\u0441\u0442\u0440\u043E\u0435\u043D\u0438\u0435 \u0433\u0440\u0430\u0444\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439
155155

156-
Main_log_contains_dangerous_statements = \u0421\u043A\u0440\u0438\u043F\u0442 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F: {}
156+
Main_log_contains_dangerous_statements = \u0421\u043A\u0440\u0438\u043F\u0442 \u043C\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F: %s
157157

158158
Main_log_create_script = \u0417\u0430\u043F\u0443\u0441\u043A \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0441\u043A\u0440\u0438\u043F\u0442\u0430
159159

@@ -197,10 +197,10 @@ PgDiffCli_log_load_old_db_overrides = \u0417\u0430\u0433\u0440\u0443\u0437\u043A
197197

198198
PgDiffCli_log_start_db_analyze = \u0421\u0442\u0430\u0440\u0442 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445
199199

200-
UnknownDBFormat = \u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445: {0}
200+
UnknownDBFormat = \u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445: %s
201201

202-
UsageHelp = \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\n${tab}pgcodekeeper-cli [option]... SOURCE DEST\n${tab}pgcodekeeper-cli -s SOURCE -t DEST [option]...\n${tab}pgcodekeeper-cli --mode PARSE -o OUTDIR [--update-project] [option]... SOURCE\n${tab}pgcodekeeper-cli --mode GRAPH [option]... SOURCE\n${tab}pgcodekeeper-cli --mode INSERT --insert-name <name> --insert-filter <filter> [option]... SOURCE\n${tab}pgcodekeeper-cli --mode VERIFY --verify-rule-set <path> --verify-source <path> [option]...\n\n{0}\n{1}\n\n\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\n${tab}\u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435:\n${tab}${tab}1. \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0432 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0445 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 XML.\n${tab}${tab}2. \u042F\u0432\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438.\n${tab}${tab}3. \u042F\u0432\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0431\u0435\u0437 \u043F\u0440\u0438\u0432\u0438\u043B\u0435\u0433\u0438\u0439.\n${tab}\u0412 \u043A\u0430\u0436\u0434\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442\u0441\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u044B\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430. \u0412 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u0445 XML \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0437\u0430\u043F\u0438\u0441\u0438.\n${tab}\u041E\u0431\u044A\u0435\u043A\u0442\u044B, \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0435 \u043F\u0435\u0440\u0432\u044B\u043C\u0438 \u0432 \u044D\u0442\u043E\u0439 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438, \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0442\u044C \u0442\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B \u043F\u043E\u0437\u0436\u0435 (\u0435\u0441\u043B\u0438 --lib-safe-mode \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D).\n\n\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043A \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043D\u043D\u044B\u0445\n${tab}\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 URL-\u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F JDBC \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0431\u0430\u0437 \u0434\u0430\u043D\u043D\u044B\u0445\n${tab}${tab}PostgreSQL: https://jdbc.postgresql.org/documentation/head/connect.html\n${tab}${tab}MS SQL: https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url\n${tab}${tab}ClickHouse: https://clickhouse.com/docs/en/integrations/java#configuration
202+
UsageHelp = \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\n${tab}pgcodekeeper-cli [option]... SOURCE DEST\n${tab}pgcodekeeper-cli -s SOURCE -t DEST [option]...\n${tab}pgcodekeeper-cli --mode PARSE -o OUTDIR [--update-project] [option]... SOURCE\n${tab}pgcodekeeper-cli --mode GRAPH [option]... SOURCE\n${tab}pgcodekeeper-cli --mode INSERT --insert-name <name> --insert-filter <filter> [option]... SOURCE\n${tab}pgcodekeeper-cli --mode VERIFY --verify-rule-set <path> --verify-source <path> [option]...\n\n%s\n%s\n\n\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\n${tab}\u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0432 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435:\n${tab}${tab}1. \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0432 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0445 \u0441\u043F\u0438\u0441\u043A\u0430\u0445 XML.\n${tab}${tab}2. \u042F\u0432\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438.\n${tab}${tab}3. \u042F\u0432\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 \u0431\u0435\u0437 \u043F\u0440\u0438\u0432\u0438\u043B\u0435\u0433\u0438\u0439.\n${tab}\u0412 \u043A\u0430\u0436\u0434\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442\u0441\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u044B\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430. \u0412 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u0445 XML \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0437\u0430\u043F\u0438\u0441\u0438.\n${tab}\u041E\u0431\u044A\u0435\u043A\u0442\u044B, \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0435 \u043F\u0435\u0440\u0432\u044B\u043C\u0438 \u0432 \u044D\u0442\u043E\u0439 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438, \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0442\u044C \u0442\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B \u043F\u043E\u0437\u0436\u0435 (\u0435\u0441\u043B\u0438 --lib-safe-mode \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D).\n\n\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043A \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043D\u043D\u044B\u0445\n${tab}\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 URL-\u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F JDBC \u0434\u043B\u044F \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0431\u0430\u0437 \u0434\u0430\u043D\u043D\u044B\u0445\n${tab}${tab}PostgreSQL: https://jdbc.postgresql.org/documentation/head/connect.html\n${tab}${tab}MS SQL: https://docs.microsoft.com/sql/connect/jdbc/building-the-connection-url\n${tab}${tab}ClickHouse: https://clickhouse.com/docs/en/integrations/java#configuration
203203

204204
Utils_error_get_version = \u043E\u0448\u0438\u0431\u043A\u0430: OSGI \u043D\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D
205205

206-
Version = \u0412\u0435\u0440\u0441\u0438\u044F: {0}
206+
Version = \u0412\u0435\u0440\u0441\u0438\u044F: %s

0 commit comments

Comments
 (0)