Debian only package Guava's Java 8+ (JRE) flavor in libguava-java,
not the Android flavor. The "Predicate" class of the JRE flavor
extends "java.util.function.Predicate", so the lambdas need to override
both the "apply()" and "test()" methods.
Find attached a patch to adopt the lambdas accordingly, to work with the
JRE flavor.
-- Lukas
Description: Make lambdas use Guava's Java 8 (JRE) flavor
Debian and Ubuntu only package Guava's Java 8+ (JRE) flavor in libguava-java,
not the Android flavor. The "Predicate" class of the JRE flavor extends
"java.util.function.Predicate", so the lambdas need to override both the
"apply()" and "test()" methods.
Author: Lukas Märdian <sl...@ubuntu.com>
Bug: https://github.com/w3c/epubcheck/pull/833#issuecomment-367052775
Bug-Debian: https://bugs.debian.org/963444
Forwarded: https://bugs.debian.org/963444
Last-Update: 2021-01-06
--- epubcheck-4.2.4.orig/src/main/java/com/adobe/epubcheck/ocf/OCFChecker.java
+++ epubcheck-4.2.4/src/main/java/com/adobe/epubcheck/ocf/OCFChecker.java
@@ -359,6 +359,11 @@ public class OCFChecker
|| (validationVersion == EPUBVersion.VERSION_3
&& ((OPFHandler30) opfHandler).getLinkedResources().hasPath(entry));
}
+ @Override
+ public boolean test(OPFHandler opfHandler)
+ {
+ return apply(opfHandler);
+ }
}).isPresent())
{
report.message(MessageId.OPF_003, EPUBLocation.create(ocf.getName()), entry);
--- epubcheck-4.2.4.orig/src/main/java/com/adobe/epubcheck/opf/MetadataSet.java
+++ epubcheck-4.2.4/src/main/java/com/adobe/epubcheck/opf/MetadataSet.java
@@ -237,6 +237,11 @@ public final class MetadataSet
{
return tryFind(meta.getRefiners(), property, value).isPresent();
}
+ @Override
+ public boolean test(Metadata meta)
+ {
+ return apply(meta);
+ }
});
}
@@ -274,6 +279,11 @@ public final class MetadataSet
return property.equals(meta.getProperty())
&& (!value.isPresent() || value.get().equals(meta.getValue()));
}
+ @Override
+ public boolean test(Metadata meta)
+ {
+ return apply(meta);
+ }
});
}
--- epubcheck-4.2.4.orig/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java
+++ epubcheck-4.2.4/src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java
@@ -337,6 +337,11 @@ public class OPFChecker30 extends OPFChe
{
return item.get().getPath().equals(dict.getLocation().get().getPath());
}
+ @Override
+ public boolean test(Feature dict)
+ {
+ return apply(dict);
+ }
}).isPresent();
}
}
--- epubcheck-4.2.4.orig/src/main/java/com/adobe/epubcheck/opf/ValidationContext.java
+++ epubcheck-4.2.4/src/main/java/com/adobe/epubcheck/opf/ValidationContext.java
@@ -270,6 +270,11 @@ public final class ValidationContext
{
return input.properties.contains(property);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
@@ -286,6 +291,11 @@ public final class ValidationContext
{
return input.pubTypes.contains(type);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
@@ -302,6 +312,11 @@ public final class ValidationContext
{
return input.mimeType.equals(mimetype);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
@@ -318,6 +333,11 @@ public final class ValidationContext
{
return input.path.equals(path);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
@@ -334,6 +354,11 @@ public final class ValidationContext
{
return input.profile.equals(profile);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
@@ -350,6 +375,11 @@ public final class ValidationContext
{
return input.version.equals(version);
}
+ @Override
+ public boolean test(ValidationContext input)
+ {
+ return apply(input);
+ }
};
}
--- epubcheck-4.2.4.orig/src/main/java/org/idpf/epubcheck/util/css/CssParser.java
+++ epubcheck-4.2.4/src/main/java/org/idpf/epubcheck/util/css/CssParser.java
@@ -705,6 +705,10 @@ public final class CssParser
checkNotNull(cc);
return cc.type != CssConstruct.Type.ATRULE; //TODO;
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
/**
@@ -717,6 +721,10 @@ public final class CssParser
checkNotNull(cc);
return true; // atrule param space allows SYMBOL (aka DELIM) too
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
/**
@@ -729,6 +737,10 @@ public final class CssParser
checkNotNull(cc);
return cc.type != CssConstruct.Type.ATRULE; //TODO
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
/**
@@ -741,6 +753,10 @@ public final class CssParser
checkNotNull(cc);
return cc.type == CssConstruct.Type.KEYWORD || cc.type == CssConstruct.Type.STRING;
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
/**
@@ -758,6 +774,10 @@ public final class CssParser
|| (cc.type == CssConstruct.Type.SYMBOL && cc.toCssString().equals("-"))
;
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
/**
@@ -775,6 +795,10 @@ public final class CssParser
|| (cc.type == CssConstruct.Type.PSEUDO)
;
}
+ public boolean test(CssConstruct cc)
+ {
+ return apply(cc);
+ }
};
}
--- epubcheck-4.2.4.orig/src/main/java/org/idpf/epubcheck/util/css/CssToken.java
+++ epubcheck-4.2.4/src/main/java/org/idpf/epubcheck/util/css/CssToken.java
@@ -201,6 +201,10 @@ final class CssToken
return input.type == CssToken.Type.CHAR
&& (input.getChar() == ';' || input.getChar() == '{');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -213,6 +217,10 @@ final class CssToken
return input.type == CssToken.Type.CHAR
&& (input.getChar() == ';' || input.getChar() == '}');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -225,6 +233,10 @@ final class CssToken
return input.type == CssToken.Type.CHAR
&& (input.getChar() == ',' || input.getChar() == '{');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -236,6 +248,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == ':');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -247,6 +263,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '|');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -258,6 +278,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '}');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -269,6 +293,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '{');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -282,6 +310,10 @@ final class CssToken
return input.type == CssToken.Type.CHAR
&& (input.getChar() == '>' || input.getChar() == '+' || input.getChar() == '~');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -293,6 +325,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == ';');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -304,6 +340,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == ',');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -315,6 +355,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == ')');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -326,6 +370,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '(');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -338,6 +386,10 @@ final class CssToken
return input.type == CssToken.Type.CHAR
&& (input.getChar() == '*' || input.getChar() == '|');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -349,6 +401,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '*');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -360,6 +416,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == '[');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -371,6 +431,10 @@ final class CssToken
{
return input.type == CssToken.Type.CHAR && (input.getChar() == ']');
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -383,6 +447,10 @@ final class CssToken
return input.type == CssToken.Type.IDENT || input.type == CssToken.Type.STRING;
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
static final Predicate<CssToken> MATCH_ATTRIBUTE_SELECTOR_MATCHERS = new Predicate<CssToken>()
@@ -395,6 +463,10 @@ final class CssToken
|| input.type == CssToken.Type.SUBSTRINGMATCH;
}
+ public final boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
}
--- epubcheck-4.2.4.orig/src/main/java/org/idpf/epubcheck/util/css/CssTokenList.java
+++ epubcheck-4.2.4/src/main/java/org/idpf/epubcheck/util/css/CssTokenList.java
@@ -188,6 +188,10 @@ final class CssTokenList extends ArrayLi
{
return !(input.type == Type.S || input.type == Type.COMMENT);
}
+ public boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -200,6 +204,10 @@ final class CssTokenList extends ArrayLi
return !(input.type == Type.S || input.type == Type.COMMENT
|| input.type == Type.CDO || input.type == Type.CDC);
}
+ public boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
/**
@@ -211,6 +219,10 @@ final class CssTokenList extends ArrayLi
{
return true;
}
+ public boolean test(final CssToken input)
+ {
+ return apply(input);
+ }
};
}