Skip to content

Commit 194e726

Browse files
authored
Merge pull request #523 from jeffgbutler/i18n
i18n for Exception Messages
2 parents ad0733d + 9920fcb commit 194e726

39 files changed

+272
-99
lines changed

src/main/java/org/mybatis/dynamic/sql/configuration/GlobalConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Properties;
2121

2222
import org.mybatis.dynamic.sql.exception.DynamicSqlException;
23+
import org.mybatis.dynamic.sql.util.Messages;
2324

2425
public class GlobalConfiguration {
2526
public static final String CONFIGURATION_FILE_PROPERTY = "mybatis-dynamic-sql.configurationFile"; //$NON-NLS-1$
@@ -57,7 +58,7 @@ void loadProperties(InputStream inputStream, String propertyFile) {
5758
try {
5859
properties.load(inputStream);
5960
} catch (IOException e) {
60-
throw new DynamicSqlException("IOException reading property file \"" + propertyFile + "\"", e);
61+
throw new DynamicSqlException(Messages.getString("ERROR.3", propertyFile), e); //$NON-NLS-1$
6162
}
6263
}
6364

src/main/java/org/mybatis/dynamic/sql/exception/DuplicateTableAliasException.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.Objects;
1919

2020
import org.mybatis.dynamic.sql.SqlTable;
21+
import org.mybatis.dynamic.sql.util.Messages;
2122

2223
/**
2324
* This exception is thrown when a query is built that attempts to specify more than one
@@ -33,16 +34,15 @@
3334
*/
3435
public class DuplicateTableAliasException extends DynamicSqlException {
3536

37+
private static final long serialVersionUID = -2631664872557787391L;
38+
3639
public DuplicateTableAliasException(SqlTable table, String newAlias, String existingAlias) {
3740
super(generateMessage(Objects.requireNonNull(table),
3841
Objects.requireNonNull(newAlias),
3942
Objects.requireNonNull(existingAlias)));
4043
}
4144

4245
private static String generateMessage(SqlTable table, String newAlias, String existingAlias) {
43-
return "Table \"" + table.tableNameAtRuntime() //$NON-NLS-1$
44-
+ "\" with requested alias \"" + newAlias //$NON-NLS-1$
45-
+ "\" is already aliased in this query with alias \"" + existingAlias //$NON-NLS-1$
46-
+ "\". Attempting to re-alias a table in the same query is not supported."; //$NON-NLS-1$
46+
return Messages.getString("ERROR.1", table.tableNameAtRuntime(), newAlias, existingAlias); //$NON-NLS-1$
4747
}
4848
}

src/main/java/org/mybatis/dynamic/sql/exception/DynamicSqlException.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
package org.mybatis.dynamic.sql.exception;
1717

1818
public class DynamicSqlException extends RuntimeException {
19+
private static final long serialVersionUID = 349021672061361244L;
20+
1921
public DynamicSqlException(String message) {
2022
super(message);
2123
}

src/main/java/org/mybatis/dynamic/sql/exception/InvalidSqlException.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
package org.mybatis.dynamic.sql.exception;
1717

1818
public class InvalidSqlException extends DynamicSqlException {
19+
private static final long serialVersionUID = 1666851020951347843L;
20+
1921
public InvalidSqlException(String message) {
2022
super(message);
2123
}

src/main/java/org/mybatis/dynamic/sql/exception/NonRenderingWhereClauseException.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import org.mybatis.dynamic.sql.configuration.GlobalConfiguration;
1919
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
20+
import org.mybatis.dynamic.sql.util.Messages;
2021

2122
/**
2223
* This exception is thrown when the where clause in a statement will not render.
@@ -39,7 +40,9 @@
3940
* @author Jeff Butler
4041
*/
4142
public class NonRenderingWhereClauseException extends DynamicSqlException {
43+
private static final long serialVersionUID = 6619119078542625135L;
44+
4245
public NonRenderingWhereClauseException() {
43-
super("A where clause was specified, but failed to render."); //$NON-NLS-1$
46+
super(Messages.getString("ERROR.2")); //$NON-NLS-1$
4447
}
4548
}

src/main/java/org/mybatis/dynamic/sql/insert/BatchInsertModel.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,17 @@
2222
import org.mybatis.dynamic.sql.insert.render.BatchInsert;
2323
import org.mybatis.dynamic.sql.insert.render.BatchInsertRenderer;
2424
import org.mybatis.dynamic.sql.render.RenderingStrategy;
25+
import org.mybatis.dynamic.sql.util.Messages;
2526

2627
public class BatchInsertModel<T> extends AbstractMultiRowInsertModel<T> {
2728

2829
private BatchInsertModel(Builder<T> builder) {
2930
super(builder);
31+
if (records().isEmpty()) {
32+
throw new InvalidSqlException(Messages.getString("ERROR.19")); //$NON-NLS-1$
33+
}
3034
if (columnMappings.isEmpty()) {
31-
throw new InvalidSqlException("Batch insert statements must have at least one column mapping");
35+
throw new InvalidSqlException(Messages.getString("ERROR.5")); //$NON-NLS-1$
3236
}
3337
}
3438

src/main/java/org/mybatis/dynamic/sql/insert/GeneralInsertModel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.mybatis.dynamic.sql.insert.render.GeneralInsertStatementProvider;
2929
import org.mybatis.dynamic.sql.render.RenderingStrategy;
3030
import org.mybatis.dynamic.sql.util.AbstractColumnMapping;
31+
import org.mybatis.dynamic.sql.util.Messages;
3132

3233
public class GeneralInsertModel {
3334

@@ -37,7 +38,7 @@ public class GeneralInsertModel {
3738
private GeneralInsertModel(Builder builder) {
3839
table = Objects.requireNonNull(builder.table);
3940
if (builder.insertMappings.isEmpty()) {
40-
throw new InvalidSqlException("General insert statements must have at least one column mapping");
41+
throw new InvalidSqlException(Messages.getString("ERROR.6")); //$NON-NLS-1$
4142
}
4243
insertMappings = builder.insertMappings;
4344
}

src/main/java/org/mybatis/dynamic/sql/insert/InsertColumnListModel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@
2323

2424
import org.mybatis.dynamic.sql.SqlColumn;
2525
import org.mybatis.dynamic.sql.exception.InvalidSqlException;
26+
import org.mybatis.dynamic.sql.util.Messages;
2627

2728
public class InsertColumnListModel {
2829
private final List<SqlColumn<?>> columns = new ArrayList<>();
2930

3031
private InsertColumnListModel(List<SqlColumn<?>> columns) {
3132
Objects.requireNonNull(columns);
3233
if (columns.isEmpty()) {
33-
throw new InvalidSqlException("Insert select statements require at least one column in the column list");
34+
throw new InvalidSqlException(Messages.getString("ERROR.4")); //$NON-NLS-1$
3435
}
3536

3637
this.columns.addAll(columns);

src/main/java/org/mybatis/dynamic/sql/insert/InsertModel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
2929
import org.mybatis.dynamic.sql.render.RenderingStrategy;
3030
import org.mybatis.dynamic.sql.util.AbstractColumnMapping;
31+
import org.mybatis.dynamic.sql.util.Messages;
3132

3233
public class InsertModel<T> {
3334
private final SqlTable table;
@@ -39,7 +40,7 @@ private InsertModel(Builder<T> builder) {
3940
row = Objects.requireNonNull(builder.row);
4041
columnMappings = Objects.requireNonNull(builder.columnMappings);
4142
if (columnMappings.isEmpty()) {
42-
throw new InvalidSqlException("Insert statements must have at least one column mapping"); // $NON-NLS-1$
43+
throw new InvalidSqlException(Messages.getString("ERROR.7")); //$NON-NLS-1$
4344
}
4445
}
4546

src/main/java/org/mybatis/dynamic/sql/insert/MultiRowInsertModel.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,17 @@
2222
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertRenderer;
2323
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
2424
import org.mybatis.dynamic.sql.render.RenderingStrategy;
25+
import org.mybatis.dynamic.sql.util.Messages;
2526

2627
public class MultiRowInsertModel<T> extends AbstractMultiRowInsertModel<T> {
2728

2829
private MultiRowInsertModel(Builder<T> builder) {
2930
super(builder);
31+
if (records().isEmpty()) {
32+
throw new InvalidSqlException(Messages.getString("ERROR.20")); //$NON-NLS-1$
33+
}
3034
if (columnMappings.isEmpty()) {
31-
throw new InvalidSqlException("Multi row insert statements must have at least one column mapping");
35+
throw new InvalidSqlException(Messages.getString("ERROR.8")); //$NON-NLS-1$
3236
}
3337
}
3438

0 commit comments

Comments
 (0)