Skip to content

Commit 5a6defa

Browse files
committed
Add test data to verify that specific types are not suggested in code completion.
1 parent c59ad75 commit 5a6defa

File tree

10 files changed

+166
-23
lines changed

10 files changed

+166
-23
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package doma.example.dao;
2+
3+
import doma.example.collector.HogeCollector;
4+
import doma.example.entity.*;
5+
import doma.example.function.HogeFunction;
6+
import doma.example.option.HogeSelectOptions;
7+
import org.seasar.doma.*;
8+
import org.seasar.doma.jdbc.Config;
9+
import org.seasar.doma.jdbc.PreparedSql;
10+
import org.seasar.doma.jdbc.SelectOptions;
11+
import doma.example.function.HogeBiFunction;
12+
13+
import java.util.function.BiFunction;
14+
import java.util.function.Function;
15+
import java.util.stream.Collector;
16+
import java.util.stream.Stream;
17+
18+
@Dao
19+
public interface SpecificParamTypeCompletionDao {
20+
21+
/**
22+
* SelectOptions do not cause errors even when unused
23+
* @param searchName
24+
* @param options
25+
* @return
26+
*/
27+
@Select
28+
Project selectSelectOption(Integer id, String searchName, SelectOptions options);
29+
30+
/**
31+
* SelectOptions subtypes cause errors even when unused
32+
* @param searchName
33+
* @param hogeSelectOptions
34+
* @return
35+
*/
36+
@Select
37+
Project selectSubTypeSelectOption(Employee employee,
38+
String searchName,
39+
HogeSelectOptions hogeSelectOptions);
40+
41+
/**
42+
* Collector do not cause errors even when unused in SQL
43+
* @param salary
44+
* @param collector
45+
* @return
46+
*/
47+
@Select(strategy = SelectType.COLLECT)
48+
Pckt selectCollector(BigDecimal salary, Collector<Packet, BigDecimal, Pckt> collector);
49+
50+
/**
51+
* Collector subclasses do not cause errors even when unused in SQL
52+
* @param employee
53+
* @param id
54+
* @param hogeCollector
55+
* @return
56+
*/
57+
@Select(strategy = SelectType.COLLECT)
58+
String selectSubTypeCollector(Employee employee,
59+
Integer id,
60+
HogeCollector hogeCollector);
61+
62+
/**
63+
* Function parameters do not cause errors even when unused
64+
* @param employee
65+
* @param id
66+
* @param function
67+
* @return
68+
*/
69+
@Select(strategy = SelectType.STREAM)
70+
String selectFunction(Employee employee,
71+
Integer id,
72+
Function<Stream<Employee>, String> function);
73+
74+
/**
75+
* Function subtypes do not cause errors even when unused
76+
* @param employee
77+
* @param id
78+
* @param function
79+
* @return
80+
*/
81+
@Select(strategy = SelectType.STREAM)
82+
String selectSubTypeFunction(Employee employee,
83+
Integer id,
84+
HogeFunction function);
85+
86+
/**
87+
* BiFunction parameters do not cause errors even when unused
88+
* @param tableName
89+
* @param func
90+
* @return
91+
*/
92+
@SqlProcessor
93+
Pckt executeBiFunction(String tableName, BiFunction<Config, PreparedSql, Pckt> func);
94+
95+
/**
96+
* BiFunction subtypes do not cause errors even when unused
97+
* @param tableName
98+
* @param func
99+
* @return
100+
*/
101+
@SqlProcessor
102+
String executeSubTypeBiFunction(String tableName, HogeBiFunction func);
103+
104+
}

src/test/testData/src/main/java/doma/example/dao/formatter/SqlInjectionFormatDao.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
SELECT COUNT(*) AS record_count
2+
, MAX(id) AS max_id
3+
, MIN(id) AS min_id
4+
FROM /* <caret> */'employee'
5+
WHERE active = true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
SELECT COUNT(*) AS record_count
2+
, MAX(id) AS max_id
3+
, MIN(id) AS min_id
4+
FROM /* <caret> */'employee'
5+
WHERE active = true
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
SELECT *
2+
FROM employee whwew salary > /* <caret> */1000
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
SELECT e.id
2+
, e.name
3+
, e.age
4+
, e.department
5+
, e.salary
6+
FROM employee e
7+
WHERE e.id = /* <caret> */1
8+
/*%if employee != null */
9+
AND e.department = /* employee.department */'Engineering'
10+
/*%end*/
11+
ORDER BY e.salary DESC
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
SELECT p.id
2+
, p.name
3+
, p.description
4+
FROM project p
5+
WHERE p.id = /* <caret> */1
6+
/*%if searchName != null */
7+
AND p.name LIKE /* searchName */'%test%'
8+
/*%end*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
SELECT e.id
2+
, e.name
3+
, e.age
4+
, e.department
5+
FROM employee e
6+
WHERE e.id = /* <caret> */1
7+
AND e.name = /* employee.name */'John'
8+
AND e.age > /* employee.age */20
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
SELECT e.id
2+
, e.name
3+
, e.age
4+
, e.department
5+
, e.salary
6+
, e.hire_date
7+
FROM employee e
8+
WHERE e.id = /* <caret> */1
9+
/*%if employee != null */
10+
AND e.name = /* employee.name */'John'
11+
AND e.age >= /* employee.age */25
12+
/*%end*/
13+
ORDER BY e.hire_date ASC
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
SELECT p.id
2+
, p.name
3+
, p.description
4+
FROM project p
5+
INNER JOIN employee e
6+
ON p.employee_id = e.id
7+
WHERE e.id = /* employee.id */1
8+
/*%if searchName != null */
9+
AND p.name LIKE /* <caret> */'%test%'
10+
/*%end*/

0 commit comments

Comments
 (0)