Skip to content

Commit 6424dea

Browse files
committed
Code smell reduction
1 parent 24b7fb2 commit 6424dea

File tree

2 files changed

+11
-17
lines changed

2 files changed

+11
-17
lines changed

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

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,13 @@
3232
*/
3333
public class DuplicateTableAliasException extends RuntimeException {
3434

35-
private final SqlTable table;
36-
private final String newAlias;
37-
private final String existingAlias;
38-
3935
public DuplicateTableAliasException(SqlTable table, String newAlias, String existingAlias) {
40-
this.table = Objects.requireNonNull(table);
41-
this.newAlias = Objects.requireNonNull(newAlias);
42-
this.existingAlias = Objects.requireNonNull(existingAlias);
36+
super(generateMessage(Objects.requireNonNull(table),
37+
Objects.requireNonNull(newAlias),
38+
Objects.requireNonNull(existingAlias)));
4339
}
4440

45-
@Override
46-
public String getMessage() {
41+
private static String generateMessage(SqlTable table, String newAlias, String existingAlias) {
4742
return "Table \"" + table.tableNameAtRuntime() //$NON-NLS-1$
4843
+ "\" with requested alias \"" + newAlias //$NON-NLS-1$
4944
+ "\" is already aliased in this query with alias \"" + existingAlias //$NON-NLS-1$

src/test/java/examples/joins/JoinMapperTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
import org.junit.jupiter.api.Test;
4545
import org.mybatis.dynamic.sql.exception.DuplicateTableAliasException;
4646
import org.mybatis.dynamic.sql.render.RenderingStrategies;
47+
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
48+
import org.mybatis.dynamic.sql.select.SelectModel;
4749
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
4850
import org.mybatis.dynamic.sql.util.mybatis3.CommonSelectMapper;
4951

@@ -948,14 +950,11 @@ void testSelf() {
948950

949951
@Test
950952
void testSelfWithDuplicateAlias() {
951-
assertThatExceptionOfType(DuplicateTableAliasException.class).isThrownBy(() ->
952-
select(user.userId, user.userName, user.parentId)
953-
.from(user, "u1")
954-
.join(user, "u2").on(user.userId, equalTo(user.parentId))
955-
.where(user.userId, isEqualTo(4))
956-
.build()
957-
.render(RenderingStrategies.MYBATIS3)
958-
).withMessage("Table \"User\" with requested alias \"u2\" is already aliased in this query with alias \"u1\". Attempting to re-alias a table in the same query is not supported.");
953+
QueryExpressionDSL<SelectModel> dsl = select(user.userId, user.userName, user.parentId)
954+
.from(user, "u1");
955+
956+
assertThatExceptionOfType(DuplicateTableAliasException.class).isThrownBy(() -> dsl.join(user, "u2"))
957+
.withMessage("Table \"User\" with requested alias \"u2\" is already aliased in this query with alias \"u1\". Attempting to re-alias a table in the same query is not supported.");
959958
}
960959

961960
@Test

0 commit comments

Comments
 (0)