Browse Source

remove some items from json, add convenience methods to get a unique set of selectors to inject

tags/2.0.1
Jonathan Cobb 5 years ago
parent
commit
efef4043d7
5 changed files with 25 additions and 4 deletions
  1. +5
    -0
      src/main/java/bubble/abp/BlockDecision.java
  2. +4
    -0
      src/main/java/bubble/abp/BlockList.java
  3. +1
    -1
      src/main/java/bubble/abp/selector/AbpContains.java
  4. +1
    -1
      src/main/java/bubble/abp/selector/AbpContainsType.java
  5. +14
    -2
      src/main/java/bubble/abp/selector/BlockSelector.java

+ 5
- 0
src/main/java/bubble/abp/BlockDecision.java View File

@@ -1,5 +1,7 @@
package bubble.abp;

import bubble.abp.selector.BlockSelector;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@@ -7,6 +9,7 @@ import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import static org.cobbzilla.util.daemon.ZillaRuntime.empty;

@@ -29,4 +32,6 @@ public class BlockDecision {
return this;
}

@JsonIgnore public Set<BlockSelector> getSelectors() { return BlockSelector.getSelectors(specs); }

}

+ 4
- 0
src/main/java/bubble/abp/BlockList.java View File

@@ -1,5 +1,7 @@
package bubble.abp;

import bubble.abp.selector.BlockSelector;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@@ -56,4 +58,6 @@ public class BlockList {
return decision;
}

@JsonIgnore public Set<BlockSelector> getBlacklistSelectors() { return BlockSelector.getSelectors(blacklist); }

}

+ 1
- 1
src/main/java/bubble/abp/selector/AbpContains.java View File

@@ -15,7 +15,7 @@ public class AbpContains {
if (spec.startsWith("/") && (spec.endsWith("/") || spec.endsWith("/i"))) {
return new AbpContains()
.setValue(spec.substring(1, spec.length()-1))
.setType(spec.endsWith("/i") ? AbpContainsType.case_insensitive_regex : AbpContainsType.regex);
.setType(AbpContainsType.regex);
}
if (spec.contains("[") && spec.contains("]")) {
return new AbpContains()


+ 1
- 1
src/main/java/bubble/abp/selector/AbpContainsType.java View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;

public enum AbpContainsType {

literal, regex, case_insensitive_regex, selector;
literal, regex, selector;

@JsonCreator public static AbpContainsType fromString (String v) { return valueOf(v.toLowerCase()); }



+ 14
- 2
src/main/java/bubble/abp/selector/BlockSelector.java View File

@@ -1,10 +1,12 @@
package bubble.abp.selector;

import bubble.abp.BlockSpec;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.*;
import lombok.experimental.Accessors;
import org.cobbzilla.util.collection.ArrayUtil;

import java.util.StringTokenizer;
import java.util.*;

import static bubble.abp.selector.SelectorAttributeParseState.*;
import static bubble.abp.selector.SelectorParseError.parseError;
@@ -18,7 +20,7 @@ public class BlockSelector {
@Getter @Setter private String error;

@Getter @Setter private SelectorType type;
@Getter @Setter private Boolean abpEnabled;
@JsonIgnore @Getter @Setter private Boolean abpEnabled;
public boolean abpEnabled() { return abpEnabled != null && abpEnabled; }

@Getter private String name;
@@ -192,4 +194,14 @@ public class BlockSelector {
return sel;
}

public static Set<BlockSelector> getSelectors(Collection<BlockSpec> specs) {
final Set<BlockSelector> selectors = new HashSet<>();
if (!empty(specs)) {
for (BlockSpec spec : specs) {
if (spec.hasSelector()) selectors.add(spec.getSelector());
}
}
return selectors;
}

}

Loading…
Cancel
Save