Skip to content

Commit d09d406

Browse files
committed
Better replacements
1 parent b7fbbce commit d09d406

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

src/main/java/ml/anon/docmgmt/AppDocumentManagement.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
55
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
import org.springframework.scheduling.annotation.EnableScheduling;
67

78
@SpringBootApplication
89
@EnableAutoConfiguration
10+
@EnableScheduling
911
public class AppDocumentManagement {
1012

1113
public static void main(String[] args) {

src/main/java/ml/anon/docmgmt/controller/ReplacementController.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.google.common.base.Joiner;
44
import com.google.common.base.Splitter;
55
import com.google.common.collect.Lists;
6+
import lombok.extern.java.Log;
67
import ml.anon.model.anonymization.Label;
78
import org.apache.commons.lang3.RandomStringUtils;
89
import org.apache.commons.lang3.RandomUtils;
@@ -12,7 +13,9 @@
1213
import org.springframework.web.bind.annotation.PathVariable;
1314
import org.springframework.web.bind.annotation.RequestParam;
1415
import org.springframework.web.bind.annotation.RestController;
16+
import org.springframework.web.util.UriUtils;
1517

18+
import java.io.UnsupportedEncodingException;
1619
import java.util.ArrayList;
1720
import java.util.HashMap;
1821
import java.util.List;
@@ -22,20 +25,24 @@
2225
* Created by mirco on 12.07.17.
2326
*/
2427
@RestController
25-
28+
@Log
2629
public class ReplacementController {
2730

2831

2932
private Map<String, String> replacements = new HashMap<>();
3033

34+
3135
@GetMapping(path = "/replacement", params = {"original", "label"})
32-
public ResponseEntity<String> getReplacement(@RequestParam String original, @RequestParam String label) {
33-
String lookupKey = original+"_"+label;
36+
public ResponseEntity<String> getReplacement(@RequestParam String original, @RequestParam String label) throws UnsupportedEncodingException {
37+
String str = UriUtils.decode(original, "UTF-8");
38+
String lookupKey = str + "_" + label;
39+
3440
String existing = replacements.get(lookupKey);
3541
String replacement = existing;
36-
while(replacement == null) {
37-
String generate = generate(original, Label.valueOf(label));
38-
if(!replacements.values().contains(generate)) {
42+
43+
while (replacement == null) {
44+
String generate = generate(str, Label.valueOf(label));
45+
if (!replacements.values().contains(generate)) {
3946
replacement = generate;
4047
}
4148
}
@@ -72,8 +79,9 @@ private String doGenerate(String original, int count, boolean split) {
7279
}
7380

7481

75-
@Scheduled(fixedRate = 60000, initialDelay = 10000)
82+
@Scheduled(fixedRate = 120000, initialDelay = 10000)
7683
private void clearMap() {
84+
log.info("clearing replacements");
7785
replacements.clear();
7886
}
7987

0 commit comments

Comments
 (0)