[Releng] Deprecate org.eclipse.net4j.util.Predicate in favor of java.util.function.Predicate
diff --git a/plugins/org.eclipse.emf.cdo.common/.settings/.api_filters b/plugins/org.eclipse.emf.cdo.common/.settings/.api_filters
index a4a60d1..4daa230 100644
--- a/plugins/org.eclipse.emf.cdo.common/.settings/.api_filters
+++ b/plugins/org.eclipse.emf.cdo.common/.settings/.api_filters
@@ -247,6 +247,24 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/cdo/common/revision/CDORevisionData.java" type="org.eclipse.emf.cdo.common.revision.CDORevisionData">
+ <filter id="1209008130">
+ <message_arguments>
+ <message_argument value="4.2"/>
+ <message_argument value="4.9"/>
+ <message_argument value="accept(CDORevisionValueVisitor, Predicate<EStructuralFeature>)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.java" type="org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta">
+ <filter id="1209008130">
+ <message_arguments>
+ <message_argument value="4.2"/>
+ <message_argument value="4.9"/>
+ <message_argument value="accept(CDOFeatureDeltaVisitor, Predicate<EStructuralFeature>)"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/cdo/common/util/RepositoryStateChangedEvent.java" type="org.eclipse.emf.cdo.common.util.RepositoryStateChangedEvent">
<filter id="576725006">
<message_arguments>
@@ -364,6 +382,13 @@
<message_argument value="AbstractCDORevision"/>
</message_arguments>
</filter>
+ <filter id="1141899266">
+ <message_arguments>
+ <message_argument value="4.2"/>
+ <message_argument value="4.9"/>
+ <message_argument value="accept(CDORevisionValueVisitor, Predicate<EStructuralFeature>)"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java" type="org.eclipse.emf.cdo.spi.common.revision.DelegatingCDORevision">
<filter id="576725006">
@@ -372,6 +397,13 @@
<message_argument value="DelegatingCDORevision"/>
</message_arguments>
</filter>
+ <filter id="1141899266">
+ <message_arguments>
+ <message_argument value="4.2"/>
+ <message_argument value="4.9"/>
+ <message_argument value="accept(CDORevisionValueVisitor, Predicate<EStructuralFeature>)"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevisionManager.java" type="org.eclipse.emf.cdo.spi.common.revision.DelegatingCDORevisionManager">
<filter id="576725006">
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFPredicates.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFPredicates.java
new file mode 100644
index 0000000..54497f0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFPredicates.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2009-2013, 2015, 2016, 2018, 2019 Eike Stepper (Loehne, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ * Victor Roldan Betancort - maintenance
+ * Simon McDuff - maintenance
+ * Christian W. Damus (CEA) - support registered dynamic UML profiles
+ * Christian W. Damus (CEA) - don't process EAnnotations for proxy resolution
+ */
+package org.eclipse.emf.cdo.common.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import java.util.function.Predicate;
+
+/**
+ * Predefined {@link java.util.function.Predicate predicates} to test for various {@link EStructuralFeature feature} types.
+ *
+ * @author Eike Stepper
+ * @since 4.9
+ */
+public final class EMFPredicates
+{
+ public static final Predicate<EStructuralFeature> ATTRIBUTES = new Predicate<EStructuralFeature>()
+ {
+ @Override
+ public boolean test(EStructuralFeature feature)
+ {
+ return feature instanceof EAttribute;
+ }
+ };
+
+ public static final Predicate<EStructuralFeature> REFERENCES = new Predicate<EStructuralFeature>()
+ {
+ @Override
+ public boolean test(EStructuralFeature feature)
+ {
+ return feature instanceof EReference;
+ }
+ };
+
+ public static final Predicate<EStructuralFeature> CONTAINER_REFERENCES = new Predicate<EStructuralFeature>()
+ {
+ @Override
+ public boolean test(EStructuralFeature feature)
+ {
+ if (feature instanceof EReference)
+ {
+ EReference reference = (EReference)feature;
+ return reference.isContainer();
+ }
+
+ return false;
+ }
+ };
+
+ public static final Predicate<EStructuralFeature> CROSS_REFERENCES = new Predicate<EStructuralFeature>()
+ {
+ @Override
+ public boolean test(EStructuralFeature feature)
+ {
+ if (feature instanceof EReference)
+ {
+ EReference reference = (EReference)feature;
+ return !(reference.isContainer() || reference.isContainment());
+ }
+
+ return false;
+ }
+ };
+
+ public static final Predicate<EStructuralFeature> CONTAINMENT_REFERENCES = new Predicate<EStructuralFeature>()
+ {
+ @Override
+ public boolean test(EStructuralFeature feature)
+ {
+ if (feature instanceof EReference)
+ {
+ EReference reference = (EReference)feature;
+ return reference.isContainment();
+ }
+
+ return false;
+ }
+ };
+
+ private EMFPredicates()
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFUtil.java
index cac1880..dea292b 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFUtil.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/EMFUtil.java
@@ -16,7 +16,6 @@
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry;
-import org.eclipse.net4j.util.Predicate;
import org.eclipse.net4j.util.WrappedException;
import org.eclipse.emf.common.notify.Adapter;
@@ -118,8 +117,10 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link EMFPredicates#ATTRIBUTES}.
*/
- public static final Predicate<EStructuralFeature> ATTRIBUTES = new Predicate<EStructuralFeature>()
+ @Deprecated
+ public static final org.eclipse.net4j.util.Predicate<EStructuralFeature> ATTRIBUTES = new org.eclipse.net4j.util.Predicate<EStructuralFeature>()
{
@Override
public boolean apply(EStructuralFeature feature)
@@ -130,8 +131,10 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link EMFPredicates#REFERENCES}.
*/
- public static final Predicate<EStructuralFeature> REFERENCES = new Predicate<EStructuralFeature>()
+ @Deprecated
+ public static final org.eclipse.net4j.util.Predicate<EStructuralFeature> REFERENCES = new org.eclipse.net4j.util.Predicate<EStructuralFeature>()
{
@Override
public boolean apply(EStructuralFeature feature)
@@ -142,8 +145,10 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link EMFPredicates#CONTAINER_REFERENCES}.
*/
- public static final Predicate<EStructuralFeature> CONTAINER_REFERENCES = new Predicate<EStructuralFeature>()
+ @Deprecated
+ public static final org.eclipse.net4j.util.Predicate<EStructuralFeature> CONTAINER_REFERENCES = new org.eclipse.net4j.util.Predicate<EStructuralFeature>()
{
@Override
public boolean apply(EStructuralFeature feature)
@@ -160,8 +165,10 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link EMFPredicates#CROSS_REFERENCES}.
*/
- public static final Predicate<EStructuralFeature> CROSS_REFERENCES = new Predicate<EStructuralFeature>()
+ @Deprecated
+ public static final org.eclipse.net4j.util.Predicate<EStructuralFeature> CROSS_REFERENCES = new org.eclipse.net4j.util.Predicate<EStructuralFeature>()
{
@Override
public boolean apply(EStructuralFeature feature)
@@ -178,8 +185,10 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link EMFPredicates#CONTAINMENT_REFERENCES}.
*/
- public static final Predicate<EStructuralFeature> CONTAINMENT_REFERENCES = new Predicate<EStructuralFeature>()
+ @Deprecated
+ public static final org.eclipse.net4j.util.Predicate<EStructuralFeature> CONTAINMENT_REFERENCES = new org.eclipse.net4j.util.Predicate<EStructuralFeature>()
{
@Override
public boolean apply(EStructuralFeature feature)
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDORevisionData.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDORevisionData.java
index 2489582..34dad18 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDORevisionData.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/CDORevisionData.java
@@ -12,8 +12,6 @@
import org.eclipse.emf.cdo.common.id.CDOID;
-import org.eclipse.net4j.util.Predicate;
-
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder;
import org.eclipse.emf.ecore.impl.BasicEObjectImpl;
@@ -118,6 +116,13 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link #accept(CDORevisionValueVisitor, java.util.function.Predicate)}.
*/
- public void accept(CDORevisionValueVisitor visitor, Predicate<EStructuralFeature> filter);
+ @Deprecated
+ public void accept(CDORevisionValueVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter);
+
+ /**
+ * @since 4.9
+ */
+ public void accept(CDORevisionValueVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter);
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.java
index 14d4ab2..0ccbd22 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/revision/delta/CDORevisionDelta.java
@@ -19,8 +19,6 @@
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
import org.eclipse.emf.cdo.internal.common.revision.delta.CDODetachedRevisionDeltaImpl;
-import org.eclipse.net4j.util.Predicate;
-
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -99,6 +97,13 @@
/**
* @since 4.2
+ * @deprecated As of 4.9 use {@link #accept(CDOFeatureDeltaVisitor, java.util.function.Predicate)}.
*/
- public void accept(CDOFeatureDeltaVisitor visitor, Predicate<EStructuralFeature> filter);
+ @Deprecated
+ public void accept(CDOFeatureDeltaVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter);
+
+ /**
+ * @since 4.9
+ */
+ public void accept(CDOFeatureDeltaVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter);
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDODetachedRevisionDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDODetachedRevisionDeltaImpl.java
index 25c4623..44b62fb 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDODetachedRevisionDeltaImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDODetachedRevisionDeltaImpl.java
@@ -18,8 +18,6 @@
import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
-import org.eclipse.net4j.util.Predicate;
-
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -119,7 +117,14 @@
}
@Override
- public void accept(CDOFeatureDeltaVisitor visitor, Predicate<EStructuralFeature> filter)
+ @Deprecated
+ public void accept(CDOFeatureDeltaVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void accept(CDOFeatureDeltaVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter)
{
throw new UnsupportedOperationException();
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java
index 943d022..e5b635f 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java
@@ -41,8 +41,6 @@
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta;
-import org.eclipse.net4j.util.Predicate;
-import org.eclipse.net4j.util.Predicates;
import org.eclipse.net4j.util.om.OMPlatform;
import org.eclipse.emf.common.util.ECollections;
@@ -370,16 +368,23 @@
@Override
public void accept(CDOFeatureDeltaVisitor visitor)
{
- accept(visitor, Predicates.<EStructuralFeature> alwaysTrue());
+ accept(visitor, (java.util.function.Predicate<EStructuralFeature>)t -> true);
}
@Override
- public void accept(CDOFeatureDeltaVisitor visitor, Predicate<EStructuralFeature> filter)
+ @Deprecated
+ public void accept(CDOFeatureDeltaVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter)
+ {
+ accept(visitor, org.eclipse.net4j.util.Predicates.toJava8(filter));
+ }
+
+ @Override
+ public void accept(CDOFeatureDeltaVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter)
{
for (CDOFeatureDelta featureDelta : featureDeltas.values())
{
EStructuralFeature feature = featureDelta.getFeature();
- if (filter.apply(feature))
+ if (filter.test(feature))
{
((CDOFeatureDeltaImpl)featureDelta).accept(visitor);
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java
index 72af3ac..11b011f 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java
@@ -28,8 +28,6 @@
import org.eclipse.net4j.util.ImplementationError;
import org.eclipse.net4j.util.ObjectUtil;
-import org.eclipse.net4j.util.Predicate;
-import org.eclipse.net4j.util.Predicates;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -193,18 +191,28 @@
@Override
public void accept(CDORevisionValueVisitor visitor)
{
- accept(visitor, Predicates.<EStructuralFeature> alwaysTrue());
+ accept(visitor, (java.util.function.Predicate<EStructuralFeature>)t -> true);
}
/**
* @since 4.2
*/
@Override
- public void accept(CDORevisionValueVisitor visitor, Predicate<EStructuralFeature> filter)
+ @Deprecated
+ public void accept(CDORevisionValueVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter)
+ {
+ accept(visitor, org.eclipse.net4j.util.Predicates.toJava8(filter));
+ }
+
+ /**
+ * @since 4.9
+ */
+ @Override
+ public void accept(CDORevisionValueVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter)
{
for (EStructuralFeature feature : classInfo.getAllPersistentFeatures())
{
- if (filter.apply(feature))
+ if (filter.test(feature))
{
if (feature.isMany())
{
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java
index 79696e0..4c9dcac 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java
@@ -27,8 +27,6 @@
import org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranch;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOClassInfo;
-import org.eclipse.net4j.util.Predicate;
-
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -522,7 +520,17 @@
* @since 4.2
*/
@Override
- public void accept(CDORevisionValueVisitor visitor, Predicate<EStructuralFeature> filter)
+ @Deprecated
+ public void accept(CDORevisionValueVisitor visitor, org.eclipse.net4j.util.Predicate<EStructuralFeature> filter)
+ {
+ getDelegate().accept(visitor, filter);
+ }
+
+ /**
+ * @since 4.2
+ */
+ @Override
+ public void accept(CDORevisionValueVisitor visitor, java.util.function.Predicate<EStructuralFeature> filter)
{
getDelegate().accept(visitor, filter);
}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStore.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStore.java
index b657bc9..345175c 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStore.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/mem/MEMStore.java
@@ -57,13 +57,11 @@
import org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl;
import org.eclipse.net4j.util.HexUtil;
-import org.eclipse.net4j.util.Predicate;
import org.eclipse.net4j.util.ReflectUtil.ExcludeFromDump;
import org.eclipse.net4j.util.collection.AbstractFilteredIterator;
import org.eclipse.net4j.util.collection.BidirectionalIterator;
import org.eclipse.net4j.util.collection.LimitedIterator;
import org.eclipse.net4j.util.collection.Pair;
-import org.eclipse.net4j.util.collection.PredicateIterator;
import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
@@ -94,6 +92,7 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import java.util.function.Predicate;
/**
* @author Simon McDuff
@@ -366,7 +365,7 @@
else if (startTime != CDOBranchPoint.UNSPECIFIED_DATE || endTime != CDOBranchPoint.UNSPECIFIED_DATE)
{
Predicate<CDOTimeProvider> predicate = forward ? new UpTo(endTime) : new DownTo(endTime);
- iterator = new PredicateIterator<>(iterator, predicate);
+ iterator = new AbstractFilteredIterator.Predicated<>(iterator, predicate);
}
while (iterator.hasNext())
@@ -1322,7 +1321,7 @@
}
@Override
- public boolean apply(CDOTimeProvider commitInfo)
+ public boolean test(CDOTimeProvider commitInfo)
{
return commitInfo.getTimeStamp() <= timeStamp;
}
@@ -1341,7 +1340,7 @@
}
@Override
- public boolean apply(CDOTimeProvider commitInfo)
+ public boolean test(CDOTimeProvider commitInfo)
{
return commitInfo.getTimeStamp() >= timeStamp;
}
diff --git a/plugins/org.eclipse.emf.cdo/.settings/.api_filters b/plugins/org.eclipse.emf.cdo/.settings/.api_filters
index 75b4b3f..48c52a3 100644
--- a/plugins/org.eclipse.emf.cdo/.settings/.api_filters
+++ b/plugins/org.eclipse.emf.cdo/.settings/.api_filters
@@ -344,6 +344,13 @@
<message_argument value="CDOTransaction"/>
</message_arguments>
</filter>
+ <filter id="1209008130">
+ <message_arguments>
+ <message_argument value="4.8"/>
+ <message_argument value="4.9"/>
+ <message_argument value="commit(Runnable, Predicate<Long>, IProgressMonitor)"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/cdo/util/CDOUtil.java" type="org.eclipse.emf.cdo.util.CDOUtil">
<filter id="421662840">
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOPushTransaction.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOPushTransaction.java
index 9b40de8..bb39785 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOPushTransaction.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOPushTransaction.java
@@ -44,7 +44,6 @@
import org.eclipse.emf.internal.cdo.bundle.OM;
import org.eclipse.net4j.util.AdapterUtil;
-import org.eclipse.net4j.util.Predicate;
import org.eclipse.net4j.util.collection.CloseableIterator;
import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType;
import org.eclipse.net4j.util.event.IListener;
@@ -286,7 +285,15 @@
}
@Override
- public <T> CommitResult<T> commit(Callable<T> callable, Predicate<Long> retry, IProgressMonitor monitor)
+ @Deprecated
+ public <T> CommitResult<T> commit(Callable<T> callable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException, Exception
+ {
+ return delegate.commit(callable, retry, monitor);
+ }
+
+ @Override
+ public <T> CommitResult<T> commit(Callable<T> callable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
throws ConcurrentAccessException, CommitException, Exception
{
return delegate.commit(callable, retry, monitor);
@@ -299,7 +306,16 @@
}
@Override
- public CDOCommitInfo commit(Runnable runnable, Predicate<Long> retry, IProgressMonitor monitor) throws ConcurrentAccessException, CommitException
+ @Deprecated
+ public CDOCommitInfo commit(Runnable runnable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException
+ {
+ return delegate.commit(runnable, retry, monitor);
+ }
+
+ @Override
+ public CDOCommitInfo commit(Runnable runnable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException
{
return delegate.commit(runnable, retry, monitor);
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOTransaction.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOTransaction.java
index 13dd525..acc5275 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOTransaction.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/transaction/CDOTransaction.java
@@ -37,7 +37,6 @@
import org.eclipse.emf.cdo.view.CDOQuery;
import org.eclipse.emf.cdo.view.CDOView;
-import org.eclipse.net4j.util.Predicate;
import org.eclipse.net4j.util.options.IOptionsEvent;
import org.eclipse.emf.common.util.URI;
@@ -268,8 +267,16 @@
/**
* @since 4.8
+ * @deprecated As of 4.9 use {@link #commit(Callable, java.util.function.Predicate, IProgressMonitor)}.
*/
- public <T> CommitResult<T> commit(Callable<T> callable, Predicate<Long> retry, IProgressMonitor monitor)
+ @Deprecated
+ public <T> CommitResult<T> commit(Callable<T> callable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException, Exception;
+
+ /**
+ * @since 4.9
+ */
+ public <T> CommitResult<T> commit(Callable<T> callable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
throws ConcurrentAccessException, CommitException, Exception;
/**
@@ -278,9 +285,18 @@
public <T> CommitResult<T> commit(Callable<T> callable, int attempts, IProgressMonitor monitor) throws ConcurrentAccessException, CommitException, Exception;
/**
- * @since 4.8
- */
- public CDOCommitInfo commit(Runnable runnable, Predicate<Long> retry, IProgressMonitor monitor) throws ConcurrentAccessException, CommitException;
+ * @since 4.8
+ * @deprecated As of 4.9 use {@link #commit(Runnable, java.util.function.Predicate, IProgressMonitor)}.
+ */
+ @Deprecated
+ public CDOCommitInfo commit(Runnable runnable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException;
+
+ /**
+ * @since 4.9
+ */
+ public CDOCommitInfo commit(Runnable runnable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException;
/**
* @since 4.8
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
index 99259f9..2c67eb1 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
@@ -139,7 +139,6 @@
import org.eclipse.net4j.util.CheckUtil;
import org.eclipse.net4j.util.ObjectUtil;
-import org.eclipse.net4j.util.Predicate;
import org.eclipse.net4j.util.WrappedException;
import org.eclipse.net4j.util.collection.AbstractCloseableIterator;
import org.eclipse.net4j.util.collection.ByteArrayWrapper;
@@ -209,6 +208,7 @@
import java.util.WeakHashMap;
import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Predicate;
/**
* @author Eike Stepper
@@ -1743,7 +1743,15 @@
}
@Override
- public <T> CommitResult<T> commit(final Callable<T> callable, Predicate<Long> retry, IProgressMonitor monitor)
+ @Deprecated
+ public <T> CommitResult<T> commit(final Callable<T> callable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException, Exception
+ {
+ return commit(callable, org.eclipse.net4j.util.Predicates.toJava8(retry), monitor);
+ }
+
+ @Override
+ public <T> CommitResult<T> commit(Callable<T> callable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
throws ConcurrentAccessException, CommitException, Exception
{
final Object[] result = { null };
@@ -1788,7 +1796,16 @@
}
@Override
- public CDOCommitInfo commit(Runnable runnable, Predicate<Long> retry, IProgressMonitor monitor) throws ConcurrentAccessException, CommitException
+ @Deprecated
+ public CDOCommitInfo commit(Runnable runnable, org.eclipse.net4j.util.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException
+ {
+ return commit(runnable, org.eclipse.net4j.util.Predicates.toJava8(retry), monitor);
+ }
+
+ @Override
+ public CDOCommitInfo commit(Runnable runnable, java.util.function.Predicate<Long> retry, IProgressMonitor monitor)
+ throws ConcurrentAccessException, CommitException
{
long start = System.currentTimeMillis();
SubMonitor subMonitor = SubMonitor.convert(monitor);
@@ -1809,7 +1826,7 @@
}
catch (ConcurrentAccessException ex)
{
- if (retry.apply(System.currentTimeMillis() - start))
+ if (retry.test(System.currentTimeMillis() - start))
{
rollback();
continue;
@@ -5073,7 +5090,7 @@
}
@Override
- public boolean apply(Long startMillis)
+ public boolean test(Long startMillis)
{
return ++attempt < attempts;
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
index 8eedbc3..6579fde 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
@@ -18,7 +18,7 @@
import org.eclipse.emf.cdo.common.commit.CDOChangeSetData;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDUtil;
-import org.eclipse.emf.cdo.common.model.EMFUtil;
+import org.eclipse.emf.cdo.common.model.EMFPredicates;
import org.eclipse.emf.cdo.common.revision.CDOList;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
import org.eclipse.emf.cdo.common.revision.CDORevisionValueVisitor;
@@ -363,11 +363,11 @@
{
recurse(objectsUpdater, (CDOID)value);
}
- }, EMFUtil.CONTAINMENT_REFERENCES);
+ }, EMFPredicates.CONTAINMENT_REFERENCES);
}
}
}
- }, EMFUtil.CONTAINMENT_REFERENCES);
+ }, EMFPredicates.CONTAINMENT_REFERENCES);
}
private Map<CDOID, CDORevisionDelta> getRemoteDeltas(CDOChangeSet remoteChangeSet)
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/table/ComposedRange.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/table/ComposedRange.java
index 8d1be76..e87e640 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/table/ComposedRange.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/table/ComposedRange.java
@@ -10,10 +10,9 @@
*/
package org.eclipse.net4j.internal.util.table;
-import org.eclipse.net4j.util.Predicates;
+import org.eclipse.net4j.util.collection.AbstractFilteredIterator;
import org.eclipse.net4j.util.collection.AbstractIterator;
import org.eclipse.net4j.util.collection.ComposedIterator;
-import org.eclipse.net4j.util.collection.PredicateIterator;
import java.util.ArrayList;
import java.util.HashSet;
@@ -85,10 +84,11 @@
}
}
- iterator = new PredicateIterator<>(Predicates.excluded(excludedCells), iterator);
+ iterator = new AbstractFilteredIterator.Predicated<>(t -> !excludedCells.contains(t), iterator);
}
- return new PredicateIterator<>(Predicates.unique(), iterator);
+ Set<Cell> tested = new HashSet<>();
+ return new AbstractFilteredIterator.Predicated<>(t -> tested.add(t), iterator);
}
private static void addRanges(List<Range> list, Range... ranges)
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicate.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicate.java
index 968a957..808d69a 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicate.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicate.java
@@ -13,8 +13,32 @@
/**
* @author Eike Stepper
* @since 3.3
+ * @deprecated As of 3.10 use {@link java.util.function.Predicate}.
*/
+@Deprecated
public interface Predicate<T>
{
public boolean apply(T element);
+
+ /**
+ * @author Eike Stepper
+ * @since 3.10
+ * @deprecated As of 3.10 use {@link java.util.function.Predicate}.
+ */
+ @Deprecated
+ public static final class DelegatingPredicate<T> implements Predicate<T>
+ {
+ private final java.util.function.Predicate<T> delegate;
+
+ public DelegatingPredicate(java.util.function.Predicate<T> delegate)
+ {
+ this.delegate = delegate;
+ }
+
+ @Override
+ public boolean apply(T element)
+ {
+ return delegate.test(element);
+ }
+ }
}
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicates.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicates.java
index b007c18..30d9df3 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicates.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/Predicates.java
@@ -16,7 +16,9 @@
/**
* @author Eike Stepper
* @since 3.3
+ * @deprecated As of 3.10 use {@link java.util.function.Predicate}.
*/
+@Deprecated
public final class Predicates
{
private Predicates()
@@ -24,6 +26,36 @@
}
/**
+ * @since 3.10
+ */
+ public static <T> java.util.function.Predicate<T> toJava8(Predicate<T> from)
+ {
+ return new java.util.function.Predicate<T>()
+ {
+ @Override
+ public boolean test(T t)
+ {
+ return from.apply(t);
+ }
+ };
+ }
+
+ /**
+ * @since 3.10
+ */
+ public static <T> Predicate<T> fromJava8(java.util.function.Predicate<T> from)
+ {
+ return new Predicate<T>()
+ {
+ @Override
+ public boolean apply(T t)
+ {
+ return from.test(t);
+ }
+ };
+ }
+
+ /**
* @since 3.4
*/
public static <T> Predicate<T> included(Set<T> inclusions)
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/AbstractFilteredIterator.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/AbstractFilteredIterator.java
index 2ba6a9e..1dac546 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/AbstractFilteredIterator.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/AbstractFilteredIterator.java
@@ -43,4 +43,36 @@
}
protected abstract boolean isValid(T element);
+
+ /**
+ * @author Eike Stepper
+ * @since 3.10
+ */
+ public static class Predicated<T> extends AbstractFilteredIterator<T>
+ {
+ private final java.util.function.Predicate<? super T> predicate;
+
+ public Predicated(Iterator<T> delegate, java.util.function.Predicate<? super T> predicate)
+ {
+ super(delegate);
+ this.predicate = predicate;
+ }
+
+ public Predicated(java.util.function.Predicate<? super T> predicate, Iterator<T> delegate)
+ {
+ super(delegate);
+ this.predicate = predicate;
+ }
+
+ public java.util.function.Predicate<? super T> getPredicate()
+ {
+ return predicate;
+ }
+
+ @Override
+ protected boolean isValid(T element)
+ {
+ return predicate.test(element);
+ }
+ }
}
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/PredicateIterator.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/PredicateIterator.java
index 9647fd2..2c5d79e 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/PredicateIterator.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/PredicateIterator.java
@@ -17,7 +17,9 @@
/**
* @author Eike Stepper
* @since 3.3
+ * @deprecated As of 3.10 use {@link AbstractFilteredIterator.Predicated}.
*/
+@Deprecated
public class PredicateIterator<T> extends AbstractFilteredIterator<T>
{
private final Predicate<? super T> predicate;