Skip to content

Commit

Permalink
Adding MASK filter strategy (#105)
Browse files Browse the repository at this point in the history
* #104 Adding MASK filter strategy.
  • Loading branch information
jzonthemtn authored Jul 15, 2024
1 parent cdd2166 commit d9a63f1
Show file tree
Hide file tree
Showing 35 changed files with 549 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public abstract class AbstractFilterStrategy {
public static final String FPE_ENCRYPT_REPLACE = "FPE_ENCRYPT_REPLACE";
public static final String HASH_SHA256_REPLACE = "HASH_SHA256_REPLACE";
public static final String LAST_4 = "LAST_4";
public static final String MASK = "MASK";

// NER Person's name strategies
public static final String ABBREVIATE = "ABBREVIATE";
Expand Down Expand Up @@ -97,6 +98,14 @@ public abstract class AbstractFilterStrategy {
@Expose
protected String staticReplacement = "";

@SerializedName("maskCharacter")
@Expose
protected String maskCharacter = "*";

@SerializedName("maskLength")
@Expose
protected String maskLength = "same";

@SerializedName("condition")
@Expose
protected String condition = "";
Expand Down Expand Up @@ -339,6 +348,22 @@ public void setStaticReplacement(String staticReplacement) {
this.staticReplacement = staticReplacement;
}

public void setMaskCharacter(String maskCharacter) {
this.maskCharacter = maskCharacter;
}

public String getMaskCharacter() {
return maskCharacter;
}

public void setMaskLength(String maskLength) {
this.maskLength = maskLength;
}

public String getMaskLength() {
return maskLength;
}

public void setConditions(String condition) {
this.condition = condition;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,20 @@ public Replacement getReplacement(String label, String context, String documentI

replacement = getRedactedToken(token, label, filterType);

} else if(StringUtils.equalsIgnoreCase(strategy, MASK)) {

int characters = token.length();

if(!StringUtils.equalsIgnoreCase(maskLength, "same")) {
characters = Integer.parseInt(maskLength);
}

if(characters < 1) {
characters = 5;
}

replacement = maskCharacter.repeat(characters);

} else if(StringUtils.equalsIgnoreCase(strategy, RANDOM_REPLACE)) {

// Default to document scope.
Expand Down
Loading

0 comments on commit d9a63f1

Please sign in to comment.