You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2022/12/02 13:52:22 UTC
[jackrabbit-oak] 03/04: OAK-8874: deprecate use of Guava Predicate class in oak-core API
This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch 1.22
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 924945db6a753197636e4f573cdc1fd1ba59ea07
Author: Julian Reschke <re...@apache.org>
AuthorDate: Thu Jan 30 20:01:06 2020 +0000
OAK-8874: deprecate use of Guava Predicate class in oak-core API
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1873380 13f79535-47bb-0310-9956-ffa450edef68
---
.../cug/impl/CugValidatorProvider.java | 2 +-
.../impl/PrincipalPolicyValidatorProvider.java | 2 +-
.../jackrabbit/oak/core/GuavaDeprecation.java | 88 ++++++++++++++++++++++
.../oak/plugins/identifier/IdentifierTracker.java | 4 +-
.../index/property/PropertyIndexEditor.java | 10 +--
.../migration/version/VersionHistoryUtil.java | 4 +-
.../migration/version/VersionableEditor.java | 4 +-
.../version/VersionablePropertiesEditor.java | 6 +-
.../oak/plugins/nodetype/NodeTypeImpl.java | 2 +-
.../oak/plugins/nodetype/TypeEditor.java | 8 +-
.../oak/plugins/nodetype/TypePredicate.java | 41 ++++++++--
.../nodetype/constraint/BooleanConstraint.java | 19 ++++-
.../plugins/nodetype/constraint/Constraints.java | 15 +++-
.../nodetype/constraint/NameConstraint.java | 18 ++++-
.../nodetype/constraint/NumericConstraint.java | 17 ++++-
.../nodetype/constraint/PathConstraint.java | 18 ++++-
.../nodetype/constraint/ReferenceConstraint.java | 18 ++++-
.../nodetype/constraint/StringConstraint.java | 17 ++++-
.../plugins/observation/filter/FilterBuilder.java | 2 +-
.../observation/filter/PropertyPredicate.java | 20 ++++-
.../observation/filter/UniversalFilter.java | 16 ++--
.../plugins/observation/filter/UuidPredicate.java | 18 ++++-
.../plugins/version/ReadWriteVersionManager.java | 2 +-
.../accesscontrol/AccessControlValidator.java | 2 +-
.../authorization/permission/PermissionHook.java | 10 +--
.../permission/PermissionStoreEditor.java | 4 +-
.../permission/PermissionValidator.java | 4 +-
.../oak/security/user/CacheValidatorProvider.java | 2 +-
.../observation/filter/NodeTypePredicateTest.java | 10 +--
.../observation/filter/PropertyPredicateTest.java | 15 ++--
.../plugins/observation/filter/SelectorTest.java | 6 +-
.../observation/filter/UuidPredicateTest.java | 11 ++-
.../permission/PermissionStoreEditorTest.java | 10 +--
.../oak/jcr/observation/OakEventFilterImpl.java | 16 ++--
.../oak/jcr/observation/ObservationTest.java | 6 +-
.../oak/upgrade/JackrabbitNodeState.java | 8 +-
.../oak/upgrade/SameNameSiblingsEditor.java | 4 +-
.../oak/upgrade/security/RestrictionEditor.java | 2 +-
38 files changed, 341 insertions(+), 120 deletions(-)
diff --git a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugValidatorProvider.java b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugValidatorProvider.java
index 0b78a3cd6a..ba6ebb2690 100644
--- a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugValidatorProvider.java
+++ b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugValidatorProvider.java
@@ -51,7 +51,7 @@ class CugValidatorProvider extends ValidatorProvider implements CugConstants {
if (!NT_REP_CUG_POLICY.equals(NodeStateUtils.getPrimaryTypeName(nodeState))) {
throw accessViolation(21, "Reserved name 'rep:cugPolicy' must only be used for nodes of type 'rep:CugPolicy'.");
}
- if (!isMixCug.apply(parent)) {
+ if (!isMixCug.test(parent)) {
throw accessViolation(22, "Parent node not of mixin type 'rep:CugMixin'.");
}
}
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyValidatorProvider.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyValidatorProvider.java
index ddde66f2aa..cd17bb15a5 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyValidatorProvider.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalPolicyValidatorProvider.java
@@ -185,7 +185,7 @@ class PrincipalPolicyValidatorProvider extends ValidatorProvider implements Cons
if (!NT_REP_PRINCIPAL_POLICY.equals(NodeStateUtils.getPrimaryTypeName(nodeState))) {
throw accessControlViolation(32, "Reserved node name 'rep:principalPolicy' must only be used for nodes of type 'rep:PrincipalPolicy'.");
}
- if (!isMixPrincipalBased.apply(parent)) {
+ if (!isMixPrincipalBased.test(parent)) {
throw accessControlViolation(33, "Parent node not of mixin type 'rep:PrincipalBasedMixin'.");
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/core/GuavaDeprecation.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/GuavaDeprecation.java
new file mode 100644
index 0000000000..6bdec816d8
--- /dev/null
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/core/GuavaDeprecation.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.core;
+
+import java.util.Locale;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GuavaDeprecation {
+
+ private static final Logger LOG = LoggerFactory.getLogger(GuavaDeprecation.class);
+
+ private static final String DEFAULT = "debug";
+
+ private static final String TLOGLEVEL = System.getProperty(GuavaDeprecation.class + ".LOGLEVEL", DEFAULT);
+
+ private static String LOGLEVEL;
+
+ static {
+ String t;
+
+ switch (TLOGLEVEL.toLowerCase(Locale.ENGLISH)) {
+ case "error":
+ case "warn":
+ case "info":
+ case "debug":
+ t = TLOGLEVEL.toLowerCase(Locale.ENGLISH);
+ break;
+ default:
+ t = DEFAULT;
+ break;
+ }
+
+ LOGLEVEL = t;
+ }
+
+ private GuavaDeprecation() {
+ }
+
+ public static void handleCall(String ticket) throws UnsupportedOperationException {
+ String message = "use of deprecated Guava-related API - this method is going to be removed in future Oak releases - see %s for details";
+
+ switch (LOGLEVEL) {
+ case "error":
+ if (LOG.isErrorEnabled()) {
+ LOG.error(String.format(message, ticket), new Exception("call stack"));
+ }
+ break;
+ case "warn":
+ if (LOG.isWarnEnabled()) {
+ LOG.warn(String.format(message, ticket), new Exception("call stack"));
+ }
+ break;
+ case "info":
+ if (LOG.isInfoEnabled()) {
+ LOG.info(String.format(message, ticket), new Exception("call stack"));
+ }
+ break;
+ case "debug":
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(String.format(message, ticket), new Exception("call stack"));
+ }
+ break;
+ }
+ }
+
+ // for testing
+ public static String setLogLevel(String level) {
+ String before = LOGLEVEL;
+ LOGLEVEL = level;
+ return before;
+ }
+}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierTracker.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierTracker.java
index 00d41a4d5d..1388dc7cab 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierTracker.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierTracker.java
@@ -43,7 +43,7 @@ public class IdentifierTracker {
this.name = null;
String uuid = root.getString(JCR_UUID);
- if (uuid != null && referenceable.apply(root)) {
+ if (uuid != null && referenceable.test(root)) {
this.identifier = uuid;
} else {
this.identifier = "/";
@@ -60,7 +60,7 @@ public class IdentifierTracker {
public IdentifierTracker getChildTracker(String name, NodeState state) {
String uuid = state.getString(JCR_UUID);
- if (uuid != null && !referenceable.apply(state)) {
+ if (uuid != null && !referenceable.test(state)) {
uuid = null; // discard jcr:uuid value of a non-referenceable node
}
return new IdentifierTracker(this, name, uuid);
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditor.java
index fc8fecc7c5..d0551a3fed 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditor.java
@@ -34,6 +34,7 @@ import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
+import java.util.function.Predicate;
import javax.jcr.PropertyType;
@@ -44,7 +45,6 @@ import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
import org.apache.jackrabbit.oak.plugins.index.IndexEditor;
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateCallback;
import org.apache.jackrabbit.oak.plugins.index.property.strategy.IndexStoreStrategy;
-import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
import org.apache.jackrabbit.oak.plugins.memory.PropertyValues;
import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
import org.apache.jackrabbit.oak.spi.commit.Editor;
@@ -54,8 +54,6 @@ import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.jetbrains.annotations.NotNull;
-import com.google.common.base.Predicate;
-
/**
* Index editor for keeping a property index up to date.
*
@@ -260,11 +258,11 @@ class PropertyIndexEditor implements IndexEditor {
beforeKeys = getMatchingKeys(before, getPropertyNames(), valuePattern);
afterKeys = getMatchingKeys(after, getPropertyNames(), valuePattern);
}
- if (beforeKeys != null && !typePredicate.apply(before)) {
+ if (beforeKeys != null && !typePredicate.test(before)) {
// the before state doesn't match the type, so clear its values
beforeKeys = null;
}
- if (afterKeys != null && !typePredicate.apply(after)) {
+ if (afterKeys != null && !typePredicate.test(after)) {
// the after state doesn't match the type, so clear its values
afterKeys = null;
}
@@ -276,7 +274,7 @@ class PropertyIndexEditor implements IndexEditor {
if (beforeKeys != null || afterKeys != null) {
// first make sure that both the before and after sets are non-null
if (beforeKeys == null
- || (typePredicate != null && !typePredicate.apply(before))) {
+ || (typePredicate != null && !typePredicate.test(before))) {
beforeKeys = newHashSet();
} else if (afterKeys == null) {
afterKeys = newHashSet();
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionHistoryUtil.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionHistoryUtil.java
index 19c0ad5514..791a598b71 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionHistoryUtil.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionHistoryUtil.java
@@ -119,7 +119,7 @@ public class VersionHistoryUtil {
private static void getVersionableNodes(NodeState node, NodeState versionStorage, TypePredicate isVersionable, Calendar olderThan, String path, List<String> paths) {
- if (isVersionable.apply(node)) {
+ if (isVersionable.test(node)) {
if (olderThan == null) {
paths.add(path);
} else {
@@ -157,7 +157,7 @@ public class VersionHistoryUtil {
// we don't know if the UUID is otherwise referenced,
// so make sure the node remains referencable
- if (!isReferenceable.apply(versionableBuilder.getNodeState())) {
+ if (!isReferenceable.test(versionableBuilder.getNodeState())) {
addMixin(versionableBuilder, MIX_REFERENCEABLE);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
index 32e9baf8fa..d20464efc2 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionableEditor.java
@@ -122,7 +122,7 @@ public class VersionableEditor extends DefaultEditor {
this.path = path;
final VersionCopyConfiguration c = provider.config;
- if (isVersionable.apply(after)) {
+ if (isVersionable.test(after)) {
final String versionableUuid = getProperty(after, JCR_UUID, Type.STRING);
if (c.isCopyVersions() && c.skipOrphanedVersionsCopy()) {
copyVersionHistory(after);
@@ -139,7 +139,7 @@ public class VersionableEditor extends DefaultEditor {
} else {
NodeBuilder versionableBuilder = getNodeBuilder(rootBuilder, this.path);
removeVersionProperties(versionableBuilder, isReferenceable);
- if (isVersionable.apply(versionableBuilder.getNodeState())) {
+ if (isVersionable.test(versionableBuilder.getNodeState())) {
logger.warn("Node {} is still versionable. Creating empty version history.", path);
createEmptyHistory(versionableBuilder);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionablePropertiesEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionablePropertiesEditor.java
index 98396a6ef5..9451d2729f 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionablePropertiesEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/version/VersionablePropertiesEditor.java
@@ -107,9 +107,9 @@ public final class VersionablePropertiesEditor extends DefaultEditor {
@Override
public Editor childNodeAdded(String name, NodeState after) throws CommitFailedException {
NodeBuilder nodeBuilder = builder.getChildNode(name);
- if (isVersionable.apply(after)) {
+ if (isVersionable.test(after)) {
fixProperties(nodeBuilder);
- } else if (isFrozenNode.apply(after)) {
+ } else if (isFrozenNode.test(after)) {
updateFrozenMixins(nodeBuilder);
}
return new VersionablePropertiesEditor(this, nodeBuilder);
@@ -172,7 +172,7 @@ public final class VersionablePropertiesEditor extends DefaultEditor {
NodeState lastVersion = versionHistory.getChildNode(JCR_ROOTVERSION);
for (ChildNodeEntry child : versionHistory.getChildNodeEntries()) {
NodeState v = child.getNodeState();
- if (!isNtVersion.apply(v)) {
+ if (!isNtVersion.test(v)) {
continue;
}
if (v.getProperty(JCR_SUCCESSORS).count() == 0) { // no successors
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
index c019c5f344..95a343caaf 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
@@ -665,7 +665,7 @@ class NodeTypeImpl extends AbstractTypeDefinition implements NodeType {
// Any of the constraints must be met
for (String constraint : constraints) {
- if (Constraints.valueConstraint(value.getType(), constraint).apply(value)) {
+ if (Constraints.asPredicate(value.getType(), constraint).test(value)) {
return true;
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
index 18bd2cbd66..8f73af0ad5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
@@ -34,17 +34,17 @@ import static org.apache.jackrabbit.oak.commons.UUIDUtils.isValidUUID;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.JCR_IS_ABSTRACT;
-import static org.apache.jackrabbit.oak.plugins.nodetype.constraint.Constraints.valueConstraint;
+import static org.apache.jackrabbit.oak.plugins.nodetype.constraint.Constraints.asPredicate;
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.function.Predicate;
import javax.jcr.PropertyType;
import javax.jcr.Value;
import com.google.common.base.Objects;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -425,9 +425,9 @@ public class TypeEditor extends DefaultEditor {
}
for (String constraint : constraints.getValue(STRINGS)) {
- Predicate<Value> predicate = valueConstraint(requiredType, constraint);
+ Predicate<Value> predicate = asPredicate(requiredType, constraint);
for (Value v : valueFactory.createValues(property)) {
- if (predicate.apply(v)) {
+ if (predicate.test(v)) {
return;
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
index e40826c060..df7956ee6e 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
@@ -18,11 +18,12 @@ package org.apache.jackrabbit.oak.plugins.nodetype;
import java.util.Arrays;
import java.util.Set;
+import java.util.function.Predicate;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.plugins.tree.TreeUtil;
@@ -48,7 +49,7 @@ import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.REP_PRIMA
*
* @since Oak 0.11
*/
-public class TypePredicate implements Predicate<NodeState> {
+public class TypePredicate implements Predicate<NodeState>, com.google.common.base.Predicate<NodeState> {
@NotNull
public static TypePredicate isOrderable(@NotNull NodeState root) {
@@ -156,7 +157,7 @@ public class TypePredicate implements Predicate<NodeState> {
}
}
- public boolean apply(String primary, Set<String> mixins) {
+ public boolean test(String primary, Set<String> mixins) {
init();
if (primaryTypes != null && primaryTypes.contains(primary)) {
return true;
@@ -167,7 +168,7 @@ public class TypePredicate implements Predicate<NodeState> {
return false;
}
- public boolean apply(@Nullable Tree input) {
+ public boolean test(@Nullable Tree input) {
if (input != null) {
init();
if (primaryTypes != null
@@ -185,7 +186,7 @@ public class TypePredicate implements Predicate<NodeState> {
//---------------------------------------------------------< Predicate >--
@Override
- public boolean apply(@Nullable NodeState input) {
+ public boolean test(@Nullable NodeState input) {
if (input != null) {
init();
if (primaryTypes != null
@@ -200,11 +201,39 @@ public class TypePredicate implements Predicate<NodeState> {
return false;
}
+ // backwards compatibility, see OAK-8874
+
+ /**
+ * @deprecated use {@link #test(NodeState) instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ public boolean apply(@Nullable NodeState input) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(input);
+ }
+
+ /**
+ * @deprecated use {@link #test(Tree) instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ public boolean apply(@Nullable Tree input) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(input);
+ }
+
+ /**
+ * @deprecated use {@link #test(String, Set)) instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ public boolean apply(String primary, Set<String> mixins) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(primary, mixins);
+ }
+
//------------------------------------------------------------< Object >--
@Override
public String toString() {
return Iterables.toString(names);
}
-
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/BooleanConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/BooleanConstraint.java
index 8e69314f26..06539169b5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/BooleanConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/BooleanConstraint.java
@@ -16,14 +16,16 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
+
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class BooleanConstraint implements Predicate<Value> {
+public class BooleanConstraint implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private static final Logger log = LoggerFactory.getLogger(BooleanConstraint.class);
private final Boolean requiredValue;
@@ -42,7 +44,7 @@ public class BooleanConstraint implements Predicate<Value> {
}
@Override
- public boolean apply(Value value) {
+ public boolean test(Value value) {
try {
return value != null && requiredValue != null && value.getBoolean() == requiredValue;
}
@@ -52,8 +54,19 @@ public class BooleanConstraint implements Predicate<Value> {
}
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Override
+ @Deprecated
+ public boolean apply(Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
@Override
public String toString() {
return "'" + requiredValue + '\'';
}
+
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/Constraints.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/Constraints.java
index 57b83d6057..b2d73d1cb5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/Constraints.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/Constraints.java
@@ -16,10 +16,12 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
+
import javax.jcr.PropertyType;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,7 +31,7 @@ public final class Constraints {
private Constraints() {
}
- public static Predicate<Value> valueConstraint(int type, String constraint) {
+ public static Predicate<Value> asPredicate(int type, String constraint) {
switch (type) {
case PropertyType.STRING:
return new StringConstraint(constraint);
@@ -62,4 +64,13 @@ public final class Constraints {
}
}
+ /**
+ * @deprecated use {@link #asPredicate(int, String)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @SuppressWarnings("unchecked")
+ @Deprecated
+ public static com.google.common.base.Predicate<Value> valueConstraint(int type, String constraint) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return (com.google.common.base.Predicate<Value>) asPredicate(type, constraint);
+ }
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NameConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NameConstraint.java
index 1379fbc808..ea96327fb9 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NameConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NameConstraint.java
@@ -16,15 +16,17 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
+
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NameConstraint implements Predicate<Value> {
+public class NameConstraint implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private static final Logger log = LoggerFactory.getLogger(NameConstraint.class);
private final String requiredValue;
@@ -34,7 +36,7 @@ public class NameConstraint implements Predicate<Value> {
}
@Override
- public boolean apply(@Nullable Value value) {
+ public boolean test(@Nullable Value value) {
try {
return value != null && requiredValue != null && requiredValue.equals(value.getString());
}
@@ -44,6 +46,16 @@ public class NameConstraint implements Predicate<Value> {
}
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(@Nullable Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
@Override
public String toString() {
return '\'' + requiredValue + '\'';
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NumericConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NumericConstraint.java
index 0eb43fd3cc..893c091cb5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NumericConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/NumericConstraint.java
@@ -16,18 +16,19 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public abstract class NumericConstraint<T> implements Predicate<Value> {
+public abstract class NumericConstraint<T> implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private static final Logger log = LoggerFactory.getLogger(NumericConstraint.class);
private boolean invalid;
@@ -69,7 +70,7 @@ public abstract class NumericConstraint<T> implements Predicate<Value> {
protected abstract T getBound(String bound);
@Override
- public boolean apply(@Nullable Value value) {
+ public boolean test(@Nullable Value value) {
if (value == null || invalid) {
return false;
}
@@ -106,6 +107,16 @@ public abstract class NumericConstraint<T> implements Predicate<Value> {
}
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(@Nullable Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
protected abstract T getValue(Value value) throws RepositoryException;
protected abstract boolean less(T val, T bound);
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/PathConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/PathConstraint.java
index 43cc044ab1..53f0d15186 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/PathConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/PathConstraint.java
@@ -16,16 +16,18 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
+
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class PathConstraint implements Predicate<Value> {
+public class PathConstraint implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private static final Logger log = LoggerFactory.getLogger(PathConstraint.class);
private final String requiredValue;
@@ -35,7 +37,7 @@ public class PathConstraint implements Predicate<Value> {
}
@Override
- public boolean apply(@Nullable Value value) {
+ public boolean test(@Nullable Value value) {
try {
if (value == null || requiredValue == null) {
return false;
@@ -62,6 +64,16 @@ public class PathConstraint implements Predicate<Value> {
}
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(@Nullable Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
@Override
public String toString() {
return '\'' + requiredValue + '\'';
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/ReferenceConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/ReferenceConstraint.java
index b666c5ca71..a829c4792c 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/ReferenceConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/ReferenceConstraint.java
@@ -16,11 +16,13 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
+
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
-public class ReferenceConstraint implements Predicate<Value> {
+public class ReferenceConstraint implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private final String requiredTargetType;
@@ -29,11 +31,21 @@ public class ReferenceConstraint implements Predicate<Value> {
}
@Override
- public boolean apply(Value value) {
+ public boolean test(Value value) {
// TODO implement ReferenceConstraint
return true;
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
@Override
public String toString() {
return '\'' + requiredTargetType + '\'';
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/StringConstraint.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/StringConstraint.java
index dcf71bf764..a8ad41881a 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/StringConstraint.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/StringConstraint.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype.constraint;
+import java.util.function.Predicate;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -23,11 +24,11 @@ import java.util.regex.PatternSyntaxException;
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import com.google.common.base.Predicate;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class StringConstraint implements Predicate<Value> {
+public class StringConstraint implements Predicate<Value>, com.google.common.base.Predicate<Value> {
private static final Logger log = LoggerFactory.getLogger(StringConstraint.class);
private final Pattern pattern;
@@ -46,7 +47,7 @@ public class StringConstraint implements Predicate<Value> {
}
@Override
- public boolean apply(Value value) {
+ public boolean test(Value value) {
if (value == null) {
return false;
}
@@ -61,6 +62,16 @@ public class StringConstraint implements Predicate<Value> {
}
}
+ /**
+ * @deprecated use {@link #test(Value)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(Value value) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(value);
+ }
+
@Override
public String toString() {
return "'" + pattern + '\'';
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
index 40f7ec82b7..05de2b3fd4 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/FilterBuilder.java
@@ -34,10 +34,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Predicate;
import java.util.regex.Pattern;
import com.google.common.base.Objects;
-import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import org.apache.jackrabbit.oak.api.PropertyState;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicate.java
index f4a441d9d7..2d961a1cad 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicate.java
@@ -21,8 +21,10 @@ package org.apache.jackrabbit.oak.plugins.observation.filter;
import static com.google.common.base.Preconditions.checkNotNull;
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
+
import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.jetbrains.annotations.NotNull;
@@ -31,7 +33,7 @@ import org.jetbrains.annotations.NotNull;
* the node has a property of the given {@code name} and the given
* {@code propertyPredicate} holds on that property.
*/
-public class PropertyPredicate implements Predicate<NodeState> {
+public class PropertyPredicate implements Predicate<NodeState>, com.google.common.base.Predicate<NodeState> {
private final String name;
private final Predicate<PropertyState> propertyPredicate;
@@ -46,8 +48,18 @@ public class PropertyPredicate implements Predicate<NodeState> {
}
@Override
- public boolean apply(NodeState node) {
+ public boolean test(NodeState node) {
PropertyState property = node.getProperty(name);
- return property != null && propertyPredicate.apply(property);
+ return property != null && propertyPredicate.test(property);
+ }
+
+ /**
+ * @deprecated use {@link #test(NodeState)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(NodeState node) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(node);
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UniversalFilter.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UniversalFilter.java
index 786098343b..0e6d5fc659 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UniversalFilter.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UniversalFilter.java
@@ -22,7 +22,7 @@ package org.apache.jackrabbit.oak.plugins.observation.filter;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NODE;
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -111,37 +111,37 @@ public class UniversalFilter implements EventFilter {
@Override
public boolean includeAdd(PropertyState after) {
- return predicate.apply(selector.select(this, null, after));
+ return predicate.test(selector.select(this, null, after));
}
@Override
public boolean includeChange(PropertyState before, PropertyState after) {
- return predicate.apply(selector.select(this, before, after));
+ return predicate.test(selector.select(this, before, after));
}
@Override
public boolean includeDelete(PropertyState before) {
- return predicate.apply(selector.select(this, before, null));
+ return predicate.test(selector.select(this, before, null));
}
@Override
public boolean includeAdd(String name, NodeState after) {
- return predicate.apply(selector.select(this, name, MISSING_NODE, after));
+ return predicate.test(selector.select(this, name, MISSING_NODE, after));
}
@Override
public boolean includeDelete(String name, NodeState before) {
- return predicate.apply(selector.select(this, name, before, MISSING_NODE));
+ return predicate.test(selector.select(this, name, before, MISSING_NODE));
}
@Override
public boolean includeMove(String sourcePath, String name, NodeState moved) {
- return predicate.apply(selector.select(this, name, MISSING_NODE, moved));
+ return predicate.test(selector.select(this, name, MISSING_NODE, moved));
}
@Override
public boolean includeReorder(String destName, String name, NodeState reordered) {
- return predicate.apply(selector.select(this, name, MISSING_NODE, reordered));
+ return predicate.test(selector.select(this, name, MISSING_NODE, reordered));
}
@Override
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicate.java
index 767de06377..8cd95e8b28 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicate.java
@@ -22,9 +22,11 @@ package org.apache.jackrabbit.oak.plugins.observation.filter;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.apache.jackrabbit.JcrConstants.JCR_UUID;
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
+
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
+import org.apache.jackrabbit.oak.core.GuavaDeprecation;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.jetbrains.annotations.NotNull;
@@ -34,7 +36,7 @@ import org.jetbrains.annotations.NotNull;
* property and the value of that property matches any of the UUIDs that
* has been passed to the predicate's constructor.
*/
-public class UuidPredicate implements Predicate<NodeState> {
+public class UuidPredicate implements Predicate<NodeState>, com.google.common.base.Predicate<NodeState> {
private final String[] uuids;
/**
@@ -45,7 +47,7 @@ public class UuidPredicate implements Predicate<NodeState> {
}
@Override
- public boolean apply(NodeState node) {
+ public boolean test(NodeState node) {
if (uuids.length == 0) {
return false;
}
@@ -63,4 +65,14 @@ public class UuidPredicate implements Predicate<NodeState> {
}
return false;
}
+
+ /**
+ * @deprecated use {@link #test(NodeState)} instead (see <a href="https://issues.apache.org/jira/browse/OAK-8874">OAK-8874</a>)
+ */
+ @Deprecated
+ @Override
+ public boolean apply(NodeState node) {
+ GuavaDeprecation.handleCall("OAK-8874");
+ return test(node);
+ }
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadWriteVersionManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadWriteVersionManager.java
index ca27c4bd30..d20b9d374a 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadWriteVersionManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadWriteVersionManager.java
@@ -624,7 +624,7 @@ public class ReadWriteVersionManager extends ReadOnlyVersionManager {
for (ChildNodeEntry entry : versionHistory.getChildNodeEntries()) {
String name = entry.getName();
NodeState node = entry.getNodeState();
- if (!JCR_ROOTVERSION.equals(name) && isVersion.apply(node)) {
+ if (!JCR_ROOTVERSION.equals(name) && isVersion.test(node)) {
return false; // a checked-in version
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
index 26202777c0..c46cb5a13c 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
@@ -220,7 +220,7 @@ class AccessControlValidator extends DefaultValidator implements AccessControlCo
throw accessViolation(5, "Access control policy within access control content (" + accessControlledTree.getPath() + ')');
}
- if (!requiredMixin.apply(treeProvider.asNodeState(accessControlledTree))) {
+ if (!requiredMixin.test(treeProvider.asNodeState(accessControlledTree))) {
String msg = "Isolated policy node (" + accessControlledTree.getPath() + "). Parent is not of type " + requiredMixin;
throw accessViolation(6, msg);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
index 8126d1afa0..9ec9cdf9fd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionHook.java
@@ -155,7 +155,7 @@ public class PermissionHook implements PostValidationHook, AccessControlConstant
return true;
}
String path = parentPath + '/' + name;
- if (isACL.apply(after)) {
+ if (isACL.test(after)) {
PermissionStoreEditor psEditor = createPermissionStoreEditor(name, after);
modified.put(psEditor.getPath(), psEditor);
} else {
@@ -171,8 +171,8 @@ public class PermissionHook implements PostValidationHook, AccessControlConstant
return true;
}
String path = parentPath + '/' + name;
- if (isACL.apply(before)) {
- if (isACL.apply(after)) {
+ if (isACL.test(before)) {
+ if (isACL.test(after)) {
PermissionStoreEditor psEditor = createPermissionStoreEditor(name, after);
modified.put(psEditor.getPath(), psEditor);
@@ -187,7 +187,7 @@ public class PermissionHook implements PostValidationHook, AccessControlConstant
PermissionStoreEditor psEditor = createPermissionStoreEditor(name, before);
deleted.put(psEditor.getPath(), psEditor);
}
- } else if (isACL.apply(after)) {
+ } else if (isACL.test(after)) {
PermissionStoreEditor psEditor = createPermissionStoreEditor(name, after);
modified.put(psEditor.getPath(), psEditor);
} else {
@@ -203,7 +203,7 @@ public class PermissionHook implements PostValidationHook, AccessControlConstant
return true;
}
String path = parentPath + '/' + name;
- if (isACL.apply(before)) {
+ if (isACL.test(before)) {
PermissionStoreEditor psEditor = createPermissionStoreEditor(name, before);
deleted.put(psEditor.getPath(), psEditor);
} else {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
index 9c10bbcc55..61f8ee6b5a 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditor.java
@@ -80,8 +80,8 @@ final class PermissionStoreEditor implements AccessControlConstants, PermissionC
int index = 0;
for (String childName : orderedChildNames) {
NodeState ace = node.getChildNode(childName);
- if (isACE.apply(ace)) {
- boolean isAllow = isGrantACE.apply(ace);
+ if (isACE.test(ace)) {
+ boolean isAllow = isGrantACE.test(ace);
PrivilegeBits privilegeBits = bitsProvider.getBits(ace.getNames(REP_PRIVILEGES));
Set<Restriction> restrictions = restrictionProvider.readRestrictions(Strings.emptyToNull(accessControlledPath), treeProvider.createReadOnlyTree(ace));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
index afb963c719..fae0a08b06 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionValidator.java
@@ -317,11 +317,11 @@ class PermissionValidator extends DefaultValidator {
// doesn't reveal if a given property is expected to be never modified
// after creation.
NodeState parentNs = provider.getTreeProvider().asNodeState(parent);
- if (JcrConstants.JCR_UUID.equals(name) && isReferenceable.apply(parentNs)) {
+ if (JcrConstants.JCR_UUID.equals(name) && isReferenceable.test(parentNs)) {
return true;
} else {
return (JCR_CREATED.equals(name) || JCR_CREATEDBY.equals(name))
- && isCreated.apply(parentNs);
+ && isCreated.test(parentNs);
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
index ec4ab89797..37688d1a90 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheValidatorProvider.java
@@ -137,7 +137,7 @@ class CacheValidatorProvider extends ValidatorProvider implements CacheConstants
}
private boolean isCache(@NotNull Tree tree) {
- return (REP_CACHE.equals(tree.getName()) || cachePredicate.apply(tree));
+ return (REP_CACHE.equals(tree.getName()) || cachePredicate.test(tree));
}
private void checkValidCommit() throws CommitFailedException {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/NodeTypePredicateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/NodeTypePredicateTest.java
index 20fdd3128a..ac35848727 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/NodeTypePredicateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/NodeTypePredicateTest.java
@@ -40,21 +40,21 @@ public class NodeTypePredicateTest {
public void emptyNodeTypeList() {
NodeState node = createNodeOfType(NT_BASE);
TypePredicate p = new TypePredicate(node, new String[] {});
- assertFalse(p.apply(node));
+ assertFalse(p.test(node));
}
@Test
public void singleNodeTypeMatch() {
NodeState node = createNodeOfType(NT_BASE);
TypePredicate p = new TypePredicate(node, new String[] {NT_BASE});
- assertTrue(p.apply(node));
+ assertTrue(p.test(node));
}
@Test
public void singleNodeTypeMiss() {
NodeState node = createNodeOfType(NT_BASE);
TypePredicate p = new TypePredicate(node, new String[] {NT_FILE});
- assertFalse(p.apply(node));
+ assertFalse(p.test(node));
}
@Test
@@ -62,7 +62,7 @@ public class NodeTypePredicateTest {
NodeState node = createNodeOfType(NT_FILE);
TypePredicate p = new TypePredicate(node,
new String[] { NT_FOLDER, NT_RESOURCE, NT_FILE });
- assertTrue(p.apply(node));
+ assertTrue(p.test(node));
}
@Test
@@ -70,7 +70,7 @@ public class NodeTypePredicateTest {
NodeState node = createNodeOfType(NT_FILE);
TypePredicate p = new TypePredicate(node,
new String[] { NT_FOLDER, NT_RESOURCE, JCR_CONTENT });
- assertFalse(p.apply(node));
+ assertFalse(p.test(node));
}
private static NodeState createNodeOfType(String ntName) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicateTest.java
index 04d0bfbde1..605bbfff1a 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/PropertyPredicateTest.java
@@ -24,7 +24,8 @@ import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
+
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.junit.Test;
@@ -37,12 +38,12 @@ public class PropertyPredicateTest {
final String value = "bar";
PropertyPredicate p = new PropertyPredicate(name, new Predicate<PropertyState>() {
@Override
- public boolean apply(PropertyState property) {
+ public boolean test(PropertyState property) {
return value.equals(property.getValue(STRING));
}
});
- assertTrue(p.apply(createWithProperty(name, value)));
+ assertTrue(p.test(createWithProperty(name, value)));
}
@Test
@@ -51,12 +52,12 @@ public class PropertyPredicateTest {
final String value = "bar";
PropertyPredicate p = new PropertyPredicate(name, new Predicate<PropertyState>() {
@Override
- public boolean apply(PropertyState property) {
+ public boolean test(PropertyState property) {
return "baz".equals(property.getValue(STRING));
}
});
- assertFalse(p.apply(createWithProperty(name, value)));
+ assertFalse(p.test(createWithProperty(name, value)));
}
@Test
@@ -65,12 +66,12 @@ public class PropertyPredicateTest {
final String value = "bar";
PropertyPredicate p = new PropertyPredicate("any", new Predicate<PropertyState>() {
@Override
- public boolean apply(PropertyState property) {
+ public boolean test(PropertyState property) {
return value.equals(property.getValue(STRING));
}
});
- assertFalse(p.apply(createWithProperty(name, value)));
+ assertFalse(p.test(createWithProperty(name, value)));
}
private static NodeState createWithProperty(String name, String value) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/SelectorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/SelectorTest.java
index fb82f728f0..120c9c1b31 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/SelectorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/SelectorTest.java
@@ -19,18 +19,18 @@
package org.apache.jackrabbit.oak.plugins.observation.filter;
-import static com.google.common.base.Predicates.alwaysTrue;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.junit.Assert.assertEquals;
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
+
import org.apache.jackrabbit.oak.plugins.observation.filter.UniversalFilter.Selector;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.junit.Test;
public class SelectorTest {
- public static final Predicate<NodeState> ALL = alwaysTrue();
+ public static final Predicate<NodeState> ALL = x -> true;
private final NodeState root = createRoot();
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicateTest.java
index de56ce4661..825b78d026 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/observation/filter/UuidPredicateTest.java
@@ -20,7 +20,6 @@
package org.apache.jackrabbit.oak.plugins.observation.filter;
import static org.apache.jackrabbit.JcrConstants.JCR_UUID;
-import static org.apache.jackrabbit.oak.commons.UUIDUtils.generateUUID;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -35,7 +34,7 @@ public class UuidPredicateTest {
public void emptyUuidList() {
UuidPredicate p = new UuidPredicate(new String[] {});
NodeState tree = createNodeWithUuid(UUIDUtils.generateUUID());
- assertFalse(p.apply(tree));
+ assertFalse(p.test(tree));
}
@Test
@@ -43,14 +42,14 @@ public class UuidPredicateTest {
String uuid = UUIDUtils.generateUUID();
UuidPredicate p = new UuidPredicate(new String[] {uuid});
NodeState tree = createNodeWithUuid(uuid);
- assertTrue(p.apply(tree));
+ assertTrue(p.test(tree));
}
@Test
public void singleUuidMiss() {
UuidPredicate p = new UuidPredicate(new String[] {UUIDUtils.generateUUID()});
NodeState tree = createNodeWithUuid(UUIDUtils.generateUUID());
- assertFalse(p.apply(tree));
+ assertFalse(p.test(tree));
}
@Test
@@ -59,7 +58,7 @@ public class UuidPredicateTest {
UuidPredicate p = new UuidPredicate(
new String[] {UUIDUtils.generateUUID(), UUIDUtils.generateUUID(), uuid});
NodeState tree = createNodeWithUuid(uuid);
- assertTrue(p.apply(tree));
+ assertTrue(p.test(tree));
}
@Test
@@ -67,7 +66,7 @@ public class UuidPredicateTest {
UuidPredicate p = new UuidPredicate(
new String[] {UUIDUtils.generateUUID(), UUIDUtils.generateUUID(), UUIDUtils.generateUUID()});
NodeState tree = createNodeWithUuid(UUIDUtils.generateUUID());
- assertFalse(p.apply(tree));
+ assertFalse(p.test(tree));
}
private static NodeState createNodeWithUuid(String uuid) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditorTest.java
index f1db53a0a5..1bd20d28e6 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/PermissionStoreEditorTest.java
@@ -114,8 +114,8 @@ public class PermissionStoreEditorTest extends AbstractSecurityTest {
new PermissionStoreEditor("/test", AccessControlConstants.REP_POLICY, nodeState, mock(NodeBuilder.class), isACE, isGrantACE, bitsProvider, restrictionProvider, getTreeProvider());
verify(nodeState, times(3)).getChildNode(anyString());
- verify(isACE, times(3)).apply(nodeState);
- verify(isGrantACE, never()).apply(nodeState);
+ verify(isACE, times(3)).test(nodeState);
+ verify(isGrantACE, never()).test(nodeState);
}
@Test
@@ -131,8 +131,8 @@ public class PermissionStoreEditorTest extends AbstractSecurityTest {
createPermissionStoreEditor(nodeState, mock(NodeBuilder.class));
verify(nodeState, times(3)).getChildNode(anyString());
- verify(isACE, times(3)).apply(ace);
- verify(isGrantACE, times(3)).apply(ace);
+ verify(isACE, times(3)).test(ace);
+ verify(isGrantACE, times(3)).test(ace);
}
@Test
@@ -311,4 +311,4 @@ public class PermissionStoreEditorTest extends AbstractSecurityTest {
// only the existing 'entry' child gets removed. the collision is not touched
verify(child, times(1)).remove();
}
-}
\ No newline at end of file
+}
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
index a2e2bc768e..d5d706338a 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/OakEventFilterImpl.java
@@ -103,31 +103,31 @@ public class OakEventFilterImpl extends OakEventFilter {
@Override
public boolean includeAdd(String name, NodeState after) {
- return includeThis && predicate.apply(after);
+ return includeThis && predicate.test(after);
}
@Override
public boolean includeDelete(String name, NodeState before) {
- return includeThis && predicate.apply(before);
+ return includeThis && predicate.test(before);
}
@Override
public boolean includeMove(String sourcePath, String name, NodeState moved) {
- return includeThis && predicate.apply(moved);
+ return includeThis && predicate.test(moved);
}
@Override
public boolean includeReorder(String destName, String name, NodeState reordered) {
- return includeThis && predicate.apply(reordered);
+ return includeThis && predicate.test(reordered);
}
@Override
public EventFilter create(String name, NodeState before, NodeState after) {
boolean predicateMatches = false;
if (after.exists()) {
- predicateMatches = predicate.apply(after);
+ predicateMatches = predicate.test(after);
} else {
- predicateMatches = predicate.apply(before);
+ predicateMatches = predicate.test(before);
}
if (predicateMatches) {
// greedy match - we switch to the globbing path filters
@@ -174,7 +174,7 @@ public class OakEventFilterImpl extends OakEventFilter {
for (int i = 0; i < depth; i++) {
ChildNodeEntry child = parents.get(i);
NodeState nodeState = child.getNodeState();
- if (!nodeTypePredicate.apply(nodeState)) {
+ if (!nodeTypePredicate.test(nodeState)) {
continue;
}
if (i + 1 <= depth) {
@@ -196,7 +196,7 @@ public class OakEventFilterImpl extends OakEventFilter {
for (int i = 0; i < depth; i++) {
ChildNodeEntry child = parents.get(i);
NodeState nodeState = child.getNodeState();
- if (!nodeTypePredicate.apply(nodeState)) {
+ if (!nodeTypePredicate.test(nodeState)) {
continue;
}
if (i + 1 <= depth) {
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
index 33ae5f9aef..58c76e3715 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
@@ -57,6 +57,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Predicate;
import javax.jcr.AccessDeniedException;
import javax.jcr.InvalidItemStateException;
@@ -82,7 +83,6 @@ import javax.jcr.observation.EventListener;
import javax.jcr.observation.ObservationManager;
import javax.jcr.version.VersionException;
-import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
@@ -1005,7 +1005,7 @@ public class ObservationTest extends AbstractRepositoryTest {
builder.condition(builder.property(Selectors.PARENT, "foo",
new Predicate<PropertyState>() {
@Override
- public boolean apply(PropertyState property) {
+ public boolean test(PropertyState property) {
return "bar".equals(property.getValue(STRING));
}
}));
@@ -1042,7 +1042,7 @@ public class ObservationTest extends AbstractRepositoryTest {
builder.condition(builder.property(Selectors.fromThis("b/c"), "foo",
new Predicate<PropertyState>() {
@Override
- public boolean apply(PropertyState property) {
+ public boolean test(PropertyState property) {
return "bar".equals(property.getValue(STRING));
}
}));
diff --git a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/JackrabbitNodeState.java b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/JackrabbitNodeState.java
index fb98237c26..44eafe8ffa 100644
--- a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/JackrabbitNodeState.java
+++ b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/JackrabbitNodeState.java
@@ -357,7 +357,7 @@ class JackrabbitNodeState extends AbstractNodeState {
}
private void setChildOrder() {
- if (isOrderable.apply(this)) {
+ if (isOrderable.test(this)) {
properties.put(OAK_CHILD_ORDER, PropertyStates.createProperty(
OAK_CHILD_ORDER, nodes.keySet(), Type.NAMES));
}
@@ -425,7 +425,7 @@ class JackrabbitNodeState extends AbstractNodeState {
}
if (bundle.isReferenceable()
- || isReferenceable.apply(primary, mixins)) {
+ || isReferenceable.test(primary, mixins)) {
properties.put(JCR_UUID, PropertyStates.createProperty(
JCR_UUID, bundle.getId().toString()));
}
@@ -439,7 +439,7 @@ class JackrabbitNodeState extends AbstractNodeState {
PropertyState frozenUuid = properties.get(JCR_FROZENUUID);
if (frozenUuid != null
&& frozenUuid.getType() == STRING
- && isFrozenNode.apply(this)) {
+ && isFrozenNode.test(this)) {
String frozenPrimary = NT_BASE;
Set<String> frozenMixins = newHashSet();
@@ -452,7 +452,7 @@ class JackrabbitNodeState extends AbstractNodeState {
addAll(frozenMixins, property.getValue(NAMES));
}
- if (!isReferenceable.apply(frozenPrimary, frozenMixins)) {
+ if (!isReferenceable.test(frozenPrimary, frozenMixins)) {
String parentFrozenUuid = parent.getString(JCR_FROZENUUID);
if (parentFrozenUuid != null) {
frozenUuid = PropertyStates.createProperty(
diff --git a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/SameNameSiblingsEditor.java b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/SameNameSiblingsEditor.java
index 930b172309..6ab91e2155 100644
--- a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/SameNameSiblingsEditor.java
+++ b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/SameNameSiblingsEditor.java
@@ -277,9 +277,9 @@ public class SameNameSiblingsEditor extends DefaultEditor {
public boolean applies(NodeState parent, String childName) {
boolean result = true;
- result &= parentType.apply(parent);
+ result &= parentType.test(parent);
result &= childNameConstraint == null || childName.startsWith(this.childNameConstraint + '[');
- result &= childType.apply(parent.getChildNode(childName));
+ result &= childType.test(parent.getChildNode(childName));
return result;
}
diff --git a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/RestrictionEditor.java b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/RestrictionEditor.java
index a81dfe60d5..0428d1d514 100644
--- a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/RestrictionEditor.java
+++ b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/security/RestrictionEditor.java
@@ -50,7 +50,7 @@ public class RestrictionEditor extends DefaultEditor {
@Override
public void leave(NodeState before, NodeState after) {
if (glob != null
- && isACE.apply(after)
+ && isACE.test(after)
&& !builder.hasChildNode(REP_RESTRICTIONS)) {
NodeBuilder restrictions = builder.setChildNode(REP_RESTRICTIONS);
restrictions.setProperty(JCR_PRIMARYTYPE, NT_REP_RESTRICTIONS, NAME);