Skip to content

Commit

Permalink
Hotfix 3.1.3
Browse files Browse the repository at this point in the history
- Replace QueryResultObfuscator and Tests with RandomSiteNameGenerator, using substring of random uuids as obfuscated site ids
- Update Spring Boot to 3.1.1
  • Loading branch information
michael-82 committed Jul 13, 2023
1 parent 055cbdd commit 6db6cda
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 253 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [3.1.3] - 2023-07-13

### Changed
- Obfuscated site ids are no longer consistent over multiple requests of the same result
### Security
- Update Spring Boot to 3.1.1

## [3.1.2] - 2023-07-11

### Security
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.0</version>
<version>3.1.1</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>

<groupId>de.medizininformatik-initiative</groupId>
<artifactId>FeasibilityGuiBackend</artifactId>
<version>3.1.2</version>
<version>3.1.3</version>

<name>FeasibilityGuiBackend</name>
<description>Backend of the Feasibility GUI</description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import de.numcodex.feasibility_gui_backend.query.api.*;
import de.numcodex.feasibility_gui_backend.query.dispatch.QueryDispatchException;
import de.numcodex.feasibility_gui_backend.query.dispatch.QueryDispatcher;
import de.numcodex.feasibility_gui_backend.query.obfuscation.QueryResultObfuscator;
import de.numcodex.feasibility_gui_backend.query.persistence.*;
import de.numcodex.feasibility_gui_backend.query.result.RandomSiteNameGenerator;
import de.numcodex.feasibility_gui_backend.query.result.ResultLine;
import de.numcodex.feasibility_gui_backend.query.result.ResultService;
import de.numcodex.feasibility_gui_backend.query.templates.QueryTemplateException;
Expand All @@ -23,6 +23,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.UUID;

@Service
@RequiredArgsConstructor
Expand Down Expand Up @@ -55,9 +56,6 @@ public enum ResultDetail {
@NonNull
private final SavedQueryRepository savedQueryRepository;

@NonNull
private final QueryResultObfuscator queryResultObfuscator;

@NonNull
private ObjectMapper jsonUtil;

Expand All @@ -79,7 +77,7 @@ public QueryResult getQueryResult(Long queryId, ResultDetail resultDetail) {
if (resultDetail != ResultDetail.SUMMARY) {
resultLines = singleSiteResults.stream()
.map(ssr -> QueryResultLine.builder()
.siteName(resultDetail == ResultDetail.DETAILED_OBFUSCATED ? queryResultObfuscator.tokenizeSiteName(queryId, ssr.siteName()) : ssr.siteName())
.siteName(resultDetail == ResultDetail.DETAILED_OBFUSCATED ? RandomSiteNameGenerator.generateRandomSiteName() : ssr.siteName())
.numberOfPatients(ssr.result())
.build())
.toList();
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package de.numcodex.feasibility_gui_backend.query.result;

import java.util.UUID;

/**
* Generates a random string with a length of 10 by using the last 10 characters of a UUID.
* <p>
* UUIDs have the format 8-4-4-4-12. For historical reasons, we currently need 10 characters, so we just use the
* last 10, meaning the substring begin index is 8+4+4+4+2 + the 4 hyphens = 26
*/
public class RandomSiteNameGenerator {

private static final int BEGIN_INDEX = 26;

public static String generateRandomSiteName() {
return UUID.randomUUID().toString().substring(BEGIN_INDEX);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import de.numcodex.feasibility_gui_backend.query.broker.BrokerSpringConfig;
import de.numcodex.feasibility_gui_backend.query.collect.QueryCollectSpringConfig;
import de.numcodex.feasibility_gui_backend.query.dispatch.QueryDispatchSpringConfig;
import de.numcodex.feasibility_gui_backend.query.obfuscation.QueryObfuscationSpringConfig;
import de.numcodex.feasibility_gui_backend.query.persistence.*;
import de.numcodex.feasibility_gui_backend.query.result.ResultLine;
import de.numcodex.feasibility_gui_backend.query.result.ResultService;
Expand Down Expand Up @@ -39,7 +38,6 @@
QueryDispatchSpringConfig.class,
QueryCollectSpringConfig.class,
QueryHandlerService.class,
QueryObfuscationSpringConfig.class,
QueryTemplateHandler.class,
ResultServiceSpringConfig.class
})
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package de.numcodex.feasibility_gui_backend.query.result;

import org.junit.jupiter.api.Test;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;

class RandomSiteNameGeneratorTest {

@Test
void checkForCorrectPattern() {
assertThat(RandomSiteNameGenerator.generateRandomSiteName()).matches("[0-9a-f]{10}");
}
}

0 comments on commit 6db6cda

Please sign in to comment.