Skip to content

Commit f5d1be1

Browse files
committed
Add tests and fix return types in DAO methods
1 parent b86ea66 commit f5d1be1

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

src/test/kotlin/org/domaframework/doma/intellij/inspection/dao/AnnotationParamTypeCheckInspectionTest.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ class AnnotationParamTypeCheckInspectionTest : DomaSqlTest() {
4444
}
4545
}
4646

47+
fun testSelectParam() {
48+
val dao = findDaoClass("$daoPackage.SelectParamTestDao")
49+
myFixture.testHighlighting(false, false, false, dao.containingFile.virtualFile)
50+
}
51+
4752
fun testInsertUpdateDeleteParam() {
4853
val dao = findDaoClass("$daoPackage.InsertUpdateDeleteParamTestDao")
4954
myFixture.testHighlighting(false, false, false, dao.containingFile.virtualFile)

src/test/testData/src/main/java/doma/example/dao/inspection/paramtype/MultiInsertParamTestDao.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import doma.example.entity.*;
44
import org.seasar.doma.*;
5+
import org.seasar.doma.jdbc.MultiResult;
56

67
import java.util.List;
78

@@ -21,13 +22,13 @@ public interface MultiInsertParamTestDao {
2122
int[] multiInsert(List<Pckt> PcktList);
2223

2324
@MultiInsert
24-
MultiResult<<error descr="Cannot resolve symbol 'Prj'">Prj</error>> multiInsertNoMatchResult(List<Pckt> PcktList);
25+
MultiResult<User> multiInsertNoMatchResult(List<Pckt> PcktList);
2526

2627
@MultiInsert
27-
<error descr="Cannot resolve symbol 'MultiResult'">MultiResult</error><Pckt> multiInsertResult(List<Pckt> PcktList);
28+
MultiResult<Pckt> multiInsertResult(List<Pckt> PcktList);
2829

2930
@MultiInsert
30-
<error descr="Cannot resolve symbol 'MultiResult'">MultiResult</error><Packet> multiInsertPacket(List<Packet> PacketList);
31+
MultiResult<Packet> multiInsertPacket(List<Packet> PacketList);
3132

3233
@MultiInsert(returning = @Returning)
3334
int[] multiInsertReturning(List<Pckt> Pckts);

src/test/testData/src/main/java/doma/example/dao/inspection/paramtype/ProcedureParamTestDao.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import org.seasar.doma.*;
44
import org.seasar.doma.jdbc.Reference;
5+
import doma.example.entity.*;
56

67
import java.util.List;
78
import java.util.Map;
9+
import java.util.Optional;
810

911
@Dao
1012
public interface ProcedureParamTestDao {
@@ -13,9 +15,12 @@ public interface ProcedureParamTestDao {
1315
void executeNotAnnotation(@In Integer inParam,@InOut Reference<String> inOurPatam, @Out Reference<Integer> outParam);
1416

1517
@Procedure
16-
void executeValidType(@In Reference<Integer> <error descr="Reference<Integer> is not supported as the type of the parameter annotated with @In">inParam</error>,@InOut Integer <error descr="The parameter type annotated with @InOut must be \"org.seasar.doma.jdbc.Reference\"">inOurPatam</error>, @Out String <error descr="The parameter type annotated with @Out must be \"org.seasar.doma.jdbc.Reference\"">outParam</error>,@ResultSet List<Optional<<error descr="Cannot resolve symbol 'Emp'">Emp</error>>> <error descr="\"Optional<Emp>\" is illegal as the type argument of \"java.util.List\"">optional</error>);
18+
void executeValidType(@In Reference<Integer> <error descr="Reference<Integer> is not supported as the type of the parameter annotated with @In">inParam</error>
19+
, @InOut Integer <error descr="The parameter type annotated with @InOut must be \"org.seasar.doma.jdbc.Reference\"">inOurPatam</error>
20+
, @Out String <error descr="The parameter type annotated with @Out must be \"org.seasar.doma.jdbc.Reference\"">outParam</error>
21+
, @ResultSet Optional<Pckt> <error descr="The parameter type annotated with @ResultSet must be \"java.util.List\"">optional</error>);
1722

1823
@Function
19-
int executeFuncValidType(@Out Reference<<error descr="Cannot resolve symbol 'Optional'">Optional</error><String>> <error descr="\"Optional<String>\" is illegal as the type argument of \"org.seasar.doma.jdbc.Reference\"">out</error>,@ResultSet List<Optional<<error descr="Cannot resolve symbol 'Address'">Address</error>>> <error descr="\"Optional<Address>\" is illegal as the type argument of \"java.util.List\"">optional</error>);
24+
int executeFuncValidType(@Out Reference<Optional<String>> out,@ResultSet List<Optional<Packet>> optional);
2025
}
2126

src/test/testData/src/main/java/doma/example/dao/inspection/paramtype/SelectParamTestDao.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ public interface SelectParamTestDao {
2222

2323
@Select(strategy = SelectType.STREAM)
2424
@Sql("Select 10000 from user where name = /* name */'name' and salary = /* salary */0")
25-
Stream<Packet> selectReturnStreamWithStreamOption(String name, BigDecimal salary);
25+
Stream<Packet> <error descr="When you specify SelectType.STREAM for the strategy element of @Select, the \"java.util.function.Function<java.util.stream.Stream>\" parameter is required for the method">selectReturnStreamWithStreamOption</error>(String name, BigDecimal salary);
2626

2727
@Select
2828
@Sql("Select 10000 from user")
29-
Stream<Packet> selectReturnStreamWithOutStreamOption(Function<Stream<Packet>, BigDecimal> streams);
29+
Stream<Packet> <error descr="When you use the \"java.util.function.Function\" parameter, SelectStrategyType.STREAM must be specified for the strategy element of @Select">selectReturnStreamWithOutStreamOption</error>(Function<Stream<Packet>, BigDecimal> streams);
3030

3131
@Select(strategy = SelectType.STREAM)
3232
@Sql("Select 10000 from user")
@@ -47,7 +47,7 @@ public interface SelectParamTestDao {
4747

4848
@Select(strategy = SelectType.COLLECT)
4949
@Sql("select * from packet where salary > /* salary */0")
50-
Pckt selectCollectAccumulation(BigDecimal salary, Packet packet);
50+
Pckt <error descr="When you specify SelectType.COLLECT for the strategy element of @Select, the \"java.util.stream.Collector\" parameter is required for the method">selectWithOutCollector</error>(BigDecimal salary, Packet packet);
5151

5252
@Select(strategy = SelectType.COLLECT)
5353
@Sql("select * from emp where salary > /* salary */0")

0 commit comments

Comments
 (0)