Revize 212b0072
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 | ||
---|---|---|
62 | 62 |
@Modifying |
63 | 63 |
@Transactional |
64 | 64 |
int updateWuActivity(@Param("activityId")Long activityId, @Param("wuIds") List<Long> wuIds); |
65 |
@Query("SELECT DISTINCT cat.name from WorkUnit unit INNER JOIN Category cat on cat MEMBER OF unit.categories AND unit.project.id = ?1") |
|
66 |
List<String> fetchProjectWorkUnitsCategories(Long projectId); |
|
67 |
@Query("SELECT DISTINCT unit.type.name from WorkUnit unit WHERE unit.project.id = ?1") |
|
68 |
List<String> fetchProjectWorkUnitsTypes(Long projectId); |
|
69 |
|
|
70 |
|
|
65 | 71 |
} |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/controller/management/WorkUnitController.java | ||
---|---|---|
30 | 30 |
return new ResponseEntity<>(HttpStatus.BAD_REQUEST); |
31 | 31 |
} |
32 | 32 |
List<WorkUnit> units = this.workUnitService.fetchProjectWorkUnits(projectId, category, type); |
33 |
Set<String> workUnitCategories = this.workUnitService.parseWorkUnitCategories(units); |
|
34 |
Set<String> workUnitTypes = this.workUnitService.parseWorkUnitTypes(units); |
|
33 |
//jde optimalizovat - neni cas |
|
34 |
List<String> workUnitCategories = this.workUnitService.fetchProjectWorkUnitCategories(projectId); |
|
35 |
List<String> workUnitTypes = this.workUnitService.fetchProjectWorkUnitTypes(projectId); |
|
35 | 36 |
|
36 | 37 |
if(units.size() == 0) { |
37 | 38 |
return ResponseEntity.ok(null); |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/service/workUnit/WorkUnitServiceV2.java | ||
---|---|---|
3 | 3 |
import com.sun.istack.NotNull; |
4 | 4 |
import cz.zcu.fav.kiv.antipatterndetectionapp.model.management.WorkUnit; |
5 | 5 |
|
6 |
import javax.annotation.Nullable; |
|
6 | 7 |
import java.util.List; |
7 | 8 |
import java.util.Set; |
8 | 9 |
|
9 | 10 |
public interface WorkUnitServiceV2 { |
10 | 11 |
List<WorkUnit> fetchProjectWorkUnits(long activityId, String category, List <String> type); |
11 | 12 |
boolean updateWorkUnitsActivity(long activityId, List<Long> wuIds); |
12 |
Set<String> parseWorkUnitCategories(@NotNull List<WorkUnit> workUnits); |
|
13 |
Set<String> parseWorkUnitTypes(@NotNull List<WorkUnit> workUnits); |
|
13 |
|
|
14 |
List<String> fetchProjectWorkUnitCategories(Long projectId); |
|
15 |
List<String> fetchProjectWorkUnitTypes(Long projectId); |
|
16 |
|
|
17 |
|
|
14 | 18 |
|
15 | 19 |
} |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/v2/service/workUnit/WorkUnitServiceV2Impl.java | ||
---|---|---|
42 | 42 |
} |
43 | 43 |
|
44 | 44 |
@Override |
45 |
public Set<String> parseWorkUnitCategories(List<WorkUnit> workUnits) { |
|
46 |
Set<String> workUnitCategories = new HashSet<>(); |
|
47 |
for(WorkUnit unit : workUnits) { |
|
48 |
for(Category categ : unit.getCategories()) |
|
49 |
workUnitCategories.add(categ.getName()); |
|
50 |
} |
|
51 |
return workUnitCategories; |
|
45 |
public List<String> fetchProjectWorkUnitCategories(Long projectId) { |
|
46 |
|
|
47 |
return this.workUnitRepository.fetchProjectWorkUnitsCategories(projectId); |
|
52 | 48 |
} |
53 | 49 |
|
54 | 50 |
@Override |
55 |
public Set<String> parseWorkUnitTypes(List<WorkUnit> workUnits) { |
|
56 |
Set<String> workUnitTypes = new HashSet<>(); |
|
57 |
for(WorkUnit unit : workUnits) { |
|
58 |
workUnitTypes.add(unit.getType().getName()); |
|
59 |
} |
|
60 |
return workUnitTypes; |
|
51 |
public List<String> fetchProjectWorkUnitTypes(Long projectId) { |
|
52 |
return this.workUnitRepository.fetchProjectWorkUnitsTypes(projectId); |
|
61 | 53 |
} |
62 | 54 |
|
55 |
|
|
63 | 56 |
} |
Také k dispozici: Unified diff
https://kivprogrammers.atlassian.net/browse/TSP2-63
dotazeni distinct typu kategorie a typu work unitu pro filtrovani z db - parsovani nactenych work unitu neni viable