66 lines
2.4 KiB
Plaintext
66 lines
2.4 KiB
Plaintext
package drools
|
|
|
|
import com.iqser.red.service.redaction.v1.server.redaction.model.Section
|
|
|
|
global Section section
|
|
|
|
rule "0: Highlight Indicators"
|
|
when
|
|
eval(section.getEntities().isEmpty()==false);
|
|
then
|
|
section.highlightAll("vertebrate");
|
|
section.highlightAll("no_redaction_indicator");
|
|
end
|
|
|
|
|
|
rule "1: Redacted because Section contains Vertebrate"
|
|
when
|
|
eval(section.contains("vertebrate")==true);
|
|
then
|
|
section.redact("name", 1, "Redacted because Section contains Vertebrate");
|
|
section.redact("address", 1, "Redacted because Section contains Vertebrate");
|
|
end
|
|
|
|
|
|
rule "2: Not Redacted because Section contains no Vertebrate"
|
|
when
|
|
eval(section.contains("vertebrate")==false);
|
|
then
|
|
section.redactNot("name", 2, "Not Redacted because Section contains no Vertebrate");
|
|
section.redactNot("address", 2, "Not Redacted because Section contains no Vertebrate");
|
|
end
|
|
|
|
|
|
rule "3: Do not redact Names and Addresses if no redaction Indicator is contained"
|
|
when
|
|
eval(section.contains("vertebrate")==true && section.contains("no_redaction_indicator")==true);
|
|
then
|
|
section.redactNot("name", 3, "Vertebrate was found, but also a no redaction indicator");
|
|
section.redactNot("address", 3, "Vertebrate was found, but also a no redaction indicator");
|
|
end
|
|
|
|
|
|
rule "4: Redact contact information, if applicant is found"
|
|
when
|
|
eval(section.getText().toLowerCase().contains("applicant"));
|
|
then
|
|
section.redactLineAfter("Name:", "address", 4, "Redacted because of Rule 4");
|
|
section.redactBetween("Address:", "Contact", "address", 4, "Redacted because of Rule 4");
|
|
section.redactLineAfter("Contact point:", "address", 4, "Redacted because of Rule 4");
|
|
section.redactLineAfter("Phone:", "address", 4, "Redacted because of Rule 4");
|
|
section.redactLineAfter("Fax:", "address", 4, "Redacted because of Rule 4");
|
|
section.redactLineAfter("E-mail:", "address", 4, "Redacted because of Rule 4");
|
|
end
|
|
|
|
|
|
rule "5: Redact contact information, if 'Producer of the plant protection product' is found"
|
|
when
|
|
eval(section.getText().contains("Producer of the plant protection product"));
|
|
then
|
|
section.redactLineAfter("Name:", "address", 5, "xxxx");
|
|
section.redactBetween("Address:", "Contact", "address", 5, "xxxx");
|
|
section.redactBetween("Contact:", "Phone", "address", 5, "xxxx");
|
|
section.redactLineAfter("Phone:", "address", 5, "xxxx");
|
|
section.redactLineAfter("Fax:", "address", 5, "xxxx");
|
|
section.redactLineAfter("E-mail:", "address", 5, "xxxx");
|
|
end |