From 4c987a1a731dd896b495ebd73ed6347a8a4baafa Mon Sep 17 00:00:00 2001
From: Kfilippopolitis <kostasfilippop@gmail.com>
Date: Fri, 22 Jul 2022 16:17:14 +0300
Subject: [PATCH 1/2] Now a pathology has a version until Exareme is completely
 replaced by Exareme2 the portalbackend will ignore the version for the
 algorithms that run on Exareme.

---
 .../models/DTOs/MIPEngineAlgorithmRequestDTO.java |  2 +-
 .../java/eu/hbp/mip/models/DTOs/PathologyDTO.java |  4 ++++
 .../eu/hbp/mip/services/ExperimentService.java    | 15 ++++++++++++++-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java
index 7b330e419..1e582b923 100644
--- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java
+++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java
@@ -41,7 +41,7 @@ public class MIPEngineAlgorithmRequestDTO {
                     inputData.setData_model(parameter.getValue());
                     break;
                 case "filter":
-                    if (!parameter.getValue().equals(""))
+                    if (parameter.getValue() != null && !parameter.getValue().equals(""))
                         inputData.setFilters(JsonConverters.convertJsonStringToObject(parameter.getValue(), MIPEngineAlgorithmRequestDTO.Filter.class));
                     break;
                 default:
diff --git a/src/main/java/eu/hbp/mip/models/DTOs/PathologyDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/PathologyDTO.java
index ecc5b723b..c1b0f434f 100644
--- a/src/main/java/eu/hbp/mip/models/DTOs/PathologyDTO.java
+++ b/src/main/java/eu/hbp/mip/models/DTOs/PathologyDTO.java
@@ -13,6 +13,10 @@ public class PathologyDTO {
     @SerializedName("code")
     private String code;
 
+    @SerializedName("version")
+    private String version;
+
+
     @SerializedName("label")
     private String label;
 
diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java
index 747b5acdd..327f9ecf8 100644
--- a/src/main/java/eu/hbp/mip/services/ExperimentService.java
+++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java
@@ -465,7 +465,20 @@ public class ExperimentService {
         String algorithmEndpoint = queryExaremeUrl + "/" + algorithmName;
         List<ExaremeAlgorithmRequestParamDTO> algorithmParameters
                 = experimentDTO.getAlgorithm().getParameters();
-        String algorithmBody = gson.toJson(algorithmParameters);
+        List<ExaremeAlgorithmRequestParamDTO> algorithmParametersWithoutPathologyVersion = new ArrayList<>();
+
+        for (ExaremeAlgorithmRequestParamDTO algorithmParameter : algorithmParameters)
+        {
+            if (algorithmParameter.getName().equals("pathology")) {
+                List<String> pathology_info = Arrays.asList(algorithmParameter.getValue().split(":", 2));
+                String pathology_code = pathology_info.get(0);
+                algorithmParameter.setValue(pathology_code);
+            }
+            algorithmParametersWithoutPathologyVersion.add(algorithmParameter);
+
+        }
+
+        String algorithmBody = gson.toJson(algorithmParametersWithoutPathologyVersion);
         logger.LogUserAction("Exareme algorithm execution. Endpoint: " + algorithmEndpoint);
         logger.LogUserAction("Exareme algorithm execution. Body: " + algorithmBody);
 
-- 
GitLab


From 94687d7281e14a732c853fa5dff71b8cdb19b182 Mon Sep 17 00:00:00 2001
From: Kfilippopolitis <kostasfilippop@gmail.com>
Date: Fri, 22 Jul 2022 16:31:20 +0300
Subject: [PATCH 2/2] Now on a new pr a portalbackend testing image will be
 created.

---
 .github/workflows/publish_testing_images.yml | 49 ++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 .github/workflows/publish_testing_images.yml

diff --git a/.github/workflows/publish_testing_images.yml b/.github/workflows/publish_testing_images.yml
new file mode 100644
index 000000000..ffce4b047
--- /dev/null
+++ b/.github/workflows/publish_testing_images.yml
@@ -0,0 +1,49 @@
+name: Publish testing images
+
+on:
+  pull_request:
+    branches:
+      - master
+
+jobs:
+  build_and_push:
+    name: Build image and push to dockerhub
+    runs-on: ubuntu-latest
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Log in to Docker Hub
+        uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
+        with:
+          username: ${{ secrets.DOCKER_USERNAME }}
+          password: ${{ secrets.DOCKER_PASSWORD }}
+
+      - name: Load cached image
+        uses: actions/cache@v2
+        with:
+          path: /tmp/.buildx-cache/portal-backend
+          key: buildx-backend
+          restore-keys: buildx-backend
+
+      - name: Build and Push image to dockerhub
+        uses: docker/build-push-action@v2
+        with:
+          context: .
+          file: ./Dockerfile
+          push: true
+          tags: hbpmip/portal-backend:testing
+          cache-from: type=local,src=/tmp/.buildx-cache/portal-backend
+          cache-to: type=local,dest=/tmp/.buildx-cache-new/portal-backend
+
+        # Temp fix
+        # https://github.com/docker/build-push-action/issues/252
+        # https://github.com/moby/buildkit/issues/1896
+      - name: Move Docker images cache
+        run: |
+          rm -rf /tmp/.buildx-cache
+          mv /tmp/.buildx-cache-new /tmp/.buildx-cache
+
-- 
GitLab