Revize 03cab308
Přidáno uživatelem Jiri Trefil před více než 1 rok
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/repository/managment/WorkUnitRepository.java | ||
---|---|---|
43 | 43 |
@Query("SELECT unit from WorkUnit unit WHERE unit.project.id = ?1") |
44 | 44 |
List<WorkUnit> fetchAllProjectWorkUnits(Long projectId); |
45 | 45 |
|
46 |
@Query("SELECT unit from WorkUnit unit WHERE unit.project.id = ?1 and ?2 IN (SELECT cat.name from unit.categories cat)") |
|
47 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByCategory(Long projectId, String category); |
|
48 |
|
|
49 |
@Query("SELECT unit from WorkUnit unit WHERE unit.project.id = ?1 and unit.type.name = ?2") |
|
50 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByType(Long projectId, String type); |
|
51 |
@Query("SELECT unit from WorkUnit unit WHERE unit.project.id = ?1 AND ?2 MEMBER OF unit.categories AND unit.type.name = ?3") |
|
52 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByTypeAndCategory(Long projectId,String category, String type); |
|
46 |
@Query("SELECT unit FROM WorkUnit unit " + |
|
47 |
"INNER JOIN Category cat " + |
|
48 |
"ON cat member OF unit.categories " + |
|
49 |
"WHERE unit.project.id = :projectId AND cat.name = :categoryName") |
|
50 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByCategory(@Param("projectId") Long projectId, @Param("categoryName") String category); |
|
53 | 51 |
|
52 |
@Query("SELECT unit from WorkUnit unit WHERE unit.project.id = :projectId and unit.type.name in :typeNames") |
|
53 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByType(@Param("projectId") Long projectId, @Param("typeNames") List<String> wuTypes); |
|
54 |
@Query("SELECT unit from WorkUnit unit " + |
|
55 |
"INNER JOIN Category cat " + |
|
56 |
"ON cat MEMBER OF unit.categories " + |
|
57 |
"WHERE unit.project.id = :projectId AND cat.name = :categoryName AND unit.type.name in :typeNames") |
|
58 |
List<WorkUnit> fetchActivityWorkUnitsFilteredByTypeAndCategory(@Param("projectId")Long projectId,@Param("categoryName") String category,@Param("typeNames") List <String> type); |
|
59 |
@Query("SELECT unit from WorkUnit unit ") |
|
60 |
List<String> fetchCategoryNames(Long projectId); |
|
54 | 61 |
@Query("UPDATE WorkUnit unit SET unit.activity.id = :activityId WHERE unit.id in :wuIds") |
55 | 62 |
@Modifying |
56 | 63 |
@Transactional |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/controller/management/WorkUnitController.java | ||
---|---|---|
12 | 12 |
import org.springframework.http.HttpStatus; |
13 | 13 |
import org.springframework.http.ResponseEntity; |
14 | 14 |
import org.springframework.stereotype.Controller; |
15 |
import org.springframework.web.bind.annotation.GetMapping; |
|
16 |
import org.springframework.web.bind.annotation.PutMapping; |
|
17 |
import org.springframework.web.bind.annotation.RequestBody; |
|
18 |
import org.springframework.web.bind.annotation.RequestMapping; |
|
15 |
import org.springframework.web.bind.annotation.*; |
|
19 | 16 |
|
20 | 17 |
import javax.annotation.Nullable; |
21 | 18 |
import javax.persistence.criteria.CriteriaBuilder; |
... | ... | |
28 | 25 |
WorkUnitServiceV2 workUnitService; |
29 | 26 |
|
30 | 27 |
@GetMapping("/activity_work_units") |
31 |
public ResponseEntity<String> getActivityWorkUnits(Long projectId, @Nullable String category, @Nullable String type) {
|
|
28 |
public ResponseEntity<String> getActivityWorkUnits(Long projectId, @Nullable @RequestParam String category, @Nullable @RequestParam List <String> type) {
|
|
32 | 29 |
if(projectId == null) { |
33 | 30 |
return new ResponseEntity<>(HttpStatus.BAD_REQUEST); |
34 | 31 |
} |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/service/workUnit/WorkUnitServiceV2.java | ||
---|---|---|
7 | 7 |
import java.util.Set; |
8 | 8 |
|
9 | 9 |
public interface WorkUnitServiceV2 { |
10 |
List<WorkUnit> fetchProjectWorkUnits(long activityId, String category, String type);
|
|
10 |
List<WorkUnit> fetchProjectWorkUnits(long activityId, String category, List <String> type);
|
|
11 | 11 |
boolean updateWorkUnitsActivity(long activityId, List<Long> wuIds); |
12 | 12 |
Set<String> parseWorkUnitCategories(@NotNull List<WorkUnit> workUnits); |
13 | 13 |
Set<String> parseWorkUnitTypes(@NotNull List<WorkUnit> workUnits); |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/service/workUnit/WorkUnitServiceV2Impl.java | ||
---|---|---|
21 | 21 |
WorkUnitService workUnitService; |
22 | 22 |
|
23 | 23 |
@Override |
24 |
public List<WorkUnit> fetchProjectWorkUnits(long projectId, String category, String type) {
|
|
24 |
public List<WorkUnit> fetchProjectWorkUnits(long projectId, String category, List <String> type) {
|
|
25 | 25 |
//List<WorkUnit> units = this.workUnitRepository.fetchActivityWorkUnits(activityId); |
26 | 26 |
//no filter applied - return everything |
27 | 27 |
if(category == null && type == null) |
Také k dispozici: Unified diff
https://kivprogrammers.atlassian.net/browse/TSP2-63
implementace filtrování work unit pres aktivity.