Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 03cab308

Přidáno uživatelem Jiri Trefil před více než 1 rok

https://kivprogrammers.atlassian.net/browse/TSP2-63

implementace filtrování work unit pres aktivity.

Zobrazit rozdíly:

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