Skip to content

Commit ba47502

Browse files
committed
Better replacements
1 parent 213dfc4 commit ba47502

File tree

8 files changed

+19
-19
lines changed

8 files changed

+19
-19
lines changed

src/main/java/ml/anon/recognition/rulebased/api/AnnotationService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.google.common.collect.ArrayListMultimap;
44
import com.google.common.collect.Multimap;
55
import lombok.extern.java.Log;
6-
import ml.anon.annotation.ReplacementGenerator;
6+
import ml.anon.annotation.ReplacementAccess;
77
import ml.anon.model.anonymization.Anonymization;
88
import ml.anon.model.anonymization.Label;
99
import ml.anon.model.docmgmt.Document;
@@ -38,7 +38,7 @@ private void refreshRules() {
3838

3939
}
4040

41-
public List<Anonymization> annotate(Document doc) {
41+
public List<Anonymization> annotate(Document doc) throws Exception {
4242
refreshRules();
4343
List<Anonymization> results = new ArrayList<>();
4444
for (Map.Entry<Label, Collection<AbstractRule>> entry : rules.asMap().entrySet()) {
@@ -53,13 +53,13 @@ public List<Anonymization> annotate(Document doc) {
5353

5454
for (Double key : keys) {
5555
if (ruleResults.isEmpty()) {
56-
weights.get(key).forEach(r -> {
56+
for (AbstractRule r : weights.get(key)) {
5757
if (r.isActive()) {
58-
List<Anonymization> apply = r.apply(doc, new ReplacementGenerator());
58+
List<Anonymization> apply = r.apply(doc, new ReplacementAccess());
5959
log.info("Rule " + r.getName() + " (" + r.getLabel() + "): " + apply.toString());
6060
ruleResults.addAll(apply);
6161
}
62-
});
62+
}
6363
}
6464
}
6565
results.addAll(ruleResults);

src/main/java/ml/anon/recognition/rulebased/api/RuleApiController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class RuleApiController {
2424

2525

2626
@PostMapping("/rules/annotate/{id}")
27-
public List<Anonymization> annotate(@PathVariable String id) {
27+
public List<Anonymization> annotate(@PathVariable String id) throws Exception {
2828
ResponseEntity<Document> resp = documentAccess.getDocument(id);
2929
Document doc = resp.getBody();
3030

src/main/java/ml/anon/recognition/rulebased/api/model/IBANRule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.google.common.collect.Lists;
44
import lombok.Builder;
5-
import ml.anon.annotation.ReplacementGenerator;
5+
import ml.anon.annotation.ReplacementAccess;
66
import ml.anon.model.anonymization.Anonymization;
77
import ml.anon.model.anonymization.Label;
88
import ml.anon.model.docmgmt.Document;
@@ -31,7 +31,7 @@ public IBANRule() {
3131
}
3232

3333
@Override
34-
public List<Anonymization> apply(Document doc, ReplacementGenerator repl) {
34+
public List<Anonymization> apply(Document doc, ReplacementAccess repl) throws Exception {
3535
List<Anonymization> apply = iban.apply(doc, repl);
3636
return applyConstrains(apply);
3737

src/main/java/ml/anon/recognition/rulebased/api/model/LicencePlateRule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.google.common.collect.Lists;
44
import lombok.Builder;
5-
import ml.anon.annotation.ReplacementGenerator;
5+
import ml.anon.annotation.ReplacementAccess;
66
import ml.anon.model.anonymization.Anonymization;
77
import ml.anon.model.anonymization.Label;
88
import ml.anon.model.docmgmt.Document;
@@ -33,7 +33,7 @@ public LicencePlateRule() {
3333
}
3434

3535
@Override
36-
public List<Anonymization> apply(Document doc, ReplacementGenerator repl) {
36+
public List<Anonymization> apply(Document doc, ReplacementAccess repl) throws Exception {
3737
List<Anonymization> regExp = wrapped.apply(doc, repl);
3838
return applyConstrains(regExp);
3939
}

src/main/java/ml/anon/recognition/rulebased/api/model/RegExpRule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import lombok.Builder;
44
import lombok.Data;
5-
import ml.anon.annotation.ReplacementGenerator;
5+
import ml.anon.annotation.ReplacementAccess;
66
import ml.anon.model.anonymization.Anonymization;
77
import ml.anon.model.anonymization.Label;
88
import ml.anon.model.anonymization.Producer;
@@ -34,7 +34,7 @@ public RegExpRule() {
3434

3535

3636
@Override
37-
public List<Anonymization> apply(ml.anon.model.docmgmt.Document doc, ReplacementGenerator repl) {
37+
public List<Anonymization> apply(ml.anon.model.docmgmt.Document doc, ReplacementAccess repl) throws Exception {
3838
Matcher matcher = Pattern.compile(regExp).matcher(doc.getFullText());
3939
List<Anonymization> results = new ArrayList<>();
4040

src/main/java/ml/anon/recognition/rulebased/api/model/Rule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package ml.anon.recognition.rulebased.api.model;
22

3-
import ml.anon.annotation.ReplacementGenerator;
3+
import ml.anon.annotation.ReplacementAccess;
44
import ml.anon.model.anonymization.Anonymization;
55
import ml.anon.model.docmgmt.Document;
66

@@ -11,6 +11,6 @@
1111
*/
1212
public interface Rule {
1313

14-
List<Anonymization> apply(Document doc, ReplacementGenerator repl);
14+
List<Anonymization> apply(Document doc, ReplacementAccess repl) throws Exception;
1515

1616
}

src/test/java/ml/anon/recognition/rulebased/api/model/IBANRuleTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package ml.anon.recognition.rulebased.api.model;
22

33
import com.google.common.collect.Lists;
4-
import ml.anon.annotation.ReplacementGenerator;
4+
import ml.anon.annotation.ReplacementAccess;
55
import ml.anon.model.anonymization.Anonymization;
66
import ml.anon.model.docmgmt.Document;
77
import ml.anon.model.docmgmt.FileType;
@@ -27,7 +27,7 @@ public class IBANRuleTest {
2727

2828
@Test
2929
public void apply() throws Exception {
30-
List<Anonymization> apply = ibanRule.apply(iban, new ReplacementGenerator());
30+
List<Anonymization> apply = ibanRule.apply(iban, new ReplacementAccess());
3131
assertThat(apply.size(), is(1));
3232
assertThat(apply.get(0), is("AD1400080001001234567890"));
3333

src/test/java/ml/anon/recognition/rulebased/api/model/LicencePlateRuleTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package ml.anon.recognition.rulebased.api.model;
22

3-
import ml.anon.annotation.ReplacementGenerator;
3+
import ml.anon.annotation.ReplacementAccess;
44
import ml.anon.model.anonymization.Anonymization;
55
import ml.anon.model.docmgmt.Document;
66
import ml.anon.model.docmgmt.FileType;
@@ -23,10 +23,10 @@ public class LicencePlateRuleTest {
2323
"Das ist ein String mit Nummernschildern: HH AA 123 oder AA BB 2. Das hier ist kein valides Nummernschild: AAA BBBB 12. Das auch nicht: HH AA 012")).
2424
originalFileType(FileType.PDF).build();
2525
public Rule lpRule = new LicencePlateRule();
26-
public ReplacementGenerator gen = new ReplacementGenerator();
26+
public ReplacementAccess gen = new ReplacementAccess();
2727

2828
@Test
29-
public void shouldFindValidLicencePlate() {
29+
public void shouldFindValidLicencePlate() throws Exception {
3030
List<Anonymization> apply = lpRule.apply(text, gen);
3131
assertThat(apply.size(), is(2));
3232
assertThat(apply.get(0).getOriginal(), is("HH AA 123"));

0 commit comments

Comments
 (0)