You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/08/19 10:41:24 UTC
[incubator-dlab] branch develop updated: [DLAB-1995] Updated
library groups for notebooks and compute
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push:
new da179de [DLAB-1995] Updated library groups for notebooks and compute
new b91a360 Merge remote-tracking branch 'origin/develop' into develop
da179de is described below
commit da179dee3f328f19563542eacd6c83fde8ea8db7
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Wed Aug 19 12:57:21 2020 +0300
[DLAB-1995] Updated library groups for notebooks and compute
---
.../service/impl/LibraryServiceImpl.java | 52 ++++++++++++----------
.../service/impl/LibraryServiceImplTest.java | 12 ++---
2 files changed, 35 insertions(+), 29 deletions(-)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImpl.java
index 9b53e47..852ee74 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImpl.java
@@ -29,6 +29,7 @@ import com.epam.dlab.backendapi.dao.BaseDAO;
import com.epam.dlab.backendapi.dao.ExploratoryDAO;
import com.epam.dlab.backendapi.dao.ExploratoryLibDAO;
import com.epam.dlab.backendapi.domain.EndpointDTO;
+import com.epam.dlab.backendapi.domain.NotebookTemplate;
import com.epam.dlab.backendapi.domain.RequestId;
import com.epam.dlab.backendapi.resources.dto.LibInfoRecord;
import com.epam.dlab.backendapi.resources.dto.LibKey;
@@ -67,9 +68,11 @@ import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import static com.epam.dlab.backendapi.domain.AuditActionEnum.INSTALL_LIBS;
+import static com.epam.dlab.backendapi.domain.AuditResourceTypeEnum.COMPUTE;
+import static com.epam.dlab.backendapi.domain.AuditResourceTypeEnum.NOTEBOOK;
import static com.epam.dlab.backendapi.domain.NotebookTemplate.DEEP_LEARNING;
import static com.epam.dlab.backendapi.domain.NotebookTemplate.JUPYTER;
-import static com.epam.dlab.backendapi.domain.NotebookTemplate.JUPYTER_LAB;
import static com.epam.dlab.backendapi.domain.NotebookTemplate.RSTUDIO;
import static com.epam.dlab.backendapi.domain.NotebookTemplate.TENSOR;
import static com.epam.dlab.backendapi.domain.NotebookTemplate.TENSOR_RSTUDIO;
@@ -80,9 +83,6 @@ import static com.epam.dlab.dto.LibraryGroups.GROUP_OTHERS;
import static com.epam.dlab.dto.LibraryGroups.GROUP_PIP2;
import static com.epam.dlab.dto.LibraryGroups.GROUP_PIP3;
import static com.epam.dlab.dto.LibraryGroups.GROUP_R_PKG;
-import static com.epam.dlab.backendapi.domain.AuditActionEnum.INSTALL_LIBS;
-import static com.epam.dlab.backendapi.domain.AuditResourceTypeEnum.NOTEBOOK;
-import static com.epam.dlab.backendapi.domain.AuditResourceTypeEnum.COMPUTE;
@Slf4j
@@ -149,18 +149,19 @@ public class LibraryServiceImpl implements LibraryService {
return libInfoRecords;
}
- @Audit(action = INSTALL_LIBS, type = COMPUTE)
- @Override
- public String installComputationalLibs(@User UserInfo ui, @Project String project, String expName, @ResourceName String compName, List<LibInstallDTO> libs, @Info String auditInfo) {
- final UserInstanceDTO userInstance = exploratoryDAO.fetchExploratoryFields(ui.getName(), project, expName, compName);
- EndpointDTO endpointDTO = endpointService.get(userInstance.getEndpoint());
- final String uuid = provisioningService.post(endpointDTO.getUrl() + ComputationalAPI.COMPUTATIONAL_LIB_INSTALL,
- ui.getAccessToken(),
- toComputationalLibraryInstallDto(ui, project, expName, compName, libs, userInstance, endpointDTO),
- String.class);
- requestId.put(ui.getName(), uuid);
- return uuid;
- }
+ @Audit(action = INSTALL_LIBS, type = COMPUTE)
+ @Override
+ public String installComputationalLibs(@User UserInfo ui, @Project String project, String expName, @ResourceName String compName,
+ List<LibInstallDTO> libs, @Info String auditInfo) {
+ final UserInstanceDTO userInstance = exploratoryDAO.fetchExploratoryFields(ui.getName(), project, expName, compName);
+ EndpointDTO endpointDTO = endpointService.get(userInstance.getEndpoint());
+ final String uuid = provisioningService.post(endpointDTO.getUrl() + ComputationalAPI.COMPUTATIONAL_LIB_INSTALL,
+ ui.getAccessToken(),
+ toComputationalLibraryInstallDto(ui, project, expName, compName, libs, userInstance, endpointDTO),
+ String.class);
+ requestId.put(ui.getName(), uuid);
+ return uuid;
+ }
@Audit(action = INSTALL_LIBS, type = NOTEBOOK)
@Override
@@ -178,14 +179,13 @@ public class LibraryServiceImpl implements LibraryService {
public List<String> getExploratoryLibGroups(UserInfo userInfo, String projectName, String exploratoryName) {
UserInstanceDTO userInstanceDTO = exploratoryDAO.fetchExploratoryFields(userInfo.getName(), projectName, exploratoryName);
final String templateName = userInstanceDTO.getTemplateName();
- List<LibraryGroups> groups = new ArrayList<>(Arrays.asList(GROUP_JAVA, GROUP_OS_PKG));
+ List<LibraryGroups> groups = new ArrayList<>(Arrays.asList(GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG, GROUP_OS_PKG));
- if (Arrays.asList(JUPYTER.getName(), JUPYTER_LAB.getName(), ZEPPELIN.getName(), DEEP_LEARNING.getName(), TENSOR.getName(), TENSOR_RSTUDIO.getName(),
- RSTUDIO.getName()).contains(templateName)) {
- groups.addAll(Arrays.asList(GROUP_PIP2, GROUP_PIP3, GROUP_OTHERS));
+ if (isTemplateGroup(templateName, Stream.of(JUPYTER, ZEPPELIN, DEEP_LEARNING, TENSOR))) {
+ groups.addAll(Arrays.asList(GROUP_PIP2, GROUP_JAVA));
}
- if (Arrays.asList(JUPYTER.getName(), JUPYTER_LAB.getName(), ZEPPELIN.getName(), TENSOR_RSTUDIO.getName(), RSTUDIO.getName()).contains(templateName)) {
- groups.add(GROUP_R_PKG);
+ if (isTemplateGroup(templateName, Stream.of(RSTUDIO, TENSOR_RSTUDIO))) {
+ groups.add(GROUP_PIP2);
}
return groups
@@ -196,11 +196,17 @@ public class LibraryServiceImpl implements LibraryService {
@Override
public List<String> getComputeLibGroups() {
- return Stream.of(GROUP_JAVA, GROUP_OS_PKG, GROUP_PIP2, GROUP_PIP3, GROUP_OTHERS)
+ return Stream.of(GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG, GROUP_OS_PKG, GROUP_JAVA)
.map(LibraryGroups::toString)
.collect(Collectors.toList());
}
+ private boolean isTemplateGroup(String templateName, Stream<NotebookTemplate> templateStream) {
+ return templateStream
+ .map(NotebookTemplate::getName)
+ .anyMatch(name -> name.equals(templateName));
+ }
+
private LibraryInstallDTO toExploratoryLibraryInstallDto(UserInfo userInfo, String project, String exploratoryName,
List<LibInstallDTO> libs, UserInstanceDTO userInstance, EndpointDTO endpointDTO) {
final List<LibInstallDTO> libsToInstall = libs.stream()
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImplTest.java
index 9c3a4cb..dd61462 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImplTest.java
@@ -357,32 +357,32 @@ public class LibraryServiceImplTest {
@Test
public void getComputeLibGroups() {
- List<Object> computeGroups = Arrays.asList(GROUP_JAVA, GROUP_OS_PKG, GROUP_PIP2, GROUP_PIP3, GROUP_OTHERS);
+ List<Object> computeGroups = Arrays.asList(GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG, GROUP_OS_PKG, GROUP_JAVA);
List<String> computeGroupsResult = libraryService.getComputeLibGroups();
- assertEquals("lists are not equals", computeGroups, computeGroupsResult);
+ assertEquals("lists are not equal", computeGroups, computeGroupsResult);
}
@Test
public void getExploratoryJupyterLibGroups() {
- List<Object> exploratoryGroups = Arrays.asList(GROUP_JAVA, GROUP_OS_PKG, GROUP_PIP2, GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG);
+ List<Object> exploratoryGroups = Arrays.asList(GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG, GROUP_OS_PKG, GROUP_PIP2, GROUP_JAVA);
when(exploratoryDAO.fetchExploratoryFields(anyString(), anyString(), anyString())).thenReturn(getJupyterUserInstanceDtoForLibGroups());
List<String> exploratoryGroupsResult = libraryService.getExploratoryLibGroups(getUser(), PROJECT, EXPLORATORY_NAME);
- assertEquals("lists are not equals", exploratoryGroups, exploratoryGroupsResult);
+ assertEquals("lists are not equal", exploratoryGroups, exploratoryGroupsResult);
verify(exploratoryDAO).fetchExploratoryFields(USER, PROJECT, EXPLORATORY_NAME);
}
@Test
public void getExploratoryRstudioLibGroups() {
- List<Object> exploratoryGroups = Arrays.asList(GROUP_JAVA, GROUP_OS_PKG, GROUP_PIP2, GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG);
+ List<Object> exploratoryGroups = Arrays.asList(GROUP_PIP3, GROUP_OTHERS, GROUP_R_PKG, GROUP_OS_PKG, GROUP_PIP2);
when(exploratoryDAO.fetchExploratoryFields(anyString(), anyString(), anyString())).thenReturn(getRstudioUserInstanceDtoForLibGroups());
List<String> exploratoryGroupsResult = libraryService.getExploratoryLibGroups(getUser(), PROJECT, EXPLORATORY_NAME);
- assertEquals("lists are not equals", exploratoryGroups, exploratoryGroupsResult);
+ assertEquals("lists are not equal", exploratoryGroups, exploratoryGroupsResult);
verify(exploratoryDAO).fetchExploratoryFields(USER, PROJECT, EXPLORATORY_NAME);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org