This is an automated email from the ASF dual-hosted git repository.
dyankiv pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
The following commit(s) were added to refs/heads/develop by this push:
new 210d43d1e change images page model
210d43d1e is described below
commit 210d43d1ec504de5454e5cb21c5c9f7bb015e284
Author: Denys Yankiv <[email protected]>
AuthorDate: Tue Aug 9 19:00:57 2022 +0300
change images page model
---
.../resources/ImageExploratoryResource.java | 4 +-
.../resources/dto/ProjectImagesInfo.java | 13 ++----
.../service/ImageExploratoryService.java | 6 +--
.../service/impl/ImageExploratoryServiceImpl.java | 49 +++++++++++++++-------
4 files changed, 42 insertions(+), 30 deletions(-)
diff --git
a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java
b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java
index ae1f798df..3c7085ec5 100644
---
a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java
+++
b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java
@@ -102,7 +102,7 @@ public class ImageExploratoryResource {
@Path("user")
public Response getImagesForUser(@Auth UserInfo ui) {
log.debug("Getting images for user {}", ui.getName());
- final ProjectImagesInfo images =
imageExploratoryService.getImagesOfUser(ui);
+ final ImagesPageInfo images =
imageExploratoryService.getImagesOfUser(ui);
return Response.ok(images).build();
}
@@ -110,7 +110,7 @@ public class ImageExploratoryResource {
@Path("user")
public Response getImagesForUser(@Auth UserInfo ui, @Valid @NotNull
ImageFilter imageFilter) {
log.debug("Getting images for user {} with filter {}", ui.getName(),
imageFilter);
- final ProjectImagesInfo images =
imageExploratoryService.getImagesOfUserWithFilter(ui, imageFilter);
+ final ImagesPageInfo images =
imageExploratoryService.getImagesOfUserWithFilter(ui, imageFilter);
return Response.ok(images).build();
}
diff --git
a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectImagesInfo.java
b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectImagesInfo.java
index d561a78f1..8743214c4 100644
---
a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectImagesInfo.java
+++
b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectImagesInfo.java
@@ -20,23 +20,18 @@
package com.epam.datalab.backendapi.resources.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
+import lombok.*;
import java.util.List;
-import java.util.Map;
@AllArgsConstructor
@Builder
@EqualsAndHashCode
@ToString
+@Data
public class ProjectImagesInfo {
@JsonProperty
- private Map<String,List<ImageInfoRecord>> projectImages;
+ private String project;
@JsonProperty
- private ImageFilter imageFilter;
- @JsonProperty
- private ImageFilterFormData filterData;
+ private List<ImageInfoRecord> images;
}
diff --git
a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java
b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java
index b9cf922c1..b07a83616 100644
---
a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java
+++
b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java
@@ -23,7 +23,7 @@ import com.epam.datalab.auth.UserInfo;
import com.epam.datalab.backendapi.resources.dto.ImageFilter;
import com.epam.datalab.backendapi.resources.dto.ImageInfoRecord;
import com.epam.datalab.backendapi.resources.dto.ImageUserPermissions;
-import com.epam.datalab.backendapi.resources.dto.ProjectImagesInfo;
+import com.epam.datalab.backendapi.resources.dto.ImagesPageInfo;
import com.epam.datalab.model.exploratory.Image;
import java.util.List;
@@ -42,8 +42,8 @@ public interface ImageExploratoryService {
List<ImageInfoRecord> getImagesForProject(String project);
- ProjectImagesInfo getImagesOfUser(UserInfo user);
- ProjectImagesInfo getImagesOfUserWithFilter(UserInfo user, ImageFilter
imageFilter);
+ ImagesPageInfo getImagesOfUser(UserInfo user);
+ ImagesPageInfo getImagesOfUserWithFilter(UserInfo user, ImageFilter
imageFilter);
void shareImageWithProjectGroups(UserInfo user, String imageName, String
projectName, String endpoint);
diff --git
a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
index c5ee95534..cec04196f 100644
---
a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
+++
b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
@@ -190,12 +190,8 @@ public class ImageExploratoryServiceImpl implements
ImageExploratoryService {
}
@Override
- public ProjectImagesInfo getImagesOfUser(UserInfo user) {
+ public ImagesPageInfo getImagesOfUser(UserInfo user) {
log.debug("Loading list of images for user {}", user.getName());
- Map<String, List<ImageInfoRecord>> projectImages = new HashMap<>();
- projectService.getUserProjects(user, Boolean.FALSE).stream()
- .map(ProjectDTO::getName)
- .forEach(name->projectImages.put(name, new ArrayList<>()));
List<ImageInfoRecord> images =
imageExploratoryDao.getImagesOfUser(user.getName());
images.forEach(img ->
img.setSharingStatus(getImageSharingStatus(user.getName(),img)));
@@ -210,20 +206,29 @@ public class ImageExploratoryServiceImpl implements
ImageExploratoryService {
userSettingsDAO.setUserImageFilter(user.getName(),imageFilter);
images.forEach(img ->
img.setImageUserPermissions(getUserImagePermissions(user,img)));
-
projectImages.putAll(images.stream().collect(Collectors.groupingBy(ImageInfoRecord::getProject)));
- return ProjectImagesInfo.builder()
- .projectImages(projectImages)
+
+ final List<ImageInfoRecord> finalImages = images;
+
+ List<ProjectImagesInfo> projectImagesInfoList =
projectService.getUserProjects(user, Boolean.FALSE)
+ .stream()
+ .map(p -> {
+ List<ImageInfoRecord> im = finalImages.stream().filter(img
-> img.getProject().equals(p.getName())).collect(Collectors.toList());
+ return ProjectImagesInfo.builder()
+ .project(p.getName())
+ .images(im)
+ .build();
+ })
+ .collect(Collectors.toList());
+
+ return ImagesPageInfo.builder()
+ .projectImagesInfos(projectImagesInfoList)
.imageFilter(userSettingsDAO.getImageFilter(user.getName()).get())
.filterData(filterData).build();
}
@Override
- public ProjectImagesInfo getImagesOfUserWithFilter(UserInfo user,
ImageFilter imageFilter) {
+ public ImagesPageInfo getImagesOfUserWithFilter(UserInfo user, ImageFilter
imageFilter) {
log.debug("Loading list of images for user {}", user.getName());
- Map<String, List<ImageInfoRecord>> projectImages = new HashMap<>();
- projectService.getUserProjects(user, Boolean.FALSE).stream()
- .map(ProjectDTO::getName)
- .forEach(name->projectImages.put(name, new ArrayList<>()));
List<ImageInfoRecord> images =
imageExploratoryDao.getImagesOfUser(user.getName());
images.forEach(img ->
img.setSharingStatus(getImageSharingStatus(user.getName(),img)));
@@ -236,9 +241,21 @@ public class ImageExploratoryServiceImpl implements
ImageExploratoryService {
images.forEach(img ->
img.setImageUserPermissions(getUserImagePermissions(user,img)));
-
projectImages.putAll(images.stream().collect(Collectors.groupingBy(ImageInfoRecord::getProject)));
- return ProjectImagesInfo.builder()
- .projectImages(projectImages)
+
+ List<ImageInfoRecord> finalImages = images;
+
+ List<ProjectImagesInfo> projectImagesInfoList =
projectService.getUserProjects(user, Boolean.FALSE)
+ .stream()
+ .map(p -> {
+ List<ImageInfoRecord> im = finalImages.stream().filter(img
-> img.getProject().equals(p.getName())).collect(Collectors.toList());
+ return ProjectImagesInfo.builder()
+ .project(p.getName())
+ .images(im)
+ .build();
+ })
+ .collect(Collectors.toList());
+ return ImagesPageInfo.builder()
+ .projectImagesInfos(projectImagesInfoList)
.filterData(filterData)
.imageFilter(imageFilter)
.build();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]