Browse Source

Remove JdbcMapper.WarnOnUnusedParams param in favor of prefixing unused params with _

dependabot/maven/junit-junit-4.13.1
Travis Burtrum 4 years ago
parent
commit
267e438ac0
  1. 7
      common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java
  2. 6
      jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java
  3. 3
      test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java
  4. 3
      test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java

7
common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java

@ -66,13 +66,6 @@ public interface JdbcMapper extends Closeable { @@ -66,13 +66,6 @@ public interface JdbcMapper extends Closeable {
String arrayStringTypeName() default "";
}
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.METHOD})
/**
* Instead of a compile-time error this will only warn on unused params, mainly for debugging or presenting an unfinished API
*/
public @interface WarnOnUnusedParams {}
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.METHOD})
/**

6
jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java

@ -327,7 +327,6 @@ public class JdbcMapperProcessor extends AbstractProcessor { @@ -327,7 +327,6 @@ public class JdbcMapperProcessor extends AbstractProcessor {
lookupCloseMethod = false;
continue; // skip close method
}
final JdbcMapper.WarnOnUnusedParams warnOnUnusedParams = eeMethod.getAnnotation(JdbcMapper.WarnOnUnusedParams.class);
final JdbcMapper.SQL sql = eeMethod.getAnnotation(JdbcMapper.SQL.class);
if (sql == null || sql.value().isEmpty()) {
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "@JdbcMapper.SQL with non-empty query is required on abstract or interface methods", methodElement);
@ -503,8 +502,9 @@ public class JdbcMapperProcessor extends AbstractProcessor { @@ -503,8 +502,9 @@ public class JdbcMapperProcessor extends AbstractProcessor {
*/
} else if(isPrimitiveInteger(unusedType.getKind()) && maxRows == null && this.allowedMaxRowParamNames.contains(unusedParam.getKey())) {
maxRows = CompileTimeResultSetMapper.MaxRows.getMaxRows(unusedParam.getKey(), unusedType.toString());
} else
processingEnv.getMessager().printMessage(warnOnUnusedParams != null ? Diagnostic.Kind.MANDATORY_WARNING : Diagnostic.Kind.ERROR, String.format("@JdbcMapper.SQL method has unused parameter '%s'", unusedParam.getKey()), unusedParam.getValue());
} else if(!unusedParam.getKey().startsWith("_")) {
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, String.format("@JdbcMapper.SQL method has unused parameter '%s' (rename to start with _ to suppress error)", unusedParam.getKey()), unusedParam.getValue());
}
}
}
final boolean notBindInList = !inListBindParams.isEmpty() && databaseType != JdbcMapper.DatabaseType.BIND;

3
test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java

@ -53,9 +53,8 @@ public interface PersonDAO extends JdbcMapper { @@ -53,9 +53,8 @@ public interface PersonDAO extends JdbcMapper {
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
long getPersonNo(String lastName) throws SQLException;
@JdbcMapper.WarnOnUnusedParams
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
long getPersonNoUnusedParam(String lastName, String unused) throws SQLException;
long getPersonNoUnusedParam(String lastName, String _bla) throws SQLException;
@JdbcMapper.SQL("SELECT first_name, last_name FROM person WHERE last_name = {lastName}")
ResultSet getPeopleResultSet(String lastName) throws SQLException;

3
test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java

@ -53,9 +53,8 @@ public interface PrestoPersonDAO extends PersonDAO { @@ -53,9 +53,8 @@ public interface PrestoPersonDAO extends PersonDAO {
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
long getPersonNo(String lastName) throws SQLException;
@JdbcMapper.WarnOnUnusedParams
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
long getPersonNoUnusedParam(String lastName, String unused) throws SQLException;
long getPersonNoUnusedParam(String lastName, String _bla) throws SQLException;
@JdbcMapper.SQL("SELECT first_name, last_name FROM person WHERE last_name = {lastName}")
ResultSet getPeopleResultSet(String lastName) throws SQLException;

Loading…
Cancel
Save